数据库迁移过程中注意的地方:
当用exp,imp导出和导入的时候,如果迁移前后的不一样,对于像表中的某些列的类型如BLOB,CLOB等,会出现导入不成功的现象,这时候就需要导入后进行相应的表的移动表空间操作,如果表空间一样,就不会存在这样的现象
迁移过程中涉及到要grant的时候,当要grant的用户或者角色不存在的时候,会弹出很多error的信息,为了导入的时间屏蔽不断弹出这些中信息,建议将那些相应的用户或者角色先创建好。
当导入用户的所有对象(schema)的时候,对于一些特殊字段会导入不成功,最好就赋予用户imp_full_database的权限,导入的时候就不会弹出错误,当导入成功后再删除
grant imp_full_database to test;
revoke imp_full_database to test; --回收权限
迁移方案的选择(二种)
直接用exp,imp
需求:OA库从32位迁移到64位平台。数据库版本由10.2.0.1 for x86升级到10.2.0.4 for x86-64
方案:通过oracle的exp 、imp进行数据库迁移。
具体步骤:
迁移前在OA库上确定好那些用户需要迁移以及赋予相应的权限
迁移前在d3main上创建用户test
create user testidentified by "test" default tablespace users;
赋予connect,resource, imp_full_database权限给test。
grant connect,resource, imp_full_database to test;
停oa应用业务。--系统工程师协助
在oa服务器上执行exp命令,导出test用户。时间为3分钟
exp oamesic/'test' owner=oamesic file=/u03/backup/expdata/oa.dmp log=/u03/backup/expdata/oa.log
copy导出资料档案到test机器上。时间为6分钟
scp /u03/backup/expdata/oa.dmp 192.168.0.10:/u03/backup/
在test上执行imp导入资料。时间为5-8分钟
imp oamesic/'test' file=/u03/backup/oa.dmp fromuser=oamesic touser=oamesic
修改oa应用业务数据库连接字符串并启动业务;-XX协助
检查oa应用是否正常;--系统工程师协助
以上如出现异常,则回退到原来机器,保证业务继续运行。
使用impdp network_link(oracle 10g)
适合那些不包括blob,clob等长字段的列,同时网络环境比较好的
迁移前在OA库上确定好那些用户需要迁移以及赋予相应的权限
迁移前在test上创建用户test
create user oamesic identified by "test" default tablespace users;
赋予connect,resource, imp_full_database权限给test。
grant connect,resource, imp_full_database to test;
迁移前在d3main上配置好网络连接符以及db_link
create public database link tolink connect to test identified by test using ‘oa’;
在oa上赋予用户exp_full_database的权限
grant exp_full_database to test;
停oa应用业务。--系统工程师协助
在test上执行impdp导入资料。时间为20分钟
impdp / as sysdba network_link=tolink schema=test remap_schema=test:test
修改oa应用业务数据库连接字符串并启动业务;--系统工程师协助
检查oa应用是否正常;--系统工程师协助