数据迁移操作指导V6Word文件下载.docx
《数据迁移操作指导V6Word文件下载.docx》由会员分享,可在线阅读,更多相关《数据迁移操作指导V6Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。
V4
1,新增阶段提醒;
2,新增问题集锦&
2015-07-29
V5
2015-08-14
数据库数据迁移手册
1、登陆中转站
使用SecureCRT工具登陆到中转站10.202.33.97。
1.1链接会话配置(账号、密码:
sfdev/sfdev123456)
1.2登陆中转站,点击右下链接
2,、切换账号到ORACLE,并配置tnsname.ora
2.1切换到oracle账号下执行su–oracle然后输入密码:
oracle
2.2配置TNSNAME.ORA
2.2.1首先确认原SIT数据库oracle版本号,利用SQL语句查询:
SELECT*FROMV$VERSION;
友情提示:
查询原SIT数据库版本号,直接用日常连接数据库的开发&
运维工具连接数据库,执行SQL语句:
SELECT*FROMV$VERSION;
2.2.2选择Oracle软件环境---根据查询获取对应的版本号
2.2.3确认当前的ORACLE_HOME目录:
echo$ORACLE_HOME
2.2.4添加tnsname条目
将目前链接数据库的网路条目添加到tnsnames.ora文件中,红色标记根据实际情况修改:
注意这里需要添加两个tns条目,一个为原来的SIT数据库,一个为新SIT数据库,请注意分开理解&
例如下:
原SIT数据库tns条目:
echo"
LSCM_Union_10.0.44.99=(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=DEDICATED)(SERVICE_NAME=lscmsit)))
2.2.4验证网路条目可用性---注意新、旧SIT均需要验证
1.tnspingdbname
旧:
tnspingLSCM_Union_10.0.44.99
新:
tnspinglscmsit
2.sqlplususername/password@dbname;
注意:
根据实际情况替代DBNAME,分别验证原SIT数据库与新SIT数据库
sqlplusLSCM_NEW/LSCM_NEW123@LSCM_Union_10.0.44.99
sqlplusLSCM/sfpwd12345#@lscmsit
3、导出原SIT数据库的库数据(红色部分请按实际情况修改)---注意出现任何ORA-xxxEXP-xxx异常请参照异常问题集锦&
联系DBA
这一步分两类需求处理,根据具体需求选择:
第一类:
按用户迁移,该类包含两种细项选择:
首先请确认数据库字符集,原SIT数据库&
目的SIT数据库,如果存在差异请联系DBA处理;
SQL>
SELECTUSERENV('
language'
)FROMDUAL;
第一种:
导出用户下的所有数据(元数据及表数据),执行如下命令(均在OS层面):
exportNLS_LANG=原SIT数据库查询出来的字符集
exportNLS_LANG=AMERICAN_AMERICA.AL32UTF8
expusername/passwd@dbnamefile=/nasbk/backup/username_all_table.dmplog=/nasbk/backup/username_all_table.logowner=username1,username2,statistics=nonefeedback=50000
expLSCM_NEW/LSCM_NEW123@LSCM_Union_10.0.44.99file=/nasbk/backup/LSCM_NEW_all_table.dmplog=/nasbk/backup/LSCM_NEW_all_table.logowner=LSCM_NEWstatistics=nonefeedback=50000
第二种:
导出用户的所有表结构,不含数据:
首先请确认数据库字符集,原SIT数据库&
目的SIT数据库
SQL>
以下均在OS层面操作:
exportNLS_LANG=原SIT数据库查询出来的字符集
expusername/passwd@dbnamefile=/nasbk/backup/username_all_table.dmplog=/nasbk/backup/username_all_table.logowner=usernamestatistics=nonerows=n
第二类:
按表迁移,该类包含两种细项选择:
迁移表以及数据执行(均在OS层面):
expusername/passwd@dbnamefile=/nasbk/backup/username_tables.dmplog=/nasbk/backup/username_tables.logtables=tba,tbb,tbc…statistics=nonefeedback=5000
迁移表结构执行:
expusername/passwd@dbnamefile=/nasbk/backup/username_tables.dmplog=/nasbk/backup/username_tables.logtables=tba,tbb,tbc…statistics=nonerows=n
4、数据导入目标库操作步骤-注意出现任何ORA-xxxEXP-xxx异常请参照异常问题集锦&
4.1在中转机上添加目的数据库的tnsname条目-------详细参考2.2.3
4.2将步骤3导出的数据导入到目的数据库中
首先请确认数据库字符集,目的SIT数据库
直接执行如下命令(均在OS层面):
exportNLS_LANG=新SIT数据库查询出来的字符集,注意原SIT与新SIT数据库字符集必须相同,否则通知DBA处理
impusername/passwd@dbnamefile=/nasbk/backup/username_all_table.dmplog=/nasbk/backup/username_all_table_imp.logignore=ycommit=ybuffer=1024000fromuser=usernametouser=username
impLSCM/sfpwd12345#@lscmsitfile=/nasbk/backup/LSCM_NEW_all_table.dmplog=/nasbk/backup/LSCM_NEW_all_table.logignore=ycommit=ybuffer=1024000fromuser=LSCM_NEWtouser=LSCM
至此数据迁移结束。
判断对象是否都有完成迁移:
1.对象数量
SELECTCOUNT(*)FROMUSER_OBJECTS;
2.对象类型
SELECTOBJECT_TYPE,COUNT(*)FROMUSER_OBJECTSGROUPBYOBJECT_TYPEORDERBY2DESC;
异常汇总:
1.环境变量没有选择,提示异常----注意选择什么版本在“>
“前面一定会出现该版本数字,否则异常
解决方法步骤:
1.pwd------确认当前目录为/home/oracle
2.如果不是请切换到目录cd/home/oracle
3.重新选择版本
2.执行导出&
导入命令必须小写,并且必须在OS层面
3,导出的源SIT数据库中是否存在指定的owner
1.检查原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'
TRUNCATETABLE'
||TABLE_NAME||'
;
'
FROMUSER_TABLES;
2.执行查询出来的TRUNCATE语句
解决方案2:
1.清理新SIT数据库中的对象;
DROP'
||OBJECT_TYPE||'
'
||OBJECT_NAME||'
FROMUSER_OBJECTS;
2.执行查询出来的DROP语句
6数据库导出、导入命令执行错误