當前位置:首頁 » 數據倉庫 » 資料庫歸檔方案
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

資料庫歸檔方案

發布時間: 2022-05-10 14:53:52

『壹』 如何實現大數據量資料庫的歷史數據歸檔

使用工具pt-archiver
原理解析
作為MySQL DBA,可以說應該沒有不知道pt-archiver了,作為pt-toolkit套件中的重要成員,往往能夠輕松幫助DBA解決數據歸檔的問題。例如線上一個流水表,業務僅僅只需要存放最近3個月的流水數據,三個月前的數據做歸檔即可,那麼pt-archiver就可以輕松幫你完成這件事情,甚至你可以配置成自動任務,無需人工干預。

作為DBA,我們應該知其然更應該知其所以然,這樣我們也能夠放心地使用pt工具。相信很多DBA都研究過pt-online-schema-change的原理,那麼今天我們深入刨一刨pt-archiver的工作原理。
一、原理觀察
土人有土辦法,我們直接開啟general log來觀察pt-archiver是如何完成歸檔的。
命令
pt-archiver --source h=127.0.0.1,u=xucl,p=xuclxucl,P=3306,D=xucl,t=t1 --dest h=127.0.0.1,P=3306,u=xucl,p=xuclxucl,D=xucl_archive,t=t1 --progress 5000 \
--statistics --charset=utf8mb4 --limit=10000 --txn-size 1000 --sleep 30
常用選項
--analyze
指定工具完成數據歸檔後對表執行'ANALYZE TABLE'操作。指定方法如'--analyze=ds',s代表源端表,d代表目標端表,也可以單獨指定。
--ask-pass
命令行提示密碼輸入,保護密碼安全,前提需安裝模塊perl-TermReadKey。
--buffer
指定緩沖區數據刷新到選項'--file'指定的文件並且在提交時刷新。
只有當事務提交時禁用自動刷新到'--file'指定的文件和刷新文件到磁碟,這意味著文件是被操作系統塊進行刷新,因此在事務進行提交之前有一些數據隱式刷新到磁碟。默認是每一行操作後進行文件刷新到磁碟。
--bulk-delete
指定單個語句刪除chunk的方式來批量刪除行,會隱式執行選項'--commit-each'。
使用單個DELETE語句刪除每個chunk對應的錶行,通常的做法是通過主鍵進行逐行的刪除,批量刪除在速度上會有很大的提升,但如果有復雜的'WHERE'條件就可能會更慢。
--[no]bulk-delete-limit
默認值:yes
指定添加選項'--bulk-delete'和'--limit'到進行歸檔的語句中。
--bulk-insert
使用LOAD DATA LOCAL INFILE的方法,通過批量插入chunk的方式來插入行(隱式指定選項'--bulk-delete'和'--commit-each')
而不是通過逐行單獨插入的方式進行,它比單行執行INSERT語句插入的速度要快。通過隱式創建臨時表來存儲需要批量插入的行(chunk),而不是直接進行批量插入操作,當臨時表中完成每個chunk之後再進行統一數據載入。為了保證數據的安全性,該選項會強制使用選項'--bulk-delete',這樣能夠有效保證刪除是在插入完全成功之後進行的。
--channel
指定當主從復制環境是多源復制時需要進行歸檔哪個主庫的數據,適用於多源復制中多個主庫對應一個從庫的情形。
--charset,-A
指定連接字元集。
--[no]check-charset
默認值:yes
指定檢查確保資料庫連接時字元集和表字元集相同。
--[no]check-columns
默認值:yes
指定檢查確保選項'--source'指定的源端表和'--dest'指定的目標表具有相同的欄位。
不檢查欄位在表的排序和欄位類型,只檢查欄位是否在源端表和目標表當中都存在,如果有不相同的欄位差異,則工具報錯退出。如果需要禁用該檢查,則指定'--no-check-columns'。
--check-slave-lag
指定主從復制延遲大於選項'--max-lag'指定的值之後暫停歸檔操作。默認情況下,工具會檢查所有的從庫,但該選項只作用於指定的從庫(通過DSN連接方式)。
--check-interval
默認值:1s
如果同時指定了選項'--check-slave-lag',則該選項指定的時間為工具發現主從復制延遲時暫停的時間。每進行操作100行時進行一次檢查。
--columns,-c
指定需要歸檔的表欄位,如有多個則用','(逗號)隔開。
--commit-each
指定按每次獲取和歸檔的行數進行提交,該選項會禁用選項'--txn-size'。
在每次獲取表數據並進行歸檔之後,在獲取下一次數據和選項'--sleep'指定的休眠時間之前,進行事務提交和刷新選項'--file'指定的文件,通過選項'--limit'控制事務的大小。
--host,-h
指定連接的資料庫IP地址。
--port,-P
指定連接的資料庫Port埠。
--user,-u
指定連接的資料庫用戶。
--password,-p
指定連接的資料庫用戶密碼。
--socket,-S
指定使用SOCKET文件連接。
--databases,-d
指定連接的資料庫
--source
指定需要進行歸檔操作的表,該選項是必須指定的選項,使用DSN方式表示。
--dest
指定要歸檔到的目標端表,使用DSN方式表示。
如果該選項沒有指定的話,則默認與選項'--source'指定源端表為相同表。

--where
指定通過WHERE條件語句指定需要歸檔的數據,該選項是必須指定的選項。不需要加上'WHERE'關鍵字,如果確實不需要WHERE條件進行限制,則指定'--where 1=1'。
--file
指定表數據需要歸檔到的文件。使用類似MySQL DATE_FORMAT()格式化命名方式。
文件內容與MySQL中SELECT INTO OUTFILE語句使用相同的格式,文件命名選項如下所示:
%Y:年,4位數(Year, numeric, four digits)
%m:月,2位數(Month, numeric (01..12))
%d:日,2位數(Day of the month, numeric (01..31))
%H:小時(Hour (00..23))
%i:分鍾(Minutes, numeric (00..59))
%s:秒(Seconds (00..59))
%D:資料庫名(Database name)
%t:表名(Table name)
二、原理解析
根據general log的輸出,我們整理出時序表格如下
三、其他說明
咋一看這個過程貌似也沒有什麼問題,但是,假如在原表掃描出數據,插入到新表的過程中,舊數據發生了變化怎麼辦?
帶著這個疑問,我們進行了源碼的跟蹤,我們在pt-archiver的6839行打上了斷點
然後我分別在幾個session窗口做了如下動作
最後pt-archiver輸出如下:
# A software update is available:
TIME ELAPSED COUNT
2020-04-08T09:13:21 0 0
2020-04-08T09:13:21 0 1
Started at 2020-04-08T09:13:21, ended at 2020-04-08T09:13:51
Source: A=utf8mb4,D=xucl,P=3306,h=127.0.0.1,p=...,t=t1,u=xucl
Dest: A=utf8mb4,D=xucl_archive,P=3306,h=127.0.0.1,p=...,t=t1,u=xucl
SELECT 1
INSERT 1
DELETE 1
Action Count Time Pct
sleep 1 30.0002 99.89
inserting 1 0.0213 0.07
commit 2 0.0080 0.03
select 2 0.0017 0.01
deleting 1 0.0005 0.00
other 0 0.0008 0.00
很明顯,id=3這條記錄並沒有進行歸檔(我們這里是改了條件列,實際生產中可能是更改了其他列,造成歸檔數據不準確)
那麼如何來解決這種情況的發生呢?
顯然,資料庫在資料庫中可以通過加排它鎖來防止其他程序修改對應的數據,pt-archiver其實早就已經幫我們考慮到了這樣的情況,pt-archiver提供了兩種選擇
--for-update:Adds the FOR UPDATE modifier to SELECT statements
--share-lock:Adds the LOCK IN SHARE MODE modifier to SELECT statements
四、總結
pt-archiver作為歸檔工具無疑是MySQL DBA日常運維的大利器之一,在使用過程中在知道如何使用的基礎上也能夠知曉其原理
歸檔過程中最好能對歸檔記錄進行加鎖操作,以免造成歸檔數據不準確
在主從環境中,歸檔過程最好控制速度,以免造成主從延遲
盡量控制好chunk的大小,不要過大,造成大事務

『貳』 如何將oracle資料庫設置為歸檔模式

則按下方法修改資料庫歸檔模式。
1. 關閉資料庫
SQL> shutdown immediate;

2. 啟動數據mount狀態:
SQL> startup mount;

3. 修改資料庫為歸檔模式:
SQL> alter database archivelog;

4. 打開資料庫:
SQL> alter database open;

『叄』 資料庫中的歸檔是什麼意思

這里就涉及到重做日誌得問題了,在歸檔模式下,當日誌文件進行切換得時候,進程LGWR會將日誌寫入磁碟,作為日誌文件為以後的資料庫恢復准備,在非歸檔模式下就不行,當日誌文件進行切換得時候會覆蓋原來的日誌文件,對於非歸檔模式一般只能進行完全恢復!不過建議應該把DB設為歸檔模式

『肆』 提供一些大規模資料庫歸檔的解決方案

數據立方雲計算一體機是大數據處理平台,採用英特爾E5家族系列CPU及英特爾伺服器組件,具有超高性價比、超高處理性能、超高可靠性等特性,提供千億紀錄級別的海量數據實時入庫、實時檢索等功能。
數據立方雲計算一體機是一種處理海量數據的高效分布式軟硬體集合的雲處理平台,該平台可以從TB乃至PB級的數據中挖掘出有用的信息,並對這些海量信息進行快捷、高效的處理。平台支持100GBps以上量級的數據流實時索引,秒級響應客戶請求,秒級完成數據處理、查詢和分析工作。平台可以對入口數據進行實時索引,對數據進行分析、清理、分割,並將其存儲在雲存儲系統上,不僅在入庫和檢索時具有非常高的性能優勢,還可以支持數據深度挖掘和商業智能分析等業務。

『伍』 如何將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以後重啟資料庫才生效。

『陸』 數據歸檔的數據倉庫存檔解決方案

Informatica Data Archive 是一種高度可擴展的高性能數據存檔軟體。 它可幫助 IT 組織經濟有效地管理各種企業業務應用程序中的數據增長,以提高其性能並降低 IT 成本。 藉助 Informatica Data Archive,IT 團隊可以安全地存檔應用程序數據,提供對存檔數據的無縫訪問,並按需向業務部門提供存檔數據 。 存檔非活動數據以提高應用程序性能 安全地淘汰遺留應用程序以降低 IT 成本 藉助全面實施的保留和處置政策確保合規性和對數據存檔的輕松訪問 Informatica Data Archive 主要功能之深入分析數據增長 分析應用程序之間的表空間、架構和模塊的數據增長率 有助於確定有效的存檔策略及更好地管理數據增長 Informatica Data Archive 主要功能之可靠的數據存檔支持 將非活動數據移到其他資料庫實例,或置於不可修改且高度壓縮的安全文件中,以供日後檢索 存檔完整的業務條目,包括事務數據、主數據、參考數據和元數據。 Informatica Data Archive 主要功能之非結構化數據存檔支持 將文檔、附件、圖像和音頻文件存檔 將電信交換的詳細呼叫記錄 (CDR) 存檔,並將其轉化為可輕松搜索的結構化存檔格式 Informatica Data Archive 主要功能之無縫訪問數據存檔 可從現有應用程序界面訪問資料庫實例中存檔的數據,以及恢復完整的存檔、選定業務實體或存檔快照 訪問存檔數據時與原應用程序具有類似的外觀和體驗,或從標準的報告和商業智能工具,訪問存檔數據 Informatica Data Archive 主要功能之所有數據存檔的內在合規性 保證所有數據存檔的事務完整性和參考完整性 控制、跟蹤存檔過程和對存檔數據的所有訪問、保留、清除和保留活動 Informatica Data Archive 主要功能之全套應用程序加速器 提供預建的加速器,其中含有針對 Oracle E-Business Suite、PeopleSoft、Siebel、SAP 等業務應用程序的自定義業務規則和資料庫存檔策略 使用簡單的圖形用戶界面來顯示、編輯和擴展存檔模板(加速器),也可用來構建新的數據存檔模型和業務規則以對自定義應用程序進行存檔 Informatica Data Archive 主要功能之廣泛的連接性和擴展性 可連接到眾多資料庫、大型機和業務應用程序,包括Oracle、IBM DB2、MS SQL Server、Teradata、VSAM、Adabas 和 JD Edwards 輕松地與電子郵件和文件存檔解決方案或企業內容管理解決方案相集成 使用Informatica Data Archive,可以存檔到另一個數據倉庫實例,或存檔到能極大節省存儲空間的高度壓縮文件格式。隨著數據變舊和訪問需求隨時間變化,Informatica Data Archive自動將數據從一種存檔格式轉成另一種格式,並從一個位置遷移到另一個位置,啟動多個經濟高效的存儲層。
Informatica Data Archive只允許存檔事務數據和明細數據,這些數據是增長最快的。在維護數據完整性以及指向可能仍然存儲在生產系統中的維表和聚合表的鏈接時執行此操作。最後 ,有些較舊的維記錄也可能需要存檔。Informatica Data Archive非常清楚應存檔哪些類型的表來支持最優的存檔策略。
Informatica Data Archive提供一個簡單易用的圖形用戶界面,不需大量的配置、編寫腳本或編製程序就可以輕松定義存檔工作。利用提供多種存檔格式和輔助功能選項的數據倉庫存檔解決方案,IT組織可以在存檔大小、性能、應用程序可存取性以及成本之間確定一個適當的平衡點。 您的公司可能已經有用於電子郵件和文件的存檔解決方案。此外,您的 IT 組織可能也有自己的企業內容管理 (ECM) 解決方案標准來管理您的非結構化數據。為了支持合規性需求並確保留存數據的不變和單實例存儲,可以使用需要專屬連接的存檔 平台,如內容定址存儲 (CAS)。
為 了 讓 您 的 組 織 快 速 而 精 確 地 響 應 審 計 請 求 以 及 經 濟 高 效 地 長 期 留 存數據,Informatica Data Archive 允許您集中管理和發現所有類型(結構數據和非結構數據)的存檔數據。這通過與現有存檔、內容管理和存儲解決方案(包括EMC Documentum、Symantec Enterprise Vault 和 Discovery Accelerator、CommVault Simpana 和 eDiscovery)集成來完成,以促進所有類型存檔數據的集中管理和電子搜索。
Informatica Data Archive 使組織能夠處理大型跨國企業通常擁有的海量數據。通過提供全面而強大的技術來輕松、安全地存檔非活動數據,然後在需要時很容易訪問數據,Informatica Data Archive 提供了全面的存檔解決方案,可提供最優化、經濟高效的數據倉庫基礎設施。 Informatica Data Archive 使組織能夠處理大型跨國企業通常擁有的海量數據。通過提供全面而強大的技術來輕松、安全地存檔非活動數據,然後在需要時很容易訪問 數據,Informatica Data Archive 提供了全面的存檔解決方案,可提供最優化、經濟高效的數據倉庫基礎設施。
當您的 IT 組織實施一個完整、可擴展和靈活的存檔解決方案時,可以通過以下方面
來降低數據倉庫及其他應用程序的總擁有成本:
· 降低存儲、伺服器、軟體和維護成本
· 改善數據倉庫性能
· 提高數據倉庫可用性
· 支持遵守內部、行業及政府法令和法規
同時,Informatica 和您的 IT 組織可以結合數據的業務價值與最適合和經濟高效的 IT
基礎設施來管理它。

『柒』 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 (退出)

『捌』 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;

『玖』 資料庫歸檔是什麼意思

將不再經常使用的數據移到一個單獨的存儲設備來進行長期保存的過程。數據存檔由舊的數據組成,但它是以後參考所必需且很重要的數據,其數據必須遵從規則來保存。數據存檔具有索引和搜索功能,這樣文件可以很容易地找到。

可以利用數據存檔,以物理方式自動將數據倉庫中具有較低業務價值的數據遷移到更適合、更經濟高效的存儲層。有許多標准可用來確定業務價值較低的數據:如數據訪問和性能需求、數據的使用年限、數據屬於哪個地區或部門,以及分區用途。

當訪問率低的數據發展為消耗數據倉庫的最大一份,最合理的處理方式是以物理和邏輯方式從核心生產數據倉庫中分離此數據。



(9)資料庫歸檔方案擴展閱讀

歸檔的目的是長時間存放有組織的數據集,確保其將來能夠被精細地檢索。改進的磁帶是這種應用最理想的方式。

備份是短時間存儲那些頻繁更換或更新的數據的副本。這相當於一批廉價的離線介質上的數據副本。通過這種方式,可以把數據與那些基於磁碟的數據中斷事件隔離開,以免同時遭到損壞,這樣,如果原始數據或存儲平台損壞的話,數據就可以恢復到任何磁碟陣列。

在磁碟到磁碟復制解決方案中,復制只能發生在兩個完全相同的設備中。此外,復制過程還可以中斷,這樣你就可以檢查在主數據存儲和鏡像倉庫之間的增量或差異。不過,這樣它可能會導致在磁碟到磁碟的復制過程中產生很多不易察覺的錯誤。