oracle存档模式,Oracle的备份和存档模式
Oracle的備份和存檔模式
在做硬件升級(jí)前必須要將數(shù)據(jù)庫(kù)做一次全備份,以便在出現(xiàn)不可預(yù)料的情況下進(jìn)行恢復(fù),全備份的方法有多種,以下列舉兩種簡(jiǎn)單高效的邏輯備份和冷備份,在數(shù)據(jù)庫(kù)可以宕機(jī)的條件下,推薦使用冷備份,備份和恢復(fù)都較為簡(jiǎn)單和安全。升級(jí)完成再將數(shù)據(jù)庫(kù)更改為存檔模式。一、邏輯備份(導(dǎo)出、導(dǎo)入)
1、導(dǎo)出工具 EXP
它是操作系統(tǒng)下一個(gè)可執(zhí)行的文件存放目錄/ORACLE_HOME/bin。
exp導(dǎo)出工具將數(shù)據(jù)庫(kù)中數(shù)據(jù)備份壓縮成一個(gè)二進(jìn)制系統(tǒng)文件。可以在不同OS間遷移。
它有三種模式:
a.?用戶(hù)模式:導(dǎo)出用戶(hù)所有對(duì)象以及對(duì)象中的數(shù)據(jù);
b.?表模式:?導(dǎo)出用戶(hù)所有表或者指定的表;
c.
整個(gè)數(shù)據(jù)庫(kù):導(dǎo)出數(shù)據(jù)庫(kù)中所有對(duì)象――需要DBA賦予該角色full_exp_database權(quán)限
2. exp交互式命令行方式導(dǎo)出
在一臺(tái)能連接公安網(wǎng)并且已安裝oracle客戶(hù)端的機(jī)器上連接目標(biāo)數(shù)據(jù)庫(kù)
C:\Documents and Settings\yu>exp
scott/tiger@zhouyu――以有權(quán)限用戶(hù)連接目標(biāo)數(shù)據(jù)庫(kù)
Export: Release 8.1.7.0.0 - Production on 星期五 1月 5 14:36:16
2007
(c) Copyright 2000 Oracle Corporation.?All
rights reserved.
連接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 -
Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
輸入數(shù)組提取緩沖區(qū)大小: 4096 >
――回車(chē)或者選擇較為合適的緩沖區(qū)大小
導(dǎo)出文件: EXPDAT.DMP>
e:\test.dmp?――指定要導(dǎo)出的文件在本機(jī)存放地址
(1)E(完整的數(shù)據(jù)庫(kù)),(2)U(用戶(hù)) 或 (3)T(表): (2)U > E
――指定導(dǎo)出的模式
導(dǎo)出權(quán)限(yes/no):yes>――指定是否導(dǎo)出權(quán)限,回車(chē)默認(rèn)導(dǎo)出
導(dǎo)出表數(shù)據(jù)(yes/no):yes>――指定是否導(dǎo)出表數(shù)據(jù),回車(chē)默認(rèn)導(dǎo)出
壓縮區(qū)(yes/no):yes>――指定是否壓縮區(qū),回車(chē)默認(rèn)壓縮
3.exp非交互式命令行方式
在一臺(tái)能連接公安網(wǎng)并且已安裝oracle客戶(hù)端的機(jī)器上連接目標(biāo)數(shù)據(jù)庫(kù)
$exp parfile=username.par
file=/directory1/username_1.dmp,/directory1/username_2.dmp
filesize=2000M log=/directory2/username_exp.log
參數(shù)文件username.par內(nèi)容
userid=username/userpassword
buffer=8192000
compress=n
grants=y
說(shuō)明:username.par為導(dǎo)出工具exp用的參數(shù)文件,里面具體參數(shù)可以根據(jù)需要去修改,具體的參數(shù)可以在查看操作系統(tǒng)幫助,例如windows中cmd命令行輸入命令
exp -help
4.導(dǎo)入工具 IMP
1. 它是操作系統(tǒng)下一個(gè)可執(zhí)行的文件 存放目錄/ORACLE_HOME/bin
imp導(dǎo)入工具將EXP形成的二進(jìn)制系統(tǒng)文件導(dǎo)入到數(shù)據(jù)庫(kù)中.
它有三種模式:
a.?用戶(hù)模式:導(dǎo)出用戶(hù)所有對(duì)象以及對(duì)象中的數(shù)據(jù);
b.?表模式:?導(dǎo)出用戶(hù)所有表或者指定的表;
c.?整個(gè)數(shù)據(jù)庫(kù):?導(dǎo)出數(shù)據(jù)庫(kù)中所有對(duì)象。
只有擁有IMP_FULL_DATABASE和DBA權(quán)限的用戶(hù)才能做整個(gè)數(shù)據(jù)庫(kù)導(dǎo)入
5. imp交互式命令行方式導(dǎo)入
在一臺(tái)能連接公安網(wǎng)并且已安裝oracle客戶(hù)端的機(jī)器上連接目標(biāo)數(shù)據(jù)庫(kù)
C:\Documents and Settings\yu>imp scott/tiger@zhouyu
Import: Release 8.1.7.0.0 - Production on 星期五 1月 5 14:52:45
2007
(c) Copyright 2000 Oracle Corporation.?All
rights reserved.
連接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 -
Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 – Production
導(dǎo)入文件: EXPDAT.DMP>e\test.dmp
輸入插入緩沖區(qū)大小(最小為 8192 ) 30720>
經(jīng)由常規(guī)路徑導(dǎo)出由EXPORT:V08.01.06創(chuàng)建的文件
警告: 此對(duì)象由 TEST 導(dǎo)出, 而不是當(dāng)前用戶(hù)
已經(jīng)完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的導(dǎo)入
只列出導(dǎo)入文件的內(nèi)容(yes/no):no>
由于對(duì)象已存在, 忽略創(chuàng)建錯(cuò)誤(yes/no):no> yes
導(dǎo)入權(quán)限(yes/no):yes>
導(dǎo)入表數(shù)據(jù)(yes/no):yes>
導(dǎo)入整個(gè)導(dǎo)出文件(yes/no):no> yes
成功終止導(dǎo)入,但出現(xiàn)警告。
6. imp非交互式命令行方式導(dǎo)入
在一臺(tái)能連接公安網(wǎng)并且已安裝oracle客戶(hù)端的機(jī)器上連接目標(biāo)數(shù)據(jù)庫(kù)
$ imp system/manager parfile=params.dat
參數(shù)文件params.dat 內(nèi)容
file=dba.dmp show=n ignore=n grants=y fromuser=scott
tables=(dept,emp)
說(shuō)明:
params.dat為導(dǎo)出工具imp用的參數(shù)文件,里面具體參數(shù)可以根據(jù)需要去修改,具體的參數(shù)可以在查看操作系統(tǒng)幫助,例如windows中cmd命令行輸入命令
imp –help。
需要注意的問(wèn)題
imp和exp使用的字符集不同,如果字符集不同, 導(dǎo)入會(huì)失敗,
可以改變unix環(huán)境變量或者NT注冊(cè)表里NLS_LANG相關(guān)信息.導(dǎo)入完成后再改回來(lái)。
imp和exp版本不能往上兼容,imp可以成功導(dǎo)入低版本exp生成的文件,
不能導(dǎo)入高版本exp生成的文件。
imp全庫(kù)導(dǎo)入需要該用戶(hù)有IMP_FULL_DATABASE權(quán)限或本身為DBA用戶(hù)。
二、冷備份
冷備份發(fā)生在數(shù)據(jù)庫(kù)已經(jīng)正常關(guān)閉的情況下,當(dāng)正常關(guān)閉時(shí)會(huì)提供給我們一個(gè)完整的數(shù)據(jù)庫(kù)。冷備份是將關(guān)鍵性文件拷貝到另外位置的一種說(shuō)法。對(duì)于備份Oracle信息而言,冷備份是最快和最安全的方法。冷備份的優(yōu)點(diǎn)是:
1.是非常快速的備份方法(只需拷貝文件)
2.容易歸檔(簡(jiǎn)單拷貝即可)
3.容易恢復(fù)到某個(gè)時(shí)間點(diǎn)上(只需將文件再拷貝回去)
4.能與歸檔方法相結(jié)合,作數(shù)據(jù)庫(kù)“最新?tīng)顟B(tài)”的恢復(fù)。
5.低度維護(hù),高度安全。
但冷備份也有如下不足:
1.單獨(dú)使用時(shí),只能提供到“某一時(shí)間點(diǎn)上”的恢復(fù)。
2.在實(shí)施備份的全過(guò)程中,數(shù)據(jù)庫(kù)必須要作備份而不能作其它工作。也就是說(shuō),在冷備份過(guò)程中,數(shù)據(jù)庫(kù)必須是關(guān)閉狀態(tài)。
3.若磁盤(pán)空間有限,只能拷貝到磁帶等其它外部存儲(chǔ)設(shè)備上,速度會(huì)比較慢。
4.不能按表或按用戶(hù)恢復(fù)。
如果可能的話(huà)(主要看效率),應(yīng)將信息備份到磁盤(pán)上,然后啟動(dòng)數(shù)據(jù)庫(kù)(使用戶(hù)可以工作)并將所備份的信息拷貝到磁帶上(拷貝的同時(shí),數(shù)據(jù)庫(kù)也可以工作)。冷備份中必須拷貝的文件包括:
1.所有數(shù)據(jù)文件
2.所有控制文件
3.所有聯(lián)機(jī)REDO LOG文件
4.Init.ora文件(可選)。
值得注意的是冷備份必須在數(shù)據(jù)庫(kù)關(guān)閉的情況下進(jìn)行,當(dāng)數(shù)據(jù)庫(kù)處于打開(kāi)狀態(tài)時(shí),執(zhí)行數(shù)據(jù)庫(kù)文件系統(tǒng)備份是無(wú)效的
1.以system用戶(hù)登陸到數(shù)據(jù)庫(kù),執(zhí)行查詢(xún),并保存查詢(xún)結(jié)果。
數(shù)據(jù)文件的位置:select name from v$datafile;
控制文件的位置:select name from v$controlfile;
日志文件的位置:select member from v$logfile;
初始化參數(shù)文件initsid.ora。
2.關(guān)閉數(shù)據(jù)庫(kù)
SQL>conn
sys/change_on_install@orcl as sysdba
SQL>shutdown normal;
3.按照第一步查詢(xún)結(jié)果,使用操作系統(tǒng)命令,拷貝文件至要備份路徑或磁盤(pán)。完成備份
4.重啟oracle數(shù)據(jù)庫(kù)
SQL>conn
sys/change_on_install@orcl as sysdba
SQL >startup;
三、更改oracle為歸檔模式
在默認(rèn)情況下,在創(chuàng)建數(shù)據(jù)庫(kù)的時(shí)候,它處于NOARCHIVE模式,也就是非歸檔模式,非歸檔模式不必考慮存儲(chǔ)復(fù)制的文件所需要的額外存儲(chǔ)空間,也不需要存檔管理任務(wù),但是,從備份和恢復(fù)的角度來(lái)看,最大的缺點(diǎn)就是在出現(xiàn)硬件故障的時(shí)候,在最后一次數(shù)據(jù)庫(kù)備份之后的任何更改都將丟失。這對(duì)于總隊(duì)數(shù)據(jù)庫(kù)來(lái)說(shuō)是不可以接受的。所以需要在硬件升級(jí)的同時(shí),將數(shù)據(jù)庫(kù)更改為歸檔模式,以便在出現(xiàn)故障時(shí)對(duì)數(shù)據(jù)庫(kù)進(jìn)行恢復(fù)。
1.確定存檔模式
在更改數(shù)據(jù)庫(kù)存檔模式之前,首先需要做的就是確定當(dāng)前的模式。
通過(guò)SQL*PLUS來(lái)確認(rèn)
連接目標(biāo)數(shù)據(jù)庫(kù)
SQL> conn ntiis/ntiisadmin@work60
已連接。
SQL> select log_mode from v$database;
LOG_MODE
------------
NOARCHIVELOG?――確認(rèn)為非歸檔模式
2.更改數(shù)據(jù)庫(kù)參數(shù)文件
修改數(shù)據(jù)庫(kù)參數(shù)文件/ORACLE_HOME/admin/pfile/init.ora
取消以下語(yǔ)句的#注釋
log_archive_start = true
log_archive_dest_1 =
"location=/ORACLE_HOME/oradata/oradb/archive"
log_archive_format = %%ORACLE_SID%%T%TS%S.ARC
關(guān)閉數(shù)據(jù)庫(kù),重新啟動(dòng)
3.連接至總隊(duì)數(shù)據(jù)庫(kù),確認(rèn)更改生效
Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
With the Partitioning option
JServer Release 8.1.7.0.0 - Production
SQL> connect internal
連接成功。
SQL> startup
已啟動(dòng) ORACLE 實(shí)例。
系統(tǒng)全局區(qū)域合計(jì)有 57124108個(gè)字節(jié)
Fixed Size 70924個(gè)字節(jié)
Variable Size 40198144個(gè)字節(jié)
Database Buffers 16777216個(gè)字節(jié)
Redo Buffers 77824個(gè)字節(jié)
已裝入數(shù)據(jù)庫(kù)。
數(shù)據(jù)庫(kù)已打開(kāi)。
SQL> alter system switch logfile;
--強(qiáng)制系統(tǒng)進(jìn)行日志切換,可馬上觀察到歸檔日志的產(chǎn)生
語(yǔ)句已處理。
查看C:\Oracle\oradata\oradb\archive目錄下,可以看到類(lèi)似ORADBT001S01201.ARC的文件,說(shuō)明歸檔成功
4.解釋init.ora參數(shù)文件中關(guān)于歸檔重做日志參數(shù)項(xiàng)的含義
歸檔模式是自動(dòng)還是手工,true為自動(dòng),false為手工
log_archive_start = true
歸檔日志文件所保存的路徑
log_archive_dest_1 =
"location=C:\Oracle\oradata\oradb\archive"
歸檔日志文件的命名方法
log_archive_format = %%ORACLE_SID%%T%TS%S.ARC
總結(jié)
以上是生活随笔為你收集整理的oracle存档模式,Oracle的备份和存档模式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: oracle log.xml分析,Ora
- 下一篇: oracle中行数少于1000,orac