修改Oracle数据库日志模式(一学就会)

艺帆风顺 发布于 2025-04-07 24 次阅读


1、查看当前数据库日志模式

SQL> select log_mode from v$database;
NOARCHIVELOG

或者使用下面这种方式查看:
SQL> archive log list
Database log mode        No Archive Mode
Automatic archival        Disabled
Archive destination        USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     20
Current log sequence        22

可以看到目前处于非归档模式,接下来进行切换

2、关闭数据库

SQL> shutdown;

3、启动到mount模式

SQL>  starup mount;

4、修改日志模式为归档模式

SQL> alter database archivelog;

这里需要注意,需要在mount模式下操作,如果在open状态下操作会出现以下错误

SQL> alter database archivelog;
alter database archivelog
*
ERROR at line 1:
ORA-01126: database must be mounted in this instance and not open in any instance

5、将数据库启动到open状态

SQL> alter database open;

Database altered.

6、再次查看数据库日志模式

SQL> archive log list
Database log mode        Archive Mode
Automatic archival        Enabled
Archive destination        USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     20
Next log sequence to archive   22
Current log sequence        22

上述可见,日志模式已经切换为归档模式。如果想切回非归档模式,也是按照以上步骤就OK了。