SELECT * FROM v$log; SELECT * FROM v$logfile; --添加日志 alter database add logfile '/u01/app/oracle/oradata/orcl/redo05.log' size 50m; --手工切换日志 alter system switch logfile; --添加含多个成员的组 ALTER DATABASE ADD LOGFILE ('/u01/app/oracle/oradata/orcl/redo06.log','/u01/app/oracle/oradata/orcl/redo07.log') SIZE 50m; --组添加成员 ALTER DATABASE ADD LOGFILE MEMBER '/u01/app/oracle/oradata/orcl/redo08.log' TO GROUP 4; --删组(v$log中的STATUS 为CURRENT,ACTIVE,不能删除,要删切换日志) ALTER DATABASE DROP LOGFILE GROUP 5; --删组下的成员(写成员路径) ALTER DATABASE DROP LOGFILE MEMBER '/u01/app/oracle/oradata/orcl/redo06.log'; --日志文件重命名 --1 复制文件 SQL> ho cp /u01/app/oracle/oradata/orcl/redo06.log /u01/app/oracle/oradata/orcl/redo6.log; --2 重命名 ALTER DATABASE RENAME FILE '/u01/app/oracle/oradata/orcl/redo06.log' TO '/u01/app/oracle/oradata/orcl/redo6.log';
--日志文件不一致 --1 清空日志 ALTER DATABASE CLEAR LOGFILE GROUP 1 ; ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 1; --日志文件不存在 --1 一致性关闭可通过清空 ALTER DATABASE CLEAR LOGFILE GROUP 1 ; --2 RECOVER DATABASE USING BACKUP CONTROLFILE; alter database open resetlogs;--若归档模式,用此命令可打开,则忽略以下内容 ALTER SYSTEM SET "_allow_resetlogs_corruption"=TRUE SCOPE=SPFILE;--加隐藏参数,不一致验证启动 ALTER DATABASE OPEN RESETLOGS; ALTER SYSTEM RESET "_allow_resetlogs_corruption" SCOPE=SPFILE SID='*';--隐藏参数回复默认 --3 alter system set "_allow_resetlogs_corruption"=true scope=spfile;--设置隐藏参数 recover database using backup controlfile; alter database open resetlogs; shutdown IMMEDIATE; startup force mount; alter database open resetlogs; alter system reset "_allow_resetlogs_corruption" SCOPE=SPFILE SID='*';--取消隐藏参数