1、V41,新增阶段提醒;2,新增问题集锦 &2015-07-29V52015-08-14数据库数据迁移手册1、 登陆中转站使用SecureCRT工具登陆到中转站10.202.33.97。1.1链接会话配置 (账号、密码:sfdev / sfdev123456)1.2 登陆中转站,点击右下链接2,、切换账号到ORACLE,并配置tnsname.ora2.1 切换到oracle账号下执行su oracle 然后输入密码: oracle2.2 配置TNSNAME.ORA 2.2.1 首先确认原SIT数据库oracle版本号,利用SQL语句查询:SELECT * FROM V$VERSION;友情提示:
2、查询原SIT数据库版本号,直接用日常连接数据库的开发&运维工具连接数据库,执行SQL语句: SELECT * FROM V$VERSION;2.2.2 选择Oracle软件环境-根据查询获取对应的版本号2.2.3 确认当前的ORACLE_HOME目录:echo $ORACLE_HOME2.2.4添加tnsname条目将目前链接数据库的网路条目添加到tnsnames.ora文件中,红色标记根据实际情况修改:注意这里需要添加两个tns条目,一个为原来的SIT数据库,一个为新SIT数据库,请注意分开理解 & 例如下: 原SIT数据库tns条目:echo LSCM_Union_10.0.44.99=(
3、DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.44.99)(PORT=1521)(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=lscm) $ORACLE_HOME/network/admin/tnsnames.ora 新SIT数据库tns条目:lscmsit=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.202.46.110)(PORT=1521)(CONNECT_DATA=(SERVER=DEDICAT
4、ED)(SERVICE_NAME=lscmsit)2.2.4 验证网路条目可用性 - 注意新、旧 SIT 均需要验证1. tnsping dbname旧:tnsping LSCM_Union_10.0.44.99新:tnsping lscmsit2. sqlplus username/passworddbname ;注意:根据实际情况替代 DBNAME ,分别验证原SIT数据库与新SIT数据库sqlplus LSCM_NEW/LSCM_NEW123LSCM_Union_10.0.44.99sqlplus LSCM/sfpwd12345#lscmsit3、导出原SIT数据库的库数据 (红色部分请
5、按实际情况修改) - 注意出现任何ORA-xxx EXP-xxx异常请参照异常问题集锦 & 联系DBA这一步分两类需求处理,根据具体需求选择:第一类:按用户迁移,该类包含两种细项选择: 首先请确认数据库字符集,原SIT数据库 & 目的SIT数据库,如果存在差异请联系DBA处理; SQL SELECT USERENV(language) FROM DUAL;第一种:导出用户下的所有数据(元数据及表数据),执行如下命令(均在OS层面):export NLS_LANG= 原SIT数据库查询出来的字符集export NLS_LANG=AMERICAN_AMERICA.AL32UTF8exp usern
6、ame/passwddbname file=/nasbk/backup/username_all_table.dmp log=/nasbk/backup/username_all_table.log owner=username1,username2, statistics=none feedback=50000exp LSCM_NEW/LSCM_NEW123LSCM_Union_10.0.44.99 file=/nasbk/backup/LSCM_NEW_all_table.dmp log=/nasbk/backup/LSCM_NEW_all_table.log owner=LSCM_NEW
7、 statistics=none feedback=50000第二种:导出用户的所有表结构,不含数据: 首先请确认数据库字符集,原SIT数据库&目的SIT数据库SQL以下均在OS层面操作:export NLS_LANG= 原SIT数据库查询出来的字符集exp username/passwddbname file=/nasbk/backup/username_all_table.dmp log=/nasbk/backup/username_all_table.log owner=username statistics=none rows=n第二类:按表迁移,该类包含两种细项选择:迁移表以及数据
8、执行(均在OS层面):exp username/passwddbname file=/nasbk/backup/username_tables.dmp log=/nasbk/backup/username_tables.log tables=tba,tbb,tbc statistics=none feedback=5000迁移表结构 执行:exp username/passwddbname file=/nasbk/backup/username_tables.dmp log=/nasbk/backup/username_tables.log tables=tba,tbb,tbc statist
9、ics=none rows=n4、数据导入目标库操作步骤-注意出现任何ORA-xxx EXP-xxx异常请参照异常问题集锦 &4.1 在中转机上添加目的数据库的tnsname条目 - 详细参考2.2.34.2 将步骤3导出的数据导入到目的数据库中 首先请确认数据库字符集,目的SIT数据库直接执行如下命令 (均在OS层面):export NLS_LANG= 新SIT数据库查询出来的字符集,注意原SIT 与新SIT 数据库字符集必须相同,否则通知DBA处理imp username/passwddbname file=/nasbk/backup/username_all_table.dmp log=
10、/nasbk/backup/username_all_table_imp.log ignore=y commit=y buffer=1024000 fromuser=username touser=usernameimp LSCM/sfpwd12345#lscmsit file=/nasbk/backup/LSCM_NEW_all_table.dmp log=/nasbk/backup/LSCM_NEW_all_table.log ignore=y commit=y buffer=1024000 fromuser=LSCM_NEW touser=LSCM至此数据迁移结束。判断对象是否都有完成迁
11、移:1. 对象数量SELECT COUNT(*) FROM USER_OBJECTS;2. 对象类型SELECT OBJECT_TYPE,COUNT(*) FROM USER_OBJECTS GROUP BY OBJECT_TYPE ORDER BY 2 DESC;异常汇总:1. 环境变量没有选择,提示异常-注意选择什么版本在 “ “前面一定会出现该版本数字,否则异常解决方法步骤:1. pwd - 确认当前目录为/home/oracle 2. 如果不是请切换到目录 cd /home/oracle 3. 重新选择版本2. 执行导出 & 导入命令必须小写 ,并且必须在OS层面3,导出的源SIT数据
12、库中是否存在指定的owner1. 检查原SIT数据库中是否存在该账号;2. 检查目的SIT数据库是否存在该账号;3. 注意fromuser为原SIT属主,touser为目的SIT属主;4, 11g 版本启用分区表新特性的解决方案异常现象为在导出数据时提示错误EXP-00006 & EXP-00113解决方案:5 数据导入过程中出现ORA-00001 的错误,原因为主键冲突;如果是第一次导入,出现该异常问题,请在源SIT 数据库中确定是否存在重复数据库,清理后重新导出&导入;如果为第N( N=2 )执行导入操作,建议清理目的SIT数据库中的所有信息,然后执行导入-转解决方案异常导入现象: 解决方案1:1. 清理新SIT数据库中的对象数据; - SELECT TRUNCATE TABLE |TABLE_NAME | ; FROM USER_TABLES;2. 执行查询出来的TRUNCATE 语句 解决方案2:1. 清理新SIT数据库中的对象;DROP |OBJECT_TYPE| |OBJECT_NAME | FROM USER_OBJECTS;2. 执行查询出来的DROP 语句6 数据库导出、导入 命令执行错误
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1