欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
ORACLE備份策略1

第一章. 概要
1、了解什么是備份
2、了解備份的重要性
3、理解數據庫的兩種運行方式
4、理解不同的備份方式及其區別
5、了解正確的備份策略及其好處
第二章. 了解備份的重要性
可以說(shuō),從計算機系統出世的那天起,就有了備份這個(gè)概念,計算機以其強大的速度處理能力,取代了很多人為的工作,但是,往往很多時(shí)候,它又是那么弱不禁風(fēng),主板上的芯

片、主板電路、內存、電源等任何一項不能正常工作,都會(huì )導致計算機系統不能正常工作。當然,這些損壞可以修復,不會(huì )導致應用和數據的損壞。但是,如果計算機的硬盤(pán)損壞

,將會(huì )導致數據丟失,此時(shí)必須用備份恢復數據。
其實(shí),在我們的現實(shí)世界中,已經(jīng)就存在很多備份策略,如RAID技術(shù),雙機熱備,集群技術(shù)發(fā)展的不就是計算機系統的備份和高可用性嗎?有很多時(shí)候,系統的備份的確就能解決

數據庫備份的問(wèn)題,如磁盤(pán)介質(zhì)的損壞,往往從鏡相上面做簡(jiǎn)單的恢復,或簡(jiǎn)單的切換機器就可以了。
但是,上面所說(shuō)的系統備份策略是從硬件的角度來(lái)考慮備份與恢復的問(wèn)題,這是需要代價(jià)的。我們所能選擇備份策略的依據是:丟是數據的代價(jià)與確保數據不丟失的代價(jià)之比。還

有的時(shí)候,硬件的備份有時(shí)根本滿(mǎn)足不了現實(shí)需要,假如你誤刪了一個(gè)表,但是你又想恢復的時(shí)候,數據庫的備份就變的重要了。ORACLE本身就提供了強大的備份與恢復策略,這

里我們只討論ORACLE備份策略,以下的備份都是指ORACLE數據庫備份,恢復將放到下一講中。
所謂備份,就是把數據庫復制到轉儲設備的過(guò)程。其中,轉儲設備是指用于放置數據庫拷貝的磁帶或磁盤(pán)。
能夠進(jìn)行什么樣的恢復依賴(lài)于有什么樣的備份。作為 DBA,有責任從以下三個(gè)方面維護數據庫的可恢復性:
·使數據庫的失效次數減到最少,從而使數據庫保持最大的可用性;
·當數據庫不可避免地失效后,要使恢復時(shí)間減到最少,從而使恢復的效率達到最高;
·當數據庫失效后,要確保盡量少的數據丟失或根本不丟失,從而使數據具有最大的可恢復性。
災難恢復的最重要的工作是設計充足頻率的硬盤(pán)備份過(guò)程。備份過(guò)程應該滿(mǎn)足系統要求的可恢復性。例如,如果數據庫可有較長(cháng)的關(guān)機時(shí)間,則可以每周進(jìn)行一次冷備份,并歸檔

重做日志,對于24*7的系統,或許我們考慮的只能是熱備份。 如果每天都能備份當然會(huì )很理想,但要考慮其現實(shí)性。企業(yè)都在想辦法降低維護成本,現實(shí)的方案才可能被采用。只

要仔細計劃,并想辦法達到數據庫可用性的底線(xiàn),花少量的錢(qián)進(jìn)行成功的備份與恢復也是可能的。
第三章. 了解ORACLE的運行方式
ORACLE數據庫有兩種運行方式:一是歸檔方式(ARCHIVELOG),歸檔方式的目的是當數據庫發(fā)生故障時(shí)最大限度恢復數據庫,可以保證不丟失任何已提交的數據;二是不歸檔方式

(NOARCHIVELOG),只能恢復數據庫到最近的回收點(diǎn)(冷備份或是邏輯備份)。我們根據數據庫的高可用性和用戶(hù)可承受丟失的工作量的多少,對于生產(chǎn)數據庫,強烈要求采用為歸

檔方式;那些正在開(kāi)發(fā)和調試的數據庫可以采用不歸檔方式。
如何改變數據庫的運行方式,在創(chuàng )建數據庫時(shí),作為創(chuàng )建數據庫的一部分,就決定了數據庫初始的存檔方式。一般情況下為NOARCHIVELOG方式。當數據庫創(chuàng )建好以后,根據我們的

需要把需要運行在歸檔方式的數據庫改成ARCHIVELOG方式。
3.1改變不歸檔方式為為歸檔方式
1.關(guān)閉數據庫,備份已有的數據,改變數據庫的運行方式是對數據庫的重要改動(dòng),所以要對數據庫做備份,對可能出現的問(wèn)題作出保護。
2. 修改初試化參數,使能自動(dòng)存檔修改(添加)初始化文件init[SID].ora參數:
log_archive_start=true #啟動(dòng)自動(dòng)歸檔
log_archive_format=ARC%T%S.arc #歸檔文件格式
log_archive_dest=/arch12/arch #歸檔路徑
在8i中,可以最多有五個(gè)歸檔路徑,并可以歸檔到其它服務(wù)器,如備用數據庫(standby database)服務(wù)器
3.啟動(dòng)Instance到Mount狀態(tài),即加載數據庫但不打開(kāi)數據庫:
$>SVRMGRL
SVRMGRL >connect internal
SVRMGRL >startup mount
4.發(fā)出修改命令
SVRMGRL >alter database archivelog;
SVRMGRL>alter database open;
3.2 改變歸檔狀態(tài)為不歸檔狀態(tài)
與以上步驟相同,但有些操作不一樣,主要是在以上的b操作中,現在為刪除或注釋該參數,在d操作中,命令為
SVRMGRL >alter database noarchivelog;
注意,從歸檔方式轉換到非歸檔方式后一定要做一次數據庫的全冷備份,防止意外事件的發(fā)生。
第四章. ORACLE備份的分類(lèi)
簡(jiǎn)單的按照備份進(jìn)行的方式,可以分為邏輯備份、冷備份(脫機備份)、熱備份(聯(lián)機備份),其實(shí)冷備份與熱備份又可以合稱(chēng)為物理備份
按照備份的工具,可以分為EXP/IMP備份、OS拷貝、RMAN、第三方工具,如VERITAS
以下我們將從多個(gè)角度來(lái)說(shuō)明以上的各種備份方式
4.1 EXP/IMP邏輯備份
導入/導出是ORACLE幸存的最古老的兩個(gè)命令行工具了,其實(shí)我從來(lái)不認為Exp/Imp是一種好的備份方式,正確的說(shuō)法是Exp/Imp只能是一個(gè)好的轉儲工具,特別是在小型數據庫的轉

儲,表空間的遷移,表的抽取,檢測邏輯和物理沖突等中有不小的功勞。當然,我們也可以把它作為小型數據庫的物理備份后的一個(gè)邏輯輔助備份,也是不錯的建議。
對于越來(lái)越大的數據庫,特別是TB級數據庫和越來(lái)越多數據倉庫的出現,EXP/IMP越來(lái)越力不從心了,這個(gè)時(shí)候,數據庫的備份都轉向了RMAN和第三方工具。下面我們還是簡(jiǎn)要介紹

一下EXP/IMP的使用。
4.1.1 使用方法
Exp parameter_name=value
Or Exp parameter_name=(value1,value2……)
只要輸入參數help=y就可以看到所有幫助
如:
C:>set nls_lang=simplified chinese_china.zhs16gbk
C:>exp -help
Export: Release 8.1.6.0.0 - Production on 星期四 4月 10 19:09:21 2003
(c) Copyright 1999 Oracle Corporation. All rights reserved.
通過(guò)輸入 EXP 命令和用戶(hù)名/口令,您可以
在用戶(hù) / 口令之后的命令:
實(shí)例: EXP SCOTT/TIGER
或者,您也可以通過(guò)輸入跟有各種參數的 EXP 命令來(lái)控制“導出”
的運行方式。要指定參數,您可以使用關(guān)鍵字:
格式: EXP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
實(shí)例: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)
或 TABLES=(T1: P1,T1: P2),如果 T1 是分區表
USERID 必須是命令行中的第一個(gè)參數。
關(guān)鍵字 說(shuō)明(默認) 關(guān)鍵字 說(shuō)明(默認)
--------------------------------------------------------------------------
USERID 用戶(hù)名/口令 FULL 導出整個(gè)文件 (N)
BUFFER 數據緩沖區的大小 OWNER 所有者用戶(hù)名列表
FILE 輸出文件 (EXPDAT.DMP) TABLES 表名列表
COMPRESS 導入一個(gè)范圍 (Y) RECORDLENGTH IO 記錄的長(cháng)度
GRANTS 導出權限 (Y) INCTYPE 增量導出類(lèi)型
INDEXES 導出索引 (Y) RECORD 跟蹤增量導出 (Y)
ROWS 導出數據行 (Y) PARFILE 參數文件名
CONSTRAINTS 導出限制 (Y) CONSISTENT 交叉表一致性
LOG 屏幕輸出的日志文件 STATISTICS 分析對象 (ESTIMATE)
DIRECT 直接路徑 (N) TRIGGERS 導出觸發(fā)器 (Y)
FEEDBACK 顯示每 x 行 (0) 的進(jìn)度
FILESIZE 各轉儲文件的最大尺寸
QUERY 選定導出表子集的子句
下列關(guān)鍵字僅用于可傳輸的表空間
TRANSPORT_TABLESPACE 導出可傳輸的表空間元數據 (N)
TABLESPACES 將傳輸的表空間列表
在沒(méi)有警告的情況下成功終止導出。
C:>
幫助已經(jīng)很詳細的說(shuō)明了參數的意義和使用方法,并列舉了幾個(gè)簡(jiǎn)單的例子,注意的是,從8i開(kāi)始,已經(jīng)開(kāi)始支持數據子集的方法,就是可以指定自己的Where條件,可以從表中導

出一行或多行數據。
注意上面的set nls_lang=simplified chinese_china.zhs16gbk,通過(guò)設置環(huán)境變量,可以讓exp的幫助以中文顯示,如果set nls_lang=American_america.字符集,那么你的幫助

就是英文的了。
增量和累計導出必須在全庫方式下才有效,而且,大多數情況下,增量和累計導出并沒(méi)有想象中的那么有效。ORACLE從9i開(kāi)始,不再支持增量導出和累計導出。
4.1.2 表空間傳輸
表空間傳輸是8i新增加的一種快速在數據庫間移動(dòng)數據的一種辦法,是把一個(gè)數據庫上的格式數據文件附加到另外一個(gè)數據庫中,而不是把數據導出成Dmp文件,這在有些時(shí)候是非

常管用的,因為傳輸表空間移動(dòng)數據就象復制文件一樣快。
關(guān)于傳輸表空間有一些規則,即:
·源數據庫和目標數據庫必須運行在相同的硬件平臺上。
·源數據庫與目標數據庫必須使用相同的字符集。
·源數據庫與目標數據庫一定要有相同大小的數據塊
·目標數據庫不能有與遷移表空間同名的表空間
·SYS的對象不能遷移
·必須傳輸自包含的對象集
·有一些對象,如物化視圖,基于函數的索引等不能被傳輸
可以用以下的方法來(lái)檢測一個(gè)表空間或一套表空間是否符合傳輸標準:
exec sys.dbms_tts.transport_set_check(‘tablespace_name’,true);
select * from sys.transport_set_violation;
如果沒(méi)有行選擇,表示該表空間只包含表數據,并且是自包含的。對于有些非自包含的表空間,如數據表空間和索引表空間,可以一起傳輸。
以下為簡(jiǎn)要使用步驟,如果想參考詳細使用方法,也可以參考ORACLE聯(lián)機幫助。
1.設置表空間為只讀(假定表空間名字為APP_Data 和APP_Index)
alter tablespace app_data read only;
alter tablespace app_index read only;
2.發(fā)出EXP命令
SQL>host exp userid=”””sys/password as sysdba”””
transport_tablespace=y tablespace=(app_data, app_index)
以上需要注意的是
·為了在SQL中執行EXP,USERID必須用三個(gè)引號,在UNIX中也必須注意避免“/”的使用
·在816和以后,必須使用sysdba才能操作
·這個(gè)命令在SQL中必須放置在一行(這里是因為顯示問(wèn)題放在了兩行)
3.拷貝數據文件到另一個(gè)地點(diǎn),即目標數據庫
可以是cp(unix)或copy(windows)或通過(guò)ftp傳輸文件(一定要在bin方式)
4.把本地的表空間設置為讀寫(xiě)
5.在目標數據庫附加該數據文件
imp file=expdat.dmp userid=”””sys/password as sysdba”””
transport_tablespace=y
“datafile=(c:tempapp_data,c:tempapp_index)”
6.設置目標數據庫表空間為讀寫(xiě)
alter tablespace app_data read write;
alter tablespace app_index read write;
4.1.3 導出/導入與字符集
明白ORACLE的多國語(yǔ)言設置,ORACLE多國語(yǔ)言設置是為了支持世界范圍的語(yǔ)言與字符集,一般對語(yǔ)言提示,貨幣形式,排序方式和CHAR,VARCHAR2,CLOB,LONG字段的數據的顯示等有

效。ORACLE的多國語(yǔ)言設置最主要的兩個(gè)特性就是國家語(yǔ)言設置與字符集設置,國家語(yǔ)言設置決定了界面或提示使用的語(yǔ)言種類(lèi),字符集決定了數據庫保存與字符集有關(guān)數據(如

文本)時(shí)候的編碼規則。正如剛才上面的一個(gè)小例子,環(huán)境變量NLS_LANG的不同,導致EXP幫助發(fā)生變化,這就是多國語(yǔ)言設置的作用(NLS_LANG包含國家語(yǔ)言設置與字符集設置,

這里起作用的是國家語(yǔ)言設置,而不是字符集)。
ORACLE字符集設定,分為數據庫字符集和客戶(hù)端字符集環(huán)境設置。在數據庫端,字符集在創(chuàng )建數據庫的時(shí)候設定,并保存在數據庫props$表中,對于8i以上產(chǎn)品,已經(jīng)可以采用

“Alter database character set 字符集”來(lái)修改數據庫的字符集,但也僅僅是從子集到超集,不要通過(guò)update props$來(lái)修改字符集,如果是不支持的轉換,可能會(huì )失去所有與

字符集有關(guān)的數據,就是支持的轉換,也可能導致數據庫的不正常工作。字符集分為單字節字符集與多字節字符集,US7ASCII就是典型的單字節字符集,在這種字符集中

length=lengthb,而ZHS16GBK就是常用的雙字節字符集,在這里lengthb=2*length。
在客戶(hù)端的字符集環(huán)境比較簡(jiǎn)單,主要就是環(huán)境變量或注冊表項NLS_LANG,注意NLS_LANG的優(yōu)先級別為:參數文件à注冊表à環(huán)境變量àalter session。NLS_LANG的組成為“國家語(yǔ)

言設置.字符集”,如nls_lang=simplified chinese_china.zhs16gbk??蛻?hù)端的字符集最好與數據庫端一樣(國家語(yǔ)言設置可以不一樣,如zhs16gbk的字符集,客戶(hù)端可以是

nls_lang =simplified chinese_china.zhs16gbk或Ameircan_America.zhs16gbk,都不影響數據庫字符的正常顯示),如果字符集不一樣,而且字符集的轉換也不兼容,那么客戶(hù)

端的數據顯示與導出/導入的與字符集有關(guān)的數據將都是亂碼。
使用一點(diǎn)點(diǎn)技巧,就可以使導出/導入在不同的字符集的數據庫上轉換數據。這里需要一個(gè)2進(jìn)制文件編輯工具即可,如uedit32。用編輯方式打開(kāi)導出的dmp文件,獲取2、3字節的

內容,如00 01,先把它轉換為10進(jìn)制數,為1,使用函數NLS_CHARSET_NAME即可獲得該字符集:
SQL> select nls_charset_name(1) from dual;
NLS_CHARSET_NAME(1)
-------------------
US7ASCII
可以知道該dmp文件的字符集為US7ASCII,如果需要把該dmp文件的字符集換成ZHS16GBK,則需要用NLS_CHARSET_ID獲取該字符集的編號:
SQL> select nls_charset_id('zhs16gbk') from dual;
NLS_CHARSET_ID('ZHS16GBK')
--------------------------
852
把852換成16進(jìn)制數,為354,把2、3字節的00 01換成03 54,即完成了把該dmp文件字符集從us7ascii到zhs16gbk的轉化,這樣,再把該dmp文件導入到zhs16gbk字符集的數據庫就

可以了。(注意,十進(jìn)制數與十六進(jìn)制之間的轉換,想明白其中的道理)
4.1.4 跨版本使用Exp/Imp
Exp/Imp很多時(shí)候,可以跨版本使用,如在版本7與版本8之間導出導入數據,但這樣做必須選擇正確的版本,規則為:
·總是使用IMP的版本匹配數據庫的版本,如果要導入到816,則使用816的導入工具。
·總是使用EXP的版本匹配兩個(gè)數據庫中低的那個(gè)版本,如在815與816之間互導,則使用815的EXP工具。
4.2 OS備份
操作系統備份有兩類(lèi),冷備份(Cold backup)與熱備份(Hot backup),操作系統備份與以上的邏輯備份有本質(zhì)的區別。邏輯備份提取數據庫的數據內容,而不備份物理數據塊。

而操作系統備份則是拷貝整個(gè)的數據文件。
4.2.1 冷備份
在文件級備份開(kāi)始前數據庫必須徹底關(guān)閉。關(guān)閉操作必須用帶有normal、immediate、transaction選項的shutdown來(lái)執行。
數據庫使用的每個(gè)文件都被備份下來(lái),這些文件包括:
☆所有數據文件
☆所有控制文件
☆所有聯(lián)機REDO LOG 文件
☆I(lǐng)NIT.ORA文件(可選)
作冷備份一般步驟是:
a. 正常關(guān)閉要備份的實(shí)例(instance);
b. 備份整個(gè)數據庫到一個(gè)目錄
c. 啟動(dòng)數據庫

SVRMGRL>connect internal
SVRMGRL >shutdown immediate
SVRMGRL >! cp <file> <backup directory>

SVRMGRL >!tar cvf /dev/rmt/0 /u01/oradata/prod
SVRMGRL >startup
注意:如果利用腳本對數據庫進(jìn)行冷備份,必須對關(guān)閉數據庫的命令進(jìn)行邏輯檢查,如果發(fā)生關(guān)閉數據庫的命令不能正常執行而導致數據庫沒(méi)有正常關(guān)閉,那么,所有的冷備份將

回是無(wú)效的。
4.2.2熱備份
熱備份是當數據庫打開(kāi)并對用戶(hù)有效是的OS級的數據備份。熱備份只能用于A(yíng)RCHIVELOG方式的數據庫。在數據文件備份之前,對應的表空間必須通過(guò)使用ALTER TABLESPACE ……

BEGIN BACKUP以備份方式放置。然后組成表空間的數據文件可以使用類(lèi)似冷備份的操作系統命令進(jìn)行拷貝。在數據文件用操作系統命令拷貝后,應使用ALTER TABLESPACE …… END

BACKUP命令使表空間脫離熱備份方式。
熱備份沒(méi)有必要備份聯(lián)機日志,但必須是歸檔狀態(tài),在實(shí)例恢復的時(shí)候,可能需要用到歸檔日志。當前聯(lián)機日志一定要保護好或是處于鏡相狀態(tài),當前聯(lián)機日志的損壞,對于數據

庫的損壞是巨大的,只能以數據的丟失來(lái)進(jìn)行數據庫的恢復工作。
對于臨時(shí)表空間,存放的是臨時(shí)信息,在熱備份是也可以考慮不用備份,如果臨時(shí)文件發(fā)生故障,可以刪除該數據文件與表空間,重建一個(gè)臨時(shí)表空間。
熱備份的優(yōu)點(diǎn)是顯而易見(jiàn)的
---- a.可在表空間或數據文件級備份,備份時(shí)間短。
---- b.備份時(shí)數據庫仍可使用。
---- c.可達到秒級恢復(恢復到某一時(shí)間點(diǎn)上)。
---- d.可對幾乎所有數據庫實(shí)體作恢復。
---- e.恢復是快速的,在大多數情況下在數據庫仍工作時(shí)恢復。
操作系統作熱備份的一般步驟為:
1. 連接數據庫
SVRMGRL>connect internal;
2. 將需要備份的表空間(如User)設置為備份方式
SVRMGRL>Alter tablespace User begin backup;
3. 拷貝數據文件
SVRMGRL>!cp /u01/oradata/prod/user01.ora /backup/prod/user01.ora
Or
$cp cp /u01/oradata/prod/user01.ora /backup/prod/user01.ora
4. 在數據文件拷貝完成后,將表空間拖體備份方式
SVRMGRL>Alter tablespace User end backup;
5. 對所有需要備份的表空間重復2,3,4
6. 使用如下的命令備份控制文件ALTER DATABSE …… BACKUP CONTROLFILE
如備份成二進(jìn)制文件
alter database backup controlfile to ‘new fielname’;
備份成文本文件
alter database backup controlfile to trace;
因為熱備份的時(shí)候,用戶(hù)還在操作數據庫,所以,最好是每個(gè)表空間處于備份狀態(tài)的時(shí)間最短,這樣就要求一個(gè)表空間一個(gè)表空間的備份,不要一起使表空間處于備份狀態(tài)而同時(shí)

拷貝數據文件。
注意:如果在熱備份的時(shí)候如果數據庫中斷(如斷電),那么在重新啟動(dòng)數據庫的時(shí)候,數據庫將提示有數據文件需要恢復,你需要把正在斷電時(shí)候的處于備份狀態(tài)的數據文件通

過(guò)ALTER TABLESPACE …… END BACKUP結束備份方式。具體哪個(gè)數據文件或表空間處于備份狀態(tài),可以通過(guò)v$backup與v$datafile來(lái)獲得
4.3 RMAN(備份與恢復管理器)
4.3.1 使用RMAN進(jìn)行備份
4.3.1.1 了解RMAN
Recovery manager(RMAN)是ORACLE提供的DBA工具,用語(yǔ)管理備份和恢復操作。RMAN只能用于ORACLE8或更高的版本中。它能夠備份整個(gè)數據庫或數據庫部件,其中包括表空間、

數據文件,控制文件和歸檔文件。RMAN可以按要求存取和執行備份和恢復。
RMAN備份有如下優(yōu)點(diǎn)
☆ 支持在線(xiàn)熱備份
☆ 支持多級增量備份
☆ 支持并行備份、恢復
☆ 減少所需要備份量
☆ 備份、恢復使用簡(jiǎn)單
重要的是,使用恢復管理器允許您進(jìn)行增量數據塊級的備份(這個(gè)與導出/導入的增量截然不同)。增量RMAN備份是時(shí)間和空間有效的,因為他們只備份自上次備份以來(lái)有變化的那

些數據塊。另一個(gè)空間有效的RMAN特性是它只備份數據文件中使用的數據塊,忽略空的,未用的數據塊,這個(gè)對于預分配空間的表空間有很大的好處。
從9i開(kāi)始,還增加了RMAN的數據塊級別的恢復,可以進(jìn)一步減少數據庫恢復時(shí)間。
RMAN支持以下不同類(lèi)型的備份
FULL 數據庫全備份,包括所有的數據塊
INCREMENTAL 增量備份,只備份自上次增量備份以來(lái)修改過(guò)的數據塊。需要一個(gè)0級的增量作為增量的基礎,可以支持7級增量。
OPEN 在數據庫打開(kāi)的時(shí)候使用
CLOSED 在數據庫安裝(MOUNT)但不打開(kāi)的時(shí)候備份,關(guān)閉備份可以是CONSISTENT或IN CONSISTENT類(lèi)型的。
CONSISTENT 在數據庫安裝,單不打開(kāi),并且在安裝之前數據庫被徹底關(guān)閉(而不是被破壞或異常退出)時(shí)使用。CONSISTENT備份可以簡(jiǎn)單的進(jìn)行復原(RESTORE)而不是恢復

(RECOVER)
INCONSISTENT 在數據庫打開(kāi)或安裝(但不打開(kāi))時(shí)使用。在該數據庫正常關(guān)閉或崩潰后,INCONSISTENT備份需要恢復。
理解BACKUP,RESTORE,RECOVER命令,這是RMAN最基本的三個(gè)命令,可以進(jìn)行數據庫的備份,復原以及恢復操作。
4.3.1.2 了解恢復目錄
理解恢復目錄,RMAN可以在沒(méi)有恢復目錄(NOCATALOG)下運行,這個(gè)時(shí)候備份信息保存在控制文件。保存在控制文件的備份信息是很危險的,如果控制文件的破壞將導致備份信息的

丟失與恢復的失敗,而且,沒(méi)有恢復目錄,很多RMAN的命令將不被支持。所以對于重要的數據庫,建議創(chuàng )建恢復目錄,恢復目錄也是一個(gè)數據庫,只不過(guò)這個(gè)數據庫用來(lái)保存備份

信息,一個(gè)恢復目錄可以用來(lái)備份多個(gè)數據庫。
創(chuàng )建RMAN目錄,以下步驟說(shuō)明了在一個(gè)數據庫中盡力RMAN目錄的過(guò)程。
1.為目錄創(chuàng )建一個(gè)單獨的表空間
SQL>Create tablespace tools datafile ‘fielname’ size 50m;
2.創(chuàng )建RMAN用戶(hù)
SQL>Create user RMAN identified by RMAN default tablespace tools temporary tablespace temp;
3.給RMAN授予權限
SQL>Grant connect , resource , recovery_catalog_owner to rman;
4.打開(kāi)RMAN
$>RMAN
5.連接數據庫
RMAN>connect catalog rman/rman
6.創(chuàng )建恢復目錄
RMAN>Create catalog tablespace tools
注冊目標數據庫,恢復目錄創(chuàng )建成功后,就可以注冊目標數據庫了,目標數據庫就是需要備份的數據庫,一個(gè)恢復目錄可以注冊多個(gè)目標數據庫,注冊目標數據庫的命令為:
$>RMAN target internal/password catalog rman/rman@rcdb;
RMAN>Register database;
數據庫注冊完成,就可以用RMAN來(lái)進(jìn)行備份了,更多命令請參考ORACLE聯(lián)機手冊或《ORACLE8i備份與恢復手冊》。
注銷(xiāo)數據庫不是簡(jiǎn)單的在RMAN提示下反注冊就可以了,需要運行一個(gè)程序包,過(guò)程如下:
1. 連接目標數據庫,獲得目標數據庫ID
$> RMAN target internal/password catalog rman/rman@rcdb;
RMAN-06005: connected to target database: RMAN (DBID=1231209694)
2. 查詢(xún)恢復目錄,得到更詳細的信息
SQL> SELECT db_key, db_id FROM db WHERE db_id = 1231209694;
DB_KEY DB_ID
---------- ---------------
1 1237603294
1 row selected.
3. 運行過(guò)程dbms_rcvcat.unregisterdatabase注銷(xiāo)數據庫,如
SQL> EXECUTE dbms_rcvcat.unregisterdatabase(1 , 1237603294)
4.3.1.3 采用RMAN進(jìn)行備份
RMAN使用腳本來(lái)備份數據庫,以下是RMAN進(jìn)行備份的幾個(gè)例子。
1.備份整個(gè)數據庫
backup full tag ‘basicdb’ format ‘/bak/oradata/full_%u_%s_%p’ database;
2.備份一個(gè)表空間
backup tag ‘tsuser’ format ‘/bak/oradata/tsuser_%u_%s_%p’ tablespace users;
3.備份歸檔日志
backup tag ‘alog’ format ‘/bak/archivebak/arcbak_%u_%s_%p’ archivelog all delete input;
4.3.2 維護RMAN
4.3.2.1 查看RMAN的信息
檢查現有備份
RMAN>list backup
列出過(guò)期備份
RMAN>report obsolete
刪除過(guò)期的備份
RMAN>allocate channel for maintenance type disk;
RMAN>change backupset id delete;
RMAN>release channel;
4.3.2.2 同步或重置RMAN
如果目標數據庫物理對象發(fā)生了變化,如添加了一個(gè)數據文件,需要用如下命令同步:
RMAN>resync catalog;
如果目標數據庫reset了數據庫,需要用如下命令同步
RMAN>reset database;
當手工刪除了數據庫的歸檔文件后,要執行以下腳本同步
RMAN>allocate channel for maintenance type disk;
RMAN> change archivelog all crosscheck;
RMAN>release channel;
當手工刪除了數據庫的RMAN備份后,要執行以下腳本來(lái)同步
RMAN>allocate channel for maintenance type disk;
RMAN>crosscheck backup;
RMAN>delete expire backup;
RMAN>release channel;
第五章. 定制恰當的備份策略
5.1 定制正確的策略
正確的備份策略不僅能保證數據庫服務(wù)器的24*7的高性能的運行,還能保證備份與恢復的快速性與可靠性。我們將以RMAN的多級增量備份作為一個(gè)備份策略的例子來(lái)討論。采用多級備份就是為了減少每天備份所需要的時(shí)間,而又保證系統有良好的恢復性?;謴蜁r(shí)間與備份時(shí)間要有一個(gè)權衡。比如只要進(jìn)行一個(gè)數據庫的全備份,然后就只備份歸檔也可以保證能把數據庫恢復到最新的狀態(tài),但是這樣的恢復時(shí)間將是不可容忍的。多級備份也正是 為了解決這種問(wèn)題,以下就是一個(gè)多級備份的例子:
每半年做一個(gè)數據庫的全備份(包括所有的數據和只讀表空間)
每一個(gè)月做一次零級備份(不包含只讀表空間)
每個(gè)星期做一次一級備份
每天做一次二級備份
任何數據庫的更改需要重新同步CATALOG目錄并重新備份(如添加數據文件)或重新備份(如修改表空間為只讀)
每次備份后都可以備份歸檔日志或定期備份歸檔日志。
如果可能,可以直接備份到磁帶上。
數據庫全備份的腳本
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup full tag ‘dbfull’ format ‘/u01/oradata/backup/full%u_%s_%p’ database
include current controlfile;
sql ‘alter system archive log current’;
backup fileaperset 3 format ‘/u01/oradata/backup/arch%u_%s_%p’
archivelog all delete input; #備份歸檔可選,可以單獨定期備份
release channel c1;
release channel c2;
release channel c3;
}
零級備份的腳本
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup incremental level 0 tag ‘db0’ format ‘/u01/oradata/backup/db0%u_%s_%p’
database skip readonly;
sql ‘alter system archive log current’;
backup fileaperset 3 format ‘/u01/oradata/backup/arch%u_%s_%p’
archivelog all delete input; #備份歸檔可選,可以單獨定期備份
release channel c1;
release channel c2;
release channel c3;
}
同理,我們可以得到一級備份,二級備份的腳本,如一級備份的腳本
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup incremental level 1 tag ‘db1’ format ‘/u01/oradata/backup/db1%u_%s_%p’
database skip readonly;
sql ‘alter system archive log current’;
backup fileaperset 3 format ‘/u01/oradata/backup/arch%u_%s_%p’
archivelog all delete input; #備份歸檔可選,可以單獨定期備份
release channel c1;
release channel c2;
release channel c3;
}
如果按照以上備份策略,則每天的所需要備份的數據量只有一天的改變量。而做恢復時(shí)最多要恢復當月的一個(gè)零級備份+三個(gè)一級備份+6個(gè)二級備份+當天的歸檔文件。如果不能接受這樣的恢復時(shí)間,可以減少零級備份之間的時(shí)間間隔。
在每次備份后,原則上在該備份點(diǎn)之前的歸檔日志就可以刪除掉了,但是為了進(jìn)一步的安全以及日后需要(如使用LOGMNR查找所需信息),建議有條件的話(huà),歸檔日志保存一年,可以保存在磁帶等廉價(jià)存取設備上。
5.2 與RMAN備份有關(guān)的優(yōu)化
備份操作主要是完成以下三個(gè)步驟
1、從磁盤(pán)上讀取數據
2、在內存中處理數據塊
3、寫(xiě)入數據到磁盤(pán)或磁帶
以上的讀寫(xiě)操作可以同步或異步的完成,在同步I/O操作中,一個(gè)時(shí)間只允許有一個(gè)IO操作,但是在異步I/O操作中,一個(gè)時(shí)間允許有多個(gè)IO操作。因此,備份與恢復的調優(yōu)主要集中在以下幾個(gè)方面:
1、 提高同步或異步I/O操作能力
在支持異步操作的操作系統上,可以通過(guò)設置TAPE_AYSNCH_IO,DISK_ASYNCH_IO和BACKUP_TYPE_IO_SLAVES來(lái)支持異步操作,提高寫(xiě)的能力。
2、 提高磁盤(pán)讀能力
可以在backup命令后通過(guò)設置DISKRATIO來(lái)保證從多個(gè)磁盤(pán)上讀取數據,保證連續的數據流。
3、 正確設置緩沖區與參數值
設置LARGE_POOL_SIZE,使備份可以使用連續的緩沖池,通過(guò)設置DB_FIL_DIRECT_IO_COUNT可以提高緩沖區的利用。如果使用磁帶備份,還可以設置BACKUP_TYPE_IO_SLAVES來(lái)提高磁帶的寫(xiě)能力。
4、 采用并行備份
開(kāi)辟多個(gè)通道,可以實(shí)現并行備份與恢復
5.3 備份RMAN數據庫
RMAN自己的數據庫也需要備份,但是本身很小,而且不是經(jīng)常發(fā)生變化,所以在每次RMAN備份完成后,都可以用如下腳本對RMAN數據庫備份。
EXP pafile =exprman.sql
exprman.sql為
USERID=RMAN/RMAN
BUFFER=32768
OWNER=RMAN
FILE=RMAN.DMP
ROWS=Y
GRANTS=Y
COMPRESS=Y
CONSISTENT=Y
5.4 使自動(dòng)備份數據庫
自動(dòng)備份數據庫不外乎以下三種方式
WINDOWS下的任務(wù)計劃(At命令)
UNIX下的Crontab
第三方工具如Viritas
在以上三種方式中Viritas屬于第三方工具,很多人可能都沒(méi)有接觸,主要說(shuō)一下windows的任務(wù)計劃與unix的cron
1. 生成腳本文件,如backup.rcv
假定文件內容如下:
$>cat backup.rcv
connect target sys/password rcvcat rman/rman@localname;
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup fileaperset 3 format ‘/u01/oradata/backup/arch%u_%s_%p’
archivelog all delete input;
release channel c1;
release channel c2;
release channel c3;
}
2. 生成執行文件
在windows上生成backup_archive.bat,內容包括
rman cmdfile = backup.rcv
在unix下生成 backup_archive.sh,內容包括
/oracle/ramn/rman cmdfile = backup.rcv
3. 加入調度
在windows中用任務(wù)計劃向導即可,或使用at命令。
在unix中,在目標機器上編寫(xiě)一個(gè)文件,用以啟動(dòng)自動(dòng)備份進(jìn)程。假定文件名為ORACLE,文件將放在/var/spool/cron/crontabs目錄下
$>cat oracle
0 23 * * 0 backup_archive.sh
#表示星期天23點(diǎn)對數據庫備份
0 12,18 * * * backup_archive.sh
#表示每天12點(diǎn),18點(diǎn)備份
Crontab文件的每一行由六個(gè)域(minutes,hours,day of month,month,day of week,command)組成,域之間用空格或Tab分隔開(kāi)來(lái)
第六章. 常見(jiàn)誤區
1、使用EXP/IMP備份
EXP/IMP不是一個(gè)良好的備份工具,在以后的發(fā)展之中,ORACLE對EXP/IMP用于備份的支持會(huì )越來(lái)越低。ORACLE只是把EXP/IMP當作一個(gè)好的工具而不是備份工具,在對于大型數據庫,如TB級數據庫或數據倉庫,EXP/IMP肯定會(huì )力不從心。
2、在應用程序中備份數據庫
在論壇上,有很多這樣的要求,“我怎么在程序中備份與恢復數據庫?”。首先說(shuō),這個(gè)并不是不可以實(shí)現,但是實(shí)現的過(guò)程會(huì )很復雜而且意外會(huì )很多。就我的感覺(jué),提出這樣問(wèn)題的人,首先一點(diǎn)就是對ORACLE或DBA的不了解,如果ORACLE可以這么輕松的實(shí)現備份與恢復,那么我可以說(shuō),就不需要DBA了。
3、冷備份比熱備份更容易,效果會(huì )更好
有人認為,冷備份是關(guān)閉數據庫進(jìn)行的一致性備份,肯定比熱備份要好,使用也容易,其實(shí)不盡然,在熱備份中,一樣可以實(shí)現數據庫的全備份,而且不會(huì )影響到數據庫的運行。建議所有的生產(chǎn)機,都運行在歸檔方式下,采用熱備份方式。
第七章. 常見(jiàn)問(wèn)題
1、我導出的數據為什么不能導入,提示不支持的字符集轉換
答:參考上面的字符集原則,導出數據時(shí)客戶(hù)端與數據庫字符集一致,導入時(shí)修改為與目標數據庫字符集一致。
2、我的歸檔日志越來(lái)越多,我什么時(shí)候可以刪除歸檔日志?
答:在每一次全備份(如OS全冷備份或全熱備份)或基于全備份的增量備份(如RMAN基于0級備份上的增量備份)后都可以刪除該備份點(diǎn)之前的歸檔日志,建議在磁帶上保留一年。
3、全備份時(shí)一定需要備份所有數據文件嗎?
答:不需要,起碼有兩類(lèi)數據文件可以不備份,一類(lèi)就是臨時(shí)數據文件,如果丟失,可以刪除后重建;一類(lèi)是只讀表空間數據文件,如果上次備份以來(lái),沒(méi)有修改過(guò)表空間的只讀屬性,就可以不需要備份。
4、聯(lián)機日志需要備份嗎?
答:如果是歸檔方式熱備份,就沒(méi)有必要備份聯(lián)機日志。但是對于冷備份,可以備份聯(lián)機日志,特別是不歸檔狀態(tài)。備份過(guò)聯(lián)機日志后的冷備份,因為數據庫是一致的,可以恢復到該備份點(diǎn)。
第八章. 小結
1、什么是數據庫備份,數據庫備份就是把數據庫復制到轉儲設備的過(guò)程。
2、數據庫的運行方式,可以分為歸檔方式和非歸檔方式,建議運行在歸檔方式下運行熱備份。
3、了解了數據庫的備份方式,邏輯備份、冷備份、熱備份
4、了解數據庫的備份工具,EXP/IMP執行邏輯備份,OS腳本可以執行冷備份或熱備份,RMAN也可以執行冷備份或熱備份
5、了解ORACLE的備份策略,并怎樣選擇最佳的備份策略
6、知道怎么樣啟動(dòng)自動(dòng)備份,了解Windows的at命令與unix的cron進(jìn)程。
(本文為轉載)
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Oracle備份與恢復案例
Oracle RMAN快速入門(mén)指南--(4)
rman備份恢復操作手冊-從零到無(wú)
三思涂抹oracle(筆記)
oracle RMAN 簡(jiǎn)要介紹及使用
oracle-11g-R2-備份與恢復
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久