ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORA-00257 错误分析及解决方法

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

原创 Linux操作系统 作者:lhb_immortal 时间:2011-09-17 11:50:32 0 删除 编辑
------------------------------                足行千里                -----------------------------------------



这个错误的原因,至今为止我个人发现有以下几个方面的原因:
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 --> 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博客 ” ,链接:https://blog.itpub.net/25313300/viewspace-707777/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: sysresv
下一篇: oracle11G新特性
请登录后发表评论 登录
全部评论

注册时间:2011-01-29

  • 博文量
    7
  • 访问量
    426713