创建一个抽取oracle数据库表数据到mysql表的shell脚本
时间: 2023-08-05 12:21:49 浏览: 127
抽取oracle数据到mysql数据库的实现过程
好的,下面是一个抽取Oracle数据库表数据到MySQL表的shell脚本,你可以参考一下:
```bash
#!/bin/bash
# 设置Oracle数据库连接信息
ORACLE_USERNAME="用户名"
ORACLE_PASSWORD="密码"
ORACLE_HOST="数据库地址"
ORACLE_PORT="数据库端口"
ORACLE_SID="数据库SID"
ORACLE_TABLE="Oracle表名"
# 设置MySQL数据库连接信息
MYSQL_USERNAME="用户名"
MYSQL_PASSWORD="密码"
MYSQL_HOST="数据库地址"
MYSQL_PORT="数据库端口"
MYSQL_DATABASE="MySQL数据库名"
MYSQL_TABLE="MySQL表名"
# 导出Oracle表数据到CSV文件
sqlplus -S "${ORACLE_USERNAME}/${ORACLE_PASSWORD}@${ORACLE_HOST}:${ORACLE_PORT}/${ORACLE_SID}" <<EOF
set feedback off
set heading off
set echo off
set pagesize 0
set linesize 10000
set trimspool on
set colsep ','
spool /tmp/oracle_data.csv
select * from ${ORACLE_TABLE};
spool off
exit;
EOF
# 导入CSV文件到MySQL表中
mysql -u "${MYSQL_USERNAME}" -p"${MYSQL_PASSWORD}" -h "${MYSQL_HOST}" -P "${MYSQL_PORT}" "${MYSQL_DATABASE}" <<EOF
LOAD DATA LOCAL INFILE '/tmp/oracle_data.csv'
INTO TABLE ${MYSQL_TABLE}
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
EOF
# 删除临时文件
rm /tmp/oracle_data.csv
```
请注意,这个脚本仅供参考,具体需要根据你的实际情况进行修改。
阅读全文