ORA-00257: Archiver error. Connect AS SYSDBA only until resolved错误解 ...

打印 上一主题 下一主题

主题 809|帖子 809|积分 2427

错误缘故原由:服务器分配空间不足,数据库归档日志满导致体系数据库登陆失败。
办理办法:1、删除从前的日志
                  2、增大归档日志的容量
                  3、关闭归档模式
一、删除从前的容量

1、登录账号后,查看ORACLE_BASE目次
[oracle@localhost ~]$ echo $ORACLE_BASE;
/orc/app/oracle
2、进入数据库操作界面
[oracle@localhost ~]$ sqlplus / as sysdba;
3、查看flash recovery area的利用情况
SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;
FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
------------ ------------------ ------------------------- ---------------
CONTROLFILE                   0                         0               0
ONLINELOG                     0                         0               0
ARCHIVELOG                  99.9                         0               255
BACKUPPIECE                   0                         0               0
IMAGECOPY                     0                         0               0
FLASHBACKLOG                  0                         0               0
注:可以看出,ARCHIVELOG日志已经到达99.9%了。造成归档满的缘故原由是因为有一个用户在做大量更新操作,由于更新操作产生大量重做日志,归档日志切换频繁。办理方法是要把大量归档日志清除掉!
4、差看recovery目次
SQL> show parameter recovery;
NAME                                 TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
db_recovery_file_dest                string
/orc/app/oracle/fast_recovery_
area/orcl
db_recovery_file_dest_size           big integer
8016M
db_unrecoverable_scn_tracking        boolean
TRUE
recovery_parallelism                 integer
0
5、退出数据库命令后,进入/orc/app/oracle/fast_recovery_area/orcl/ORCL/archivelog文件夹下生存最近日期的一个文件夹,删除其他的文件夹。
6、利用rman维护控制文件,否则空间表现仍不释放。
[oracle@localhost ~]$ rman target sys/pass
恢复管理器: Release 12.2.0.1.0 - Production on 星期四 9月 3 17:55:59 2020
Copyright (c) 1982, 2017, Oracle and/or its affiliates.  All rights reserved.
已毗连到目标数据库: ORCL (DBID=1576223308)
***************************
Rman target sys/oracle@db 此中sys是用户名,密码是oracle,@后面数据库实例
7、查抄错误文档
RMAN> crosscheck archivelog all;
查抄控制文件和实际物理文件的差异
8、删除过期文档
RMAN> delete expired archivelog all;
delete expired删除的是那些本来RMAN以为存在但是实际上在磁盘或者磁带上已经被删除了的信息,删除的只是RMAN资料库中的记载
9、删除停止到前一天所有的archivelog
RMAN> delete archivelog until time 'sysdate-1';
 删除停止到前一天的所有archivelog
10、退出
RMAN> exit();
11、再次进入sql查询利用率(执行2-3步)
  FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
  ------------ ------------------ ------------------------- ---------------
  CONTROLFILE                 .13                         0               1
  ONLINELOG                  2.93                         0               3
  ARCHIVELOG                23.03                         0              36
  BACKUPPIECE                   0                         0               0
  IMAGECOPY                     0                         0               0
  FLASHBACKLOG                  0                         0               0
二、数据库中查看归档日志的存储大小以及修改存储容量

SQL> show parameter db_recover;
NAME                                 TYPE
------------------------------------ ----------------------
VALUE
------------------------------
db_recovery_file_dest                string
/opt/oracle/flash_recovery_are
a
db_recovery_file_dest_size           big integer
20G
修改db_recovery_file_dest_size大小为500G
alter system set db_recovery_file_dest_size=500G scope=spfile(需要重启DB生效)
---------------------------------------------------------------------------------------------------------------------------------------
Oracle 里面有个叫做spfile的东西,就是动态参数文件,里面设置了Oracle 的各种参数。所谓的动态,就是说你可以在不关闭数据库的情况下,更改数据库参数,记载在spfile里面。更改参数的时候,有4种scope选项。scope就是范围
++ scope=spfile 仅仅更改spfile里面的记载,不更改内存,也就是不立刻生效,而是等下次数据库启动生效。有一些参数只答应用这种方法更改
++ scope=memory 仅仅更改内存,不改spfile。也就是下次启动就失效了
++ scope=both 内存和spfile都更改
++ 不指定scope参数,等同于scope=both.
三、修改为无归档日志模式

开启归档日志模式
1、登录服务端:sqlplus / as sysdba;
2、查询归档模是否开启:archive log list;
3、关闭数据库:shutdown immediate;
4、开启数据库至mount状态:startup mount;
5、修改数据库模式:alter database archivelog;
6、开启数据库:alter database open;
7、查看归档日志是否开启:archive log list; 

关闭归档日志模式
1、登录服务端:sqlplus / as sysdba;
2、关闭数据库:shutdown immediate;
3、打开数据库:startup mount; 
4、关闭归档日志:alter database noarchivelog; 
5、开启数据库:alter database open; 
6、查看归档日志是否关闭:archive log list ; 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

悠扬随风

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表