expdp出dmp文件到NFS NAS报错ora-39001 ora-39000 ora-31641 ora-27054

本文档介绍了当遇到NFS文件系统挂载错误时,如何通过调整挂载选项和设置事件10298来解决问题。特别是针对ORACLE环境下出现的ORA-19504和ORA-27054错误。
通过查询metalink id :387700.1
 
文档上说可能的问题有以下几种:
a) The mount table (eg; /etc/mnttab) can be read to check the mount options
b) The NFS mount is mounted with the "hard" option
c) The mount options include rsize>=32768 and wsize>=32768
d) For RAC environments, where NFS disks are supported, the "noac" mount option is used.
 
文档上指出通过设置event 10298事件可以避免,不过设置event 10298需要重启数据库生效 。
 
检查NFS的配置,发现客户端的/etc/filesystems中未加入mount nfs文件系统的条目
 
增加以下条目后,重新mount,解决。
 
#vi /etc/filesystems
/exp:
        dev             = /exp
        vfs             = nfs
        nodename        = 192.168.1.20
        mount           = true
        options         = rw,bg,hard,intr,proto=tcp,vers=3,rsize=65536,wsize=65536,timeo=600
        account         = false
 
#umount /oraexp
#mount /oraexp
 
建议大家以后遇到类似问题,先检查/etc/filesystems文件,这个问题都是由于大家都喜欢使用以下方式mount nfs导致。
 
mount -o rw,bg,hard,intr,proto=tcp,vers=3,rsize=65536,wsize=65536,timeo=600 192.168.1.20:/exp /exp
 
//相关metalink 文档如下:
 
ORA-19504 ORA-27054 Errors mounting NFS file system [ID 370513.1]
RMAN Backup Fails With RMAN-03009 ORA-19504 ORA-27054 NFS file system where the file is created or resides is not mounted with correct options [ID 1472448.1]
ORA-27054: NFS file system where the file is created or resides is not mounted with correct options [ID 781349.1]
 
//另外设置10298的过程如下:
 
1) set the Event 10298 in the init file
event="10298 trace name context forever, level 32"
if you are using the spfile then the following can be done
 
SQL> alter system set event='10298 trace name context forever, level 32'scope= spfile ;
 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-772598/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/35489/viewspace-772598/

虽然参考引用中未提及ORA - 01426错误的解决办法,但一般来说,ORA - 01426错误是“numeric overflow”,即数值溢错误,通常在将一个值插入到一个精度或范围不足以容纳该值的列中时发生。在使用`expdp`导现此错误,可能是由于表中的某些数值列的数据超了定义的范围。以下是可能的解决办法: ### 检查数据类型和精度 检查现问题的表中数值列的数据类型和精度定义,确保其能够容纳实际的数据。例如,如果有一个`NUMBER(3, 2)`类型的列,它最多只能存储三位数字,其中两位是小数位。如果实际数据超了这个范围,就会导致数值溢错误。可以通过以下SQL语句查看表结构: ```sql DESC table_name; ``` 如果发现数据类型或精度定义不合理,可以考虑修改表结构,扩大其范围。修改表结构的示例SQL如下: ```sql ALTER TABLE table_name MODIFY column_name NUMBER(5, 2); ``` ### 数据清理 检查表中的数据,找范围的异常值并进行清理或修正。可以通过以下SQL语句找可能导致溢的记录: ```sql SELECT * FROM table_name WHERE column_name > some_max_value; ``` 根据实际情况,对这些异常记录进行修正或删除。 ### 分批次导 如果数据量较大,可能是某些批次的数据导致了数值溢错误。可以尝试分批次导数据,避免一次性导所有数据。例如,可以按照日期、ID范围等条件进行分批次导。以下是一个按ID范围分批次导的示例: ```bash expdp user/password directory=dir_name dumpfile=part1.dmp tables=table_name query='WHERE id BETWEEN 1 AND 1000' expdp user/password directory=dir_name dumpfile=part2.dmp tables=table_name query='WHERE id BETWEEN 1001 AND 2000' ``` ### 联系数据库管理员 如果以上方法都无法解决问题,建议联系数据库管理员,对数据库进行更深入的检查和分析,可能需要调整数据库的配置参数或进行其他操作。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值