上午在紅帽5上安裝ORACLE成功。建庫的時候特意未啟用歸檔模式。
SQL> select name,open_mode,log_mode from v$database;NAME OPEN_MODE LOG_MODE--------- -------------------- ------------SZPDCORA READ WRITE NOARCHIVELOG
SQL> archive log listDatabase log mode No Archive ModeAutomatic archival DisabledArchive destination USE_DB_RECOVERY_FILE_DESTOldest online log sequence 6Current log sequence 8
可以看到沒有啟用。
更改歸檔模式步驟:
SQL> shutdown immediateSQL> startup nomountSQL> alter database mount;SQL> alter database archivelog;SQL> alter database open;Database altered.
再看一下歸檔模式
SQL> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination USE_DB_RECOVERY_FILE_DESTOldest online log sequence 6Next log sequence to archive 8Current log sequence 8SQL> select name,open_mode,log_mode from v$database;
可以看到預設歸檔日誌存放路徑在閃回區($ORACLE_BASE/flash_recovery_area)。對於這個路徑,ORACLE有一個限制,就是預設只有2G的空間,而且不只是歸檔日誌的預設路徑,也是備份檔案和閃回日誌的預設地址,這樣的話歸檔日誌鎖使用的空間就達不到2G,在沒有設定好這個路徑大小的情況下,很多系統都遇到過歸檔日誌滿而無法歸檔導致資料庫夯住的問題
空間不夠了,要麼更改閃回區大小;要麼切換歸檔日誌到其他目錄
SQL> show parameter db_recoveryNAME TYPE VALUE------------------------------------ ----------- ------------------------------db_recovery_file_dest string /u01/app/oracle/flash_recovery _areadb_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 ModeAutomatic archival EnabledArchive destination /u01/app/archivelogsOldest online log sequence 6Next log sequence to archive 8Current log sequence 8
OK,手動切換下日誌 看看效果
SQL> alter system switch logfile;System altered.[oracle@localhost archivelogs]$ ls1_8_795179693.dbf
產生1_8_795179693.dbf。預設尾碼是dbf
查看歸檔日誌命名格式:
SQL> show parameter log_archive_formatNAME 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 情境號