ORA-00257 错误分析及解决方法

------------------------------                足行千里                -----------------------------------------



这个错误的原因,至今为止我个人发现有以下几个方面的原因:
1. 归档日志过多,空间不足
2. 归档日志存储路径不正确(主要存在于数据迁移或者rman异机恢复后,特别是不同构建下的恢复,如普通数据恢复到DG,或者RAC,如果参数文件没有进行相应调整,就会出问题,也或者是有人故意修改参数文件导致参数指向的路径,数据库无法识别)

如果有其他原因,小弟还没有发现的,请大拿不吝赐教!

查看闪回区状态:

1. 查看闪回区大小

    show parameter db_recovery
       会返回两个参数:
       db_recovery_file_dest           --对应闪回区路径
        db_recovery_file_dest_size       --对应闪回区总空间大小
       假设 db_recovery_file_dest_size = n,下面查看闪回区使用情况时,会用到
      
2. 查看闪回区空间使用情况
   通过该视图来查看v$flash_recovery_area_usage
   select sum(percent_space_used) from v$flash_recovery_area_usage;            --查看空间使用率
    select n*sum(percent_space_used)/100 from v$flash_recovery_area_usage;          --查看具体已用空间大小
  
解决方法:

1. 增加归档日志存储空间
        alter system set DB_RECOVERY_FILE_DEST_SIZE=10g;
2. 删除归档日志
        正确的删除归档日志,参见RMAN --&gt RMAN删除归档日志
3. 更改归档日志的存储路径
   3.1 查看归档日志存储路径设置
       SQL> show parameter log_archive_dest_1
 
                NAME                                 TYPE        VALUE
                ------------------------------------ ----------- ------------------------------
                log_archive_dest_1                   string     
                log_archive_dest_10                  string     
                log_archive_dest_11                  string     
                log_archive_dest_12                  string     
                log_archive_dest_13                  string     
                log_archive_dest_14                  string     
                log_archive_dest_15                  string     
                log_archive_dest_16                  string     
                log_archive_dest_17                  string     
                log_archive_dest_18                  string     
                log_archive_dest_19                  string     

           通过以上命令我们看到,log_archive_dest_1 的值是空,这说明,该设置使用的默认值,默认存储位置位于闪回区。
           这里需要注意的是,更改归档日志的存储路径不是更改log_archive_dest 的值,而是更改log_archive_dest_1的值。

     3.2    执行更改命令

            
                SQL> ALTER SYSTEM SET log_archive_dest_1 = 'location=D:/';
 
                System altered
 
                SQL> show parameter log_archive_dest_1
 
                NAME                                 TYPE        VALUE
                ------------------------------------ ----------- ------------------------------
                log_archive_dest_1                   string      location=D:/
                log_archive_dest_10                  string     
                log_archive_dest_11                  string     
                log_archive_dest_12                  string     
                log_archive_dest_13                  string     
                log_archive_dest_14                  string     
                log_archive_dest_15                  string     
                log_archive_dest_16                  string     
                log_archive_dest_17                  string     
                log_archive_dest_18                  string     
                log_archive_dest_19                  string 

                修改后,归档日志的存储路径就会存存储在D:/ 下,注意,该路径必须存在。
                如果要改为默认值怎么办?把value的值变为空就好了。

                alter system set log_archive_dest_1 = '';

                如下:
                SQL> alter system set log_archive_dest_1 = '';
 
                System altered
 
                SQL> show parameter log_archive_dest_1
 
                NAME                                 TYPE        VALUE
                ------------------------------------ ----------- ------------------------------
                log_archive_dest_1                   string     
                log_archive_dest_10                  string     
                log_archive_dest_11                  string     
                log_archive_dest_12                  string     
                log_archive_dest_13                  string     
                log_archive_dest_14                  string     
                log_archive_dest_15                  string     
                log_archive_dest_16                  string     
                log_archive_dest_17                  string     
                log_archive_dest_18                  string     
                log_archive_dest_19                  string     

----------------------------------            The End        -----------------------------------------------

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

转载于:http://blog.itpub.net/25313300/viewspace-707777/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值