问题现象
需要将第三方提供的Oracle10.2.0.4 imp备份文件导入Oracle11.0.0.4,导入时卡在DOM_PAR_INFO表,该表有1147856条记录,半个多小时后返回如下报错:
su - oracle export ORACLE_SID=REPORT export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK imp ANCHE/ANCHE file=/gs/ANCHE_BAK_2023-09-04.dmp log=/gs/imp_ANCHE_BAK.log full=y show=y IMP-00009: abnormal end of export file Import terminated successfully with warnings.
复制
通过1-4步骤的分析依然无法解决,无奈请资深DBA指导,将dmp文件重新分卷压缩,上传时选择二进制编码,历经2天时间终于完成文件导入。这是数据库入行以来耗时最久的一次导入,栽在了编码格式上,还是见识少了。
问题分析和处理
1.字符集
select * from nls_database_parameters where PARAMETER in ('NLS_CHARACTERSET','NLS_NCHAR_CHARACTERSET'); AMERICAN_AMERICA.ZHS16GBK
复制
字符集和第三方提供的导出日志字符集一致
2.延迟段参数
--关闭延迟段创建 true-->false show parameter deferred_segment_creation alter system set deferred_segment_creation=false;
复制
3.临时表空间、undo和redo大小
1.临时表空间 set lin 1000 col FILE_NAME for a60 select TABLESPACE_NAME,FILE_NAME,BYTES/1024/1024/1024 total_gb,USER_BYTES/1021/1024/1024 gb from dba_temp_files; 视情况扩容临时表空间 alter tablespace TEMP add datafile '/oradata/topicis/temp02.dbf' size 1M autoextend on NEXT 1M MAXSIZE UNLIMITED; 2.undo表空间 select tablespace_name,file_name,bytes/1024/1024/1024 gb,AUTOEXTENSIBLE from dba_data_files where tablespace_name='UNDOTBS1'; 视情况扩容undo表空间 alter tablespace undotbs1 add datafile '/u01/database/instance_name/undotbs02.dbf' size 100M autoextend on next 128M maxsize UNLIMITED; 3.redo大小 select group#,members,bytes/1024/1024,status from v$log; GROUP# MEMBERS BYTES/1024/1024 STATUS ---------- ---------- --------------- ---------------- 1 1 500 CURRENT 2 1 500 INACTIVE 3 1 500 INACTIVE 视情况扩容 alter database add logfile group 4 ('/opt/oradata/orclbj/redo04.log') size 1024M;
复制
4.内存参数
扩大sga_size pga_size --os_memory_total=$(awk '/MemTotal/{print $2}' /proc/meminfo) --$sga_target=os_memory_total * 8 * 8 / 100 / 1024 --pga_target=os_memory_total * 8 * 2 / 100 / 1024 alter system set sga_max_size=$sga_target scope=spfile; alter system set sga_target=$sga_target scope=spfile; alter system set pga_aggregate_target=$pga_target scope=spfile;
复制
5.dmp文件损坏或编码格式变化
现场的dmp文件是从服务器拉取到windows客户端,然后拷贝到硬盘,再拷贝到另一台能连接云服务器的windows客户端进行rar压缩,推测上传下载过程中文件损坏,重新从服务器上压缩,下载压缩包进行传输。
考虑磁盘、网络等原因,建议分卷压缩和上传,上传工具属性中务必选择二进制编码。
不建议使用zip压缩,因为大于4G在linux环境unzip无法解压需要安装开源7za工具,有时会存在用7za解压header error报错;如果坚持用zip格式压缩,使用分卷,每个卷小于4G。
涉及的传输工具有:
1.sftp工具
2.FlashFXP工具
3.云上传输工具
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
文章被以下合辑收录
评论
目录