一、指定歸檔路徑(兩個(gè)節(jié)點(diǎn)都執(zhí)行)
創(chuàng)新互聯(lián)建站專注于仁壽網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供仁壽營銷型網(wǎng)站建設(shè),仁壽網(wǎng)站制作、仁壽網(wǎng)頁設(shè)計(jì)、仁壽網(wǎng)站官網(wǎng)定制、微信小程序定制開發(fā)服務(wù),打造仁壽網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供仁壽網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
alter system set log_archive_dest_1='location=+logdg';
二、停兩個(gè)節(jié)點(diǎn)的數(shù)據(jù)庫
shutdown immediate;
三、兩個(gè)節(jié)點(diǎn)都啟動(dòng)到mount狀態(tài)
startup mount;
四、節(jié)點(diǎn)1修改數(shù)據(jù)庫為歸檔模式
alter database archivelog;
五、open兩個(gè)節(jié)點(diǎn)
alter database open;
1)SQL
conn
/
as
sysdba
(以DBA身份連接數(shù)據(jù)庫)
2)SQL
shutdown
immediate;
(立即關(guān)閉數(shù)據(jù)庫)
3)SQL
startup
mount
(啟動(dòng)實(shí)例并加載數(shù)據(jù)庫,但不打開)
4)SQL
alter
database
archivelog;
(更改數(shù)據(jù)庫為歸檔模式)
5)SQL
alter
database
open;
(打開數(shù)據(jù)庫)
6)SQL
alter
system
archive
log
start;
(啟用自動(dòng)歸檔)
望采納
操作步驟:
1 登錄數(shù)據(jù)庫查看數(shù)據(jù)庫的歸檔狀態(tài)
SQL archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 2923
Next log sequence to archive 2925
Current log sequence 2925
2 關(guān)閉數(shù)據(jù)庫
SQLshutdown immediate;
3 啟動(dòng)數(shù)據(jù)庫到mount狀態(tài)
SQLstartup mount;
4 啟動(dòng)歸檔模式
SQLalter database noarchivelog; (非歸檔模式為:alter database noarchivelog)
如果報(bào)錯(cuò):
SQL alter database noarchivelog;
alter database noarchivelog
*
ERROR at line 1:
ORA-38774: cannot disable media recovery - flashback database is enabled
先關(guān)閉flashback
SQL alter database flashback off;
Database altered.
再更改為非歸檔模式
SQL alter database noarchivelog;
Database altered.
5 打開數(shù)據(jù)庫
SQLalter database open;更改數(shù)據(jù)庫的非歸檔模式需要重新啟動(dòng)數(shù)據(jù)庫,在mount模式下修改,簡要步驟
1 以shutdown immediate方式關(guān)閉數(shù)據(jù)庫
2 啟動(dòng)實(shí)例到mount狀態(tài)
3 更改運(yùn)行非模式并打開數(shù)據(jù)庫
查看歸檔狀態(tài)為非歸檔
sys@JSL select log_mode from v$database;
LOG_MODE
------------
NOARCHIVELOG
archive狀態(tài)Disabled
sys@JSL archive log list
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 2
Current log sequence 4
sys@JSL select * from v$archive_processes;
PROCESS STATUS LOG_SEQUENCE STAT
---------- ---------- ------------ ----
0 STOPPED 0 IDLE
1 STOPPED 0 IDLE
2 STOPPED 0 IDLE
3 STOPPED 0 IDLE
...
...
29 STOPPED 0 IDLE
修改為歸檔模式
首先要關(guān)閉數(shù)據(jù)庫,啟動(dòng)到mount狀態(tài)。
sys@JSL shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
sys@JSL startup mount
ORACLE instance started.
Total System Global Area 184549376 bytes
Fixed Size 1218412 bytes
Variable Size 62916756 bytes
Database Buffers 117440512 bytes
Redo Buffers 2973696 bytes
Database mounted.
修改為歸檔模式
sys@JSL alter database archivelog;
Database altered.
oracle 9i還要設(shè)置log_archive_start 這是個(gè)靜態(tài)參數(shù)
alter system set log_archive_start=true scope=spfile;
oracle 10g則不用設(shè)置了。
驗(yàn)證修改結(jié)果
sys@JSL select log_mode from v$database;
LOG_MODE
------------
ARCHIVELOG
打開數(shù)據(jù)庫
sys@JSL alter database open;
Database altered.
設(shè)置歸檔格式
log_archive_format,是設(shè)置歸檔命名規(guī)則的靜態(tài)參數(shù),設(shè)置后重啟數(shù)據(jù)庫才生效。
對log_archive_dest和log_archive_dest_n指定的歸檔有效。
常用參數(shù)如下
%s log sequence number
%S log sequence number, zero filled
%t thread number
%T thread number, zero filled
%a activation ID
%d database ID
%r resetlogs ID
resetlogs,防止恢復(fù)的時(shí)候會報(bào)錯(cuò),歸檔默認(rèn)文件擴(kuò)展名是dbf,習(xí)慣設(shè)置成arc
例如:_%t_%s_%r.arc
sys@JSL select name from v$database;
NAME
------------------------------
JSL
sys@JSL alter system set log_archive_format='jsl_%t_%s_%r.arc' scope=spfile;
System altered.
重啟數(shù)據(jù)庫才生效。
sys@JSL archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 2
Next log sequence to archive 4
Current log sequence 4
sys@JSL alter system switch logfile;
System altered.
archive變成Enabled,我們沒有設(shè)置歸檔目的地,
默認(rèn)USE_DB_RECOVERY_FILE_DEST使用DB_RECOVERY_FILE_DEST目錄,也就是我們常說的閃回目錄。
sys@JSL archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 3
Next log sequence to archive 5
Current log sequence 5
查看當(dāng)前日志組
sys@JSL select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME
------ ------- --------- -------- -------- --- --------- ------------- -----------------
1 1 5 52428800 1 NO CURRENT 1565953 20101206 17:57:21
2 1 4 52428800 1 YES ACTIVE 1559083 20101206 15:07:00
3 1 3 52428800 1 YES INACTIVE 1534317 20101206 10:44:06
切換日志
alter system archive log current; --先歸檔再切換
alter system switch logfile; --先切換至于能不能歸檔再說
sys@JSL alter system switch logfile;
System altered.
查看已經(jīng)歸檔的信息
sys@JSL select RECID,NAME,DEST_ID,SEQUENCE#,RESETLOGS_CHANGE#,ARCHIVED,STATUS ,BACKUP_COUNT from v$archived_log;
RECID NAME DEST_ID SEQUENCE# RESETLOGS_CHANGE# ARC S BACKUP_COUNT
----- ------------------------------ ---------- ---------- ----------------- --- - ------------
1 /u01/app/oracle/flash_recovery 10 1 1484108 YES A 0
_area/HYJT/archivelog/2010_12_
05/o1_mf_1_1_6hq6z3db_.arc
2 /u01/app/oracle/flash_recovery 10 4 1484108 YES A 0
_area/JSL/archivelog/2010_12_0
6/o1_mf_1_4_6hsdw1mv_.arc
3 /u01/app/oracle/flash_recovery 10 5 1484108 YES A 0
_area/JSL/archivelog/2010_12_0
6/o1_mf_1_5_6hsdx63y_.arc
查看歸檔進(jìn)程,開啟了三個(gè)歸檔進(jìn)程
sys@JSL select * from v$archive_processes;
PROCESS STATUS LOG_SEQUENCE STAT
---------- ---------- ------------ ----
0 ACTIVE 0 IDLE
1 ACTIVE 0 IDLE
2 ACTIVE 0 IDLE
3 STOPPED 0 IDLE
...
...
29 STOPPED 0 IDLE
如果歸檔進(jìn)程報(bào)錯(cuò),8i可以使用下面命令嘗試解決
archive log stop;
archive log start;
10版本的archive log stop/start及alter system archive log stop/start命令已經(jīng)不用了,只要在歸檔模式下就是自動(dòng)歸檔模式
設(shè)置歸檔目錄
默認(rèn)的歸檔目錄(Archive destination)是: USE_DB_RECOVERY_FILE_DEST,
如果取消DB_RECOVERY_FILE_DEST參數(shù)的設(shè)置,就會找standby_archive_dest參數(shù),
默認(rèn)是'?/dbs/arch'但是沒有真實(shí)目錄存在,所以雖然能開啟歸檔但是不能實(shí)現(xiàn)歸檔。
設(shè)置方式:
A: log_archive_dest_n (1-10) 這個(gè)參數(shù)與B是沖突的,可以設(shè)置本地和遠(yuǎn)程作為歸檔目標(biāo)地址。
下面有十個(gè)狀態(tài)參數(shù)log_archive_dest_state_n (1-10)與之對應(yīng),enable才可用。
例:
log_archive_dest_state_1=DEFER
log_archive_dest_state_2=ENABLE
此參數(shù)和log_archive_dest_n參數(shù)配對使用,缺省值為ENABLE,如果想停止使用一個(gè)歸檔目錄,只需將其對應(yīng)的log_archive_dest_state_n參數(shù)值設(shè)置為DEFER。
log_archive_dest_n 其中n為1-5的整數(shù),必需從低到高設(shè)置,下面舉例說明:
log_archive_dest_1="LOCATION=/jia/arc MANDATORY REOPEN"
log_archive_dest_2="SERVICE=standby_db1 MANDATORY REOPEN=600"
log_archive_dest_3="LOCATION=/jia/arc2 OPTIONAL"
location指的是本地目錄。
service是tnsname里指定的名稱,可以實(shí)現(xiàn)連接到遠(yuǎn)程。
MANDATORY 關(guān)鍵字說明聯(lián)機(jī)日志文件必須要成功歸檔以后才能被覆蓋。
OPTIONAL 缺省為可選(OPTIONAL),即使歸檔沒有成功也可以覆蓋。
在設(shè)置時(shí)應(yīng)該至少有一個(gè)本地(LOCATION)強(qiáng)制(MANDATORY)歸檔目錄。
REOPEN 關(guān)鍵字說明如果歸檔不成功時(shí)系統(tǒng)要重新嘗試歸檔,缺省每300秒嘗試一次直到成功。
reopen可以通過=n來指定嘗試的時(shí)間間隔,如 log_archive_dest_2中的時(shí)間間隔為600秒,
而log_archive_dest_1中的時(shí)間間隔為300 秒。
alter system set log_archive_dest_1='location=/xxx/xxx/x/ mandatory reopen=500';
B: log_archive_dest和log_archive_duplex_dest 這個(gè)參數(shù)與A是沖突的,只能設(shè)置本地目錄,
log_archive_dest可以單獨(dú)存在,但是log_archive_duplex_dest必須依附于log_archive_dest
log_archive_dest這是一個(gè)靜態(tài)參數(shù),設(shè)置的時(shí)候要帶scope=spfile
sys@JSL alter system set log_archive_dest='';
alter system set log_archive_dest=''
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-16018: cannot use LOG_ARCHIVE_DEST with LOG_ARCHIVE_DEST_n or DB_RECOVERY_FILE_DEST
帶上scope=spfile參數(shù)就不會有上面的報(bào)錯(cuò)信息了
sys@JSL alter system set log_archive_dest='/jia/arc' scope=spfile;
System altered.
如果使用這種方式,則log_archive_dest是強(qiáng)制(MANDATORY)歸檔目錄,而log_archive_duplex_dest為可選(OPTIONAL)目錄。
C: db_recovery_file_dest 這個(gè)參數(shù)還有個(gè)輔助參數(shù)db_recovery_file_dest_size控制大小。
那么著三種方式是否可以同時(shí)設(shè)置,以及那個(gè)方式設(shè)置的生效呢?
我們用下圖示加以說明:
A(n) B(y) C(y) - oracle同時(shí)歸檔日志到log_archive_dest和db_recovery_file_dest指定的目錄,C采用omf管理管理方式
A(n) B(y) C(n) - 1份歸檔B
A(y) B(y) C(n) - error A與B是沖突的
A(y) B(n) C(y) - 1份歸檔A,如果設(shè)置了A,C就失效了。
在10g跟開歸檔跟flashback_on狀態(tài)無關(guān),但是反過來開數(shù)據(jù)庫閃回功能必須先開歸檔。設(shè)置log_archive_dest以后重啟數(shù)據(jù)庫才生效。
修改成歸檔模式步驟:
關(guān)閉數(shù)據(jù)庫
SQL shutdown immediate
啟動(dòng)數(shù)據(jù)庫到mount
SQLstartup mount;
修改成歸檔模式
SQL alter database archivelog;
打開數(shù)據(jù)庫
SQL alter database open;
修改成非歸檔模式:
步驟基本如上,只是將第三步中的命令改成如下:
SQL alter database noarchivelog;
注意事項(xiàng):oracle數(shù)據(jù)庫歸檔模式的的修改需要關(guān)閉數(shù)據(jù)庫,所以在生產(chǎn)系統(tǒng)中修改時(shí),需要考慮數(shù)據(jù)庫啟停時(shí)間。