Oracle迁移到MySQL总结
[日期:2012-06-01] | 来源:Linux社区 作者:chen861201 | [字体:大 中 小] |
config_Oracle2mysql.properties配置文件:这里需要注意的是:ora_hash是个10g中才有的函数这里我们从新改变下:DBMS_UTILITY.GET_HASH_VALUE这个hash函数是在网上找了好长时间才有人提到的类似与ora_hash的函数。反正这里我的理解就是为了多线程进行大数据量的搬运节约时间,作者才通过hash的方法进行控制。其他注意的地方我已经在程序里写出来一来提醒我注意二来给大家提个醒别犯我的错而浪费大家的时间。
- #for source database parameters
- source.dataSource.initialSize=10
- source.dataSource.maxIdle=20
- source.dataSource.minIdle=5
- source.dataSource.maxActive=100
- source.dataSource.maxWait=120000
- source.jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
- source.jdbc.url=jdbc:oracle:thin:@10.17.199.8:1521:lab1107
- source.jdbc.username=lab1107
- source.jdbc.password=lab1107
- #Target sync data threadNum=source.database.threadNum
- source.database.threadNum=10
- #这里的auditorid必须是主键,ora_hash是在10g中使用的,我们的9i没办法用啊。
- source.database.selectSql=select * from t_b_role where DBMS_UTILITY.GET_HASH_VALUE(roleid,1,#threadNum#)=?
- #you can input many commands and split by ";"
- source.database.sessionCommand=ALTER SESSION SET DB_FILE_MULTIBLOCK_READ_COUNT=128;
- #for target jdbc parameters
- target.dataSource.initialSize=10
- target.dataSource.maxIdle=20
- target.dataSource.minIdle=5
- target.dataSource.maxActive=100
- target.dataSource.maxWait=120000
- target.jdbc.driverClassName=com.mysql.jdbc.Driver
- target.jdbc.url=jdbc:mysql://10.5.110.239:3306/test?autoReconnect=true&characterEncoding=UTF-8
- target.jdbc.username=root
- target.jdbc.password=chen
- #target.database.insertSql=insert into test2(PATHALIASID,PATH,CREATETIME,LASTMODIFIEDTIME,OBJECTPREFIX,PATHMD5ID,COLLIDESWITH) values(?,?,?,?,?,?,?)
- target.database.insertSql=insert into T_B_ROLE(ROLEID,ROLENAME,ROLEDESC,ROLESTATUS,RECORDSTATUS,FIELD1,FIELD2,SORTNUM) values(?,?,?,?,?,?,?,?)这里必须是目标数据库中的现成的一张表。
- target.database.commitNum=1000
具体的问题大家要是遇到了,可以一起交流下。
更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12