ORACLE 归档模式

上午在红帽5上安装ORACLE成功。建库的时候特意未启用归档模式。

SQL> select name,open_mode,log_mode from v$database;

NAME      OPEN_MODE            LOG_MODE
--------- -------------------- ------------
SZPDCORA  READ WRITE           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     6
Current log sequence           8

可以看到没有启用。

更改归档模式步骤:

SQL> shutdown immediate
SQL> startup nomount
SQL> alter database mount;
SQL> alter database archivelog;
SQL> alter database open;

Database altered.

再看一下归档模式

SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     6
Next log sequence to archive   8
Current log sequence           8
SQL> select name,open_mode,log_mode from v$database;

可以看到默认归档日志存放路径在闪回区($ORACLE_BASE/flash_recovery_area)。对于这个路径,ORACLE有一个限制,就是默认只有2G的空间,而且不只是归档日志的默认路径,也是备份文件和闪回日志的默认地址,这样的话归档日志锁使用的空间就达不到2G,在没有设置好这个路径大小的情况下,很多系统都遇到过归档日志满而无法归档导致数据库夯住的问题
空间不够了,要么更改闪回区大小;要么切换归档日志到其他目录

SQL> show parameter db_recovery

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string      /u01/app/oracle/flash_recovery
                                                 _area
db_recovery_file_dest_size           big integer 3852M

可以看到默认闪回区的位置。现在修改为 /u01/app/oracle/archivelogs

SQL> alter system set log_archive_dest_1='location=/u01/app/archivelogs' scope=both;

System altered.

SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /u01/app/archivelogs
Oldest online log sequence     6
Next log sequence to archive   8
Current log sequence           8

 OK,手动切换下日志 看看效果

SQL> alter system switch logfile;

System altered.
[oracle@localhost archivelogs]$ ls
1_8_795179693.dbf

生成1_8_795179693.dbf。默认后缀是dbf
查看归档日志命名格式:

SQL> show parameter log_archive_format

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_format                   string      %t_%s_%r.dbf

顺便看一下参数详解:
%s log sequence number
%S log sequence number, zero filled
%t thread number 
%T thread number, zero filled 线程号,可以理解成是节点号,如果不是RAC环境,%T都是1
%R 场景号

你可能感兴趣的:(oracle)