當前位置:首頁 » 編程語言 » sql數據歸檔

sql數據歸檔

發布時間: 2024-03-20 15:31:01

① oracle歸檔模式的配置資料庫的歸檔模式

1.改變非歸檔模式到歸檔模式:
1)SQL> conn / as sysdba (以DBA身份連接資料庫)
2)SQL> shutdown immediate; (立即關閉資料庫)
3)SQL> startup mount (啟動實例並載入資料庫,但不打開)
4)SQL> alter database archivelog; (更改資料庫為歸檔模式)
5)SQL> alter database open; (打開資料庫)
6)SQL> alter system archive log start; (啟用自動歸檔)
7)SQL> exit (退出)
做一次完全備份,因為非歸檔日誌模式下產生的備份日誌對於歸檔模式已經不可用了.這一步非非常重要!
2.改變歸檔模式到非歸檔模式:
1)SQL>SHUTDOWN NORMAL/IMMEDIATE;
2)SQL>STARTUP MOUNT;
3)SQL>ALTER DATABASE NOARCHIVELOG;
4)SQL>ALTER DATABASE OPEN;
3.啟用自動歸檔: LOG_ARCHIVE_START=TRUE
歸檔模式下,日誌文件組不允許被覆蓋(重寫),當日誌文件寫滿之後,如果沒有進行手動歸檔,那麼系統將掛起,直到歸檔完成為止.
這時只能讀而不能寫.
運行過程中關閉和重啟歸檔日誌進程
SQL>ARCHIVE LOG STOP
SQL>ARCHIVE LOG START
4.手動歸檔: LOG_ARCHIVE_START=FALSE
歸檔當前日誌文件
SQL>ALTER SYSTEM ARCHIVE LOG CURRENT;
歸檔序號為052的日誌文件
SQL>ALTER SYSTEM ARCHIVE LOG SEQUENCE 052;
歸檔所有日誌文件
SQL>ALTER SYSTEM ARCHIVE LOG ALL;
改變歸檔日誌目標
SQL>ALTER SYSTEM ARCHIVE LOG CURRENT TO '&PATH';
5.歸檔模式和非歸檔模式的轉換
第4步的逆過程.
6.配置多個歸檔進程
Q:什麼時候需要使用多個歸檔進程?
A:如果歸檔過程會消耗大量的時間,那麼可以啟動多個歸檔進程,這是個動態參數,可以用ALTER SYSTEM動態修改.
SQL>ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=10;
Oracle9i中最多可以指定10個歸檔進程
與歸檔進程有關的動態性能視圖
v$bgprocess,v$archive_processes
7.配置歸檔目標,多歸檔目標,遠程歸檔目標,歸檔日誌格式
歸檔目標 LOG_ARCHIVE_DEST_n
本地歸檔目標:
SQL>LOG_ARCHIVE_DEST_1 = LOCATION=D:ORACLEARCHIVEDLOG;
遠程歸檔目標:
SQL>LOG_ARCHIVE_DEST_2 = SERVICE=STANDBY_DB1;
強制的歸檔目標,如果出錯,600秒後重試:
SQL>ALTER SYSTEM SET LOG_ARCHIVE_DEST_4 = LOCATION=E:ORACLEARCHIVEDLOG MANDATORY REOPEN=600;
可選的歸檔目標,如果出錯,放棄歸檔:
SQL>ALTER SYSTEM SET LOG_ARCHIVE_DEST_3 = LOCATION=E:ORACLEARCHIVEDLOG OPTIONAL;
歸檔目標狀態:關閉歸檔目標和打開歸檔目標
關閉歸檔目標1
SQL>ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_1 = DEFER
打開歸檔目標2
SQL>ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2 = ENABLE
歸檔日誌格式
LOG_ARCHIVE_FORMAT
8.獲取歸檔日誌信息
V$ARCHIVED_LOG
V$ARCHIVE_DEST
V$LOG_HISTORY
V$DATABASE
V$ARCHIVE_PROCESSES
ARCHIVE LOG LIST;

② SQL資料庫如何查看歸檔日誌(oracle查看歸檔日誌)

在對象資源管理器中,展開「管理」,御大正展開「SQLServer日誌」,再雙擊「當前<日期/時間<」,此時將顯示SQLServer、「SQL代理」和WindowsNT日誌。

查看與作業相關的日誌

在對象資源管理器中,展開「SQLServer代理」,右鍵單擊「作仿姿業」,再單擊「查看歷史記錄」鎮悔,此時將顯示「作業歷史記錄」和「SQL代理」日誌。

查看與維護計劃相關的日誌

在對象資源管理器中,展開「管理」,右鍵單擊「維護計劃」,再單擊「查看歷史記錄」,此時將顯示「維護計劃」、「作業歷史記錄」和「SQL代理」日誌。

③ SQL SERVER 資料庫如何歸檔

SQL SERVER到2008還沒有提供歸檔模式;
它的日誌是寫到.ldf文件中,如果不加干預的話,這個文件會不停擴大。

④ 如何將oracle資料庫 設置為歸檔模式

查看歸檔狀態為非歸檔
sys@JSL> select log_mode from v$database;
LOG_MODE
------------
NOARCHIVELOG

archive狀態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

修改為歸檔模式

首先要關閉資料庫,啟動到mount狀態。
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還要設置log_archive_start 這是個靜態參數
alter system set log_archive_start=true scope=spfile;
oracle 10g則不用設置了。

驗證修改結果
sys@JSL> select log_mode from v$database;
LOG_MODE
------------
ARCHIVELOG

打開資料庫
sys@JSL> alter database open;
Database altered.

設置歸檔格式
log_archive_format,是設置歸檔命名規則的靜態參數,設置後重啟資料庫才生效。
對log_archive_dest和log_archive_dest_n指定的歸檔有效。

常用參數如下
%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,防止恢復的時候會報錯,歸檔默認文件擴展名是dbf,習慣設置成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.
重啟資料庫才生效。

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,我們沒有設置歸檔目的地,
默認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

查看當前日誌組
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.

查看已經歸檔的信息
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

查看歸檔進程,開啟了三個歸檔進程
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

如果歸檔進程報錯,8i可以使用下面命令嘗試解決
archive log stop;
archive log start;

10版本的archive log stop/start及alter system archive log stop/start命令已經不用了,只要在歸檔模式下就是自動歸檔模式

設置歸檔目錄
默認的歸檔目錄(Archive destination)是: USE_DB_RECOVERY_FILE_DEST,
如果取消DB_RECOVERY_FILE_DEST參數的設置,就會找standby_archive_dest參數,
默認是'?/dbs/arch'但是沒有真實目錄存在,所以雖然能開啟歸檔但是不能實現歸檔。
設置方式:
A: log_archive_dest_n (1-10) 這個參數與B是沖突的,可以設置本地和遠程作為歸檔目標地址。
下面有十個狀態參數log_archive_dest_state_n (1-10)與之對應,enable才可用。
例:
log_archive_dest_state_1=DEFER
log_archive_dest_state_2=ENABLE
此參數和log_archive_dest_n參數配對使用,預設值為ENABLE,如果想停止使用一個歸檔目錄,只需將其對應的log_archive_dest_state_n參數值設置為DEFER。
log_archive_dest_n 其中n為1-5的整數,必需從低到高設置,下面舉例說明:
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里指定的名稱,可以實現連接到遠程。
MANDATORY 關鍵字說明聯機日誌文件必須要成功歸檔以後才能被覆蓋。
OPTIONAL 預設為可選(OPTIONAL),即使歸檔沒有成功也可以覆蓋。
在設置時應該至少有一個本地(LOCATION)強制(MANDATORY)歸檔目錄。
REOPEN 關鍵字說明如果歸檔不成功時系統要重新嘗試歸檔,預設每300秒嘗試一次直到成功。
reopen可以通過=n來指定嘗試的時間間隔,如 log_archive_dest_2中的時間間隔為600秒,
而log_archive_dest_1中的時間間隔為300 秒。
alter system set log_archive_dest_1='location=/xxx/xxx/x/ mandatory reopen=500';

B: log_archive_dest和log_archive_plex_dest 這個參數與A是沖突的,只能設置本地目錄,
log_archive_dest可以單獨存在,但是log_archive_plex_dest必須依附於log_archive_dest
log_archive_dest這是一個靜態參數,設置的時候要帶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參數就不會有上面的報錯信息了
sys@JSL> alter system set log_archive_dest='/jia/arc' scope=spfile;
System altered.
如果使用這種方式,則log_archive_dest是強制(MANDATORY)歸檔目錄,而log_archive_plex_dest為可選(OPTIONAL)目錄。

C: db_recovery_file_dest 這個參數還有個輔助參數db_recovery_file_dest_size控制大小。

那麼著三種方式是否可以同時設置,以及那個方式設置的生效呢?
我們用下圖示加以說明:
A(n) B(y) C(y) -> oracle同時歸檔日誌到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,如果設置了A,C就失效了。

在10g跟開歸檔跟flashback_on狀態無關,但是反過來開資料庫閃回功能必須先開歸檔。設置log_archive_dest以後重啟資料庫才生效。

⑤ oracle資料庫歸檔的必要性以及如何進行歸檔

對於重要的生產業務建議開啟歸檔模式,通過對在線日誌的歸檔,可以在數據丟失時進行數據恢復、部分操作也只有在歸檔模式下才能實施、分析日誌內容等。
對於非歸檔資料庫開啟歸檔功能操作如下:
1)SQL> conn / as sysdba (以DBA身份連接資料庫)

2)SQL> shutdown immediate; (立即關閉資料庫)

3)SQL> startup mount (啟動實例並載入資料庫,但不打開)

4)SQL> alter database archivelog; (更改資料庫為歸檔模式)

5)SQL> alter database open; (打開資料庫)

6)SQL> alter system archive log start; (啟用自動歸檔)

7)SQL> exit (退出)

熱點內容
melpython 發布:2024-11-28 22:49:54 瀏覽:210
伺服器瀏覽量什麼意思 發布:2024-11-28 22:49:09 瀏覽:964
可不可以同時安裝幾個編譯器 發布:2024-11-28 22:34:08 瀏覽:934
蘋果配置鎖如何激活 發布:2024-11-28 22:10:24 瀏覽:668
linuxpython2與3共存 發布:2024-11-28 21:43:41 瀏覽:905
短視頻平台上傳視頻規范 發布:2024-11-28 21:41:22 瀏覽:554
c語言統計素數的個數 發布:2024-11-28 21:38:24 瀏覽:838
我的世界伺服器管理員沒了怎麼辦 發布:2024-11-28 21:37:22 瀏覽:184
請求分段存儲 發布:2024-11-28 21:23:20 瀏覽:459
zip偽加密 發布:2024-11-28 21:23:17 瀏覽:227