ORACLE數(shù)據(jù)庫日常維護手冊_第1頁
ORACLE數(shù)據(jù)庫日常維護手冊_第2頁
ORACLE數(shù)據(jù)庫日常維護手冊_第3頁
ORACLE數(shù)據(jù)庫日常維護手冊_第4頁
ORACLE數(shù)據(jù)庫日常維護手冊_第5頁
已閱讀5頁,還剩40頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、.:.; 數(shù)據(jù)庫日常維護手冊數(shù)據(jù)庫的安裝操作系統(tǒng)的預備任務 Oracle 數(shù)據(jù)庫的根本軟件安裝在oradb1和oradb2上。數(shù)據(jù)文件,日志文件,控制文件經(jīng)過手工建庫時,指定在共享的陣列上。Oradb1與Oradb2的安裝配置方法一樣,以Oradb1為例闡明。 內(nèi)核參數(shù)的修正編輯修正/etc/system 文件 set shmsys:shminfo_shmmax= 0 x200000000set shmsys:shminfo_shmmin=1set shmsys:shminfo_shmmni=100set shmsys:shminfo_shmseg=10set semsys:seminfo_s

2、emmni=100set semsys:seminfo_semmsl=600set semsys:seminfo_semmns=1200set semsys:seminfo_semopm=100set semsys:seminfo_semvmx=32767 擴展共享內(nèi)存和信號量參數(shù)。檢查需求的操作系統(tǒng)patch經(jīng)過sunsolve.sun 上下載特定版本(Solaris 8)的patch集并安裝,可以滿足Oracle 的安裝需求。操作系統(tǒng)用戶/組的添加groupadd dbagroupadd oinstalluseradd -c Oracle DBA -d /home/oracle -g oi

3、nstall -G dba修正/etc/passwd文件 ,更改用戶登陸shell 或其他信息 oracle:x:102:101:/export/home/oracle:/bin/ksh Oracle用戶環(huán)境變量的設定在oracle 用戶的初始化環(huán)境變量文件中(/export/home/oracle/.profile),添加如下內(nèi)容。ORACLE_BASE=/opt/app/oracleORACLE_HOME=/opt/app/oracle/product/8.1.7ORACLE_TERM=vt100ORACLE_OWNER=oracleNLS_LANG=SIMPLIFIED CHINESE_

4、china.ZHS16CGB231280ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/dataORACLE_SID=actdbTMP=/tmpPATH=$ORACLE_HOME/bin:/usr/ccs/bin:$PATHLD_LIBRARY_PATH=/opt/oracle/app/oracle/product/8.1.7/lib:/usr/libexport ORACLE_BASE ORACLE_HOME ORACLE_TERM ORACLE_OWNER NLS_LANG ORA_NLS33 ORACLE_SID TMP PATH LD_LIBRARY_

5、PATHLANG=zhexport LANGumask 022stty erase HEDITOR=viexport EDITOR文件主要設定數(shù)據(jù)庫的根本目錄,數(shù)據(jù)庫的SID稱號和數(shù)據(jù)庫的中文言語環(huán)境。添加可執(zhí)行文件的途徑和操作系統(tǒng)的言語環(huán)境設置。最后設置vi為常用編輯器。數(shù)據(jù)庫的安裝 用root用戶取消顯示設置 #xhost +將Oracle安裝光盤插入光驅(qū)。經(jīng)過df k 察看光驅(qū)能否已mount上。以下由Oracle用戶執(zhí)行 $ cd /cdrom/cdrom0 ,$./runInstaller。出現(xiàn) ORACLE Universal Installer的安裝窗口,按Next鍵繼續(xù)。在Un

6、ix user/group 對話框中填入 oracle/dba,點擊Next按鈕。Destination框輸入將要安裝oracle的目錄($ORACLE_HOME),接著出現(xiàn)彈出窗口要求用root運轉(zhuǎn)orainstRoot.sh (它創(chuàng)建oraInventory的安裝目錄) 接著選擇要安裝的產(chǎn)品ORACLE8I 8.1.7 Enterprise Edition。選擇Customer安裝方式,未來可以手工建庫。選擇安裝產(chǎn)品對話框中,建議選擇一切產(chǎn)品。點擊確認安裝的按鈕,安裝正式開場。安裝勝利100%后又回到開場的選項菜單,建議察看安裝日志。由于運用雙機做HA,因此數(shù)據(jù)庫的根本軟件需求安裝在兩臺效

7、力器上,而數(shù)據(jù)庫在陣列上創(chuàng)建。數(shù)據(jù)庫根本軟件在兩臺效力器安裝完成后。經(jīng)過dbassist手工建庫。指定數(shù)據(jù)文件,控制文件,日志文件的途徑為共享陣列。建庫完成后經(jīng)過oracle用戶執(zhí)行svrmgrl,啟動數(shù)據(jù)庫。 并檢查數(shù)據(jù)庫根本信息。$svrmgrlSVRMGRconnect internalSVRMGRstartup SVRMGRselect * from v$version;SVRMGRselect * from v$database;執(zhí)行 $ lsnrctl start 啟動監(jiān)聽程序。數(shù)據(jù)庫patch 安裝Patch 下載:Oracle 數(shù)據(jù)庫的patch 從Oracle的metalin

8、k網(wǎng)站下載,登錄勝利后,在patch頁面中的Product Family下拉框中選擇Oracle Databse,Product 下拉框中選擇RDBMS Server;Release 下拉框中 選擇Oracle ;Platform 下拉框中選擇Sun Solaris OS( SPARC) 64-bit,Language下拉框中選擇American English (US) ,Limit Search to下拉框中選擇Latest Product Patches or Minipacks,點擊Submit提交。在隨后出現(xiàn)的頁面中點擊Download下載patch。Patch 安裝:

9、Patch 下載后首先需求解緊縮, 安裝與數(shù)據(jù)庫安裝方法類似,啟動runInstaller安裝程序,選擇解緊縮完成后patch目錄下的product文件進展安裝。特別留意patch安裝時,數(shù)據(jù)庫必需處于正常封鎖形狀。安裝完成后檢查:select * from v$version; 檢查各個產(chǎn)品的版本號能否從晉級成為?,F(xiàn)場數(shù)據(jù)庫任務方法現(xiàn)場表空間的規(guī)劃ACT01,ACTX01是 enus用戶的數(shù)據(jù)表空間以及索引表空間。ACT02,ACTX02是 page,race用戶的數(shù)據(jù)表空間以及索引表空間。ACT03,ACT04, ACTX03,ACTX04是rap 用戶的數(shù)據(jù)表

10、空間以及索引表空間?,F(xiàn)場數(shù)據(jù)文件的添加數(shù)據(jù)庫磁盤規(guī)劃表空間稱號磁盤數(shù)據(jù)文件規(guī)劃ACT01/disk/data1ACTX01/disk/index1ACT02/disk/data2ACTX02/disk/index2ACT03/disk/data3 /disk/data4ACTX03/disk/index3 /disk/index4ACT04/disk/data4 ACTX04 /disk/index4添加數(shù)據(jù)文件添加規(guī)那么現(xiàn)場建議每次出帳前,為表空間運用率接近80的表空間添加數(shù)據(jù)文件。原那么上現(xiàn)場不要存在超越80%的表空間。目前建議每次添加的數(shù)據(jù)文件大小為4096M.添加前,檢查表空間原有數(shù)據(jù)

11、文件保證數(shù)據(jù)文件命名的延續(xù)性例如:預備為ACTX04添加表空間select file_name from dba_data_files where tablespace_name=ACTX04/disk/index4/actx04_01.dbf /disk/index4/actx04_02.dbf /disk/index4/actx04_03.dbf /disk/index4/actx04_04.dbf添加數(shù)據(jù)文件現(xiàn)場添加數(shù)據(jù)文件,目前原那么上大小為4096M.以為actx04添加表空間為例 alter tablespace actx04 add datafile /disk/index4/a

12、ctx04_05.dbf size 4096M;現(xiàn)場索引的添加索引添加規(guī)那么 enus用戶索引 : ACTX01表空間 rap用戶索引: ACTX03,ACTX04表空間 blues用戶索引:ACTX02表空間 race用戶索引: ACTX02表空間常規(guī)表索引的建立CREATE INDEX I_ACCOUNT_FEE_PHONE ON ACCOUNT_T(FEE_PHONE) TABLESPACE ACTX03 nologging;分區(qū)表索引的建立本卷須知:現(xiàn)場針對分區(qū)建立的索引必需都是local類型的索引。建立腳本:針對enus的time_t分區(qū)表為例CREATE INDEX I_TIME_

13、ACCTIDNEW ON TIME_T(ACCOUNT_ID) LOCAL TABLESPACE ACTX01 nologging;察看索引對應的表空間user_indexes;創(chuàng)建索引的用途以及維護要點思索用nologging創(chuàng)建索引可以在create index語句中指定nologging來創(chuàng)建索引并產(chǎn)生最少的重作日志記錄.留意: 由于用nologging 創(chuàng)建索引時不存檔,建議現(xiàn)場添加索引在凌晨左右進展,便于創(chuàng)建索引后,數(shù)據(jù)庫盡快完成備份.用nologging 創(chuàng)建索引有如下益處:節(jié)省了重作日志文件的空間縮短了創(chuàng)建索引的時間改善了并行創(chuàng)建大索引時的性能數(shù)據(jù)庫用戶的建立注:以建立rap用戶

14、為例create user rap identified by rap;grant resource, connect to rap;alter user rap default tablespace act03;alter user rap temporary tablespace temp;數(shù)據(jù)庫數(shù)據(jù)的導入方法(討論,針對測試環(huán)境數(shù)據(jù)的搭建)exp要進展測試的用戶數(shù)據(jù)刪除原先表數(shù)據(jù)(truncate)select truncate table |table_name| ; from tabs;構(gòu)成文件,批truncate表刪除表select drop table |table_name|

15、cascade constraints ; from tabs;構(gòu)成文件,批刪除導入數(shù)據(jù)imp rap/rap parfile=li.txtli.txt文件的內(nèi)容buffer=409600file=expdat_rap_0630.dmpIGNORE=y grants=y indexes=y rows=y commit=y CONSTRAINTS=ylog=likqrap.log把數(shù)據(jù)庫設置成為非歸檔方式的方法針對traffic上面的數(shù)據(jù)庫 startup mount; alter database noarchivelog; alter database open;檢查表的創(chuàng)建方式select

16、 degree from user_tables;數(shù)據(jù)庫優(yōu)化及主要參數(shù)調(diào)整調(diào)整原那么Oracle數(shù)據(jù)庫在啟動時會讀取命名規(guī)那么為init.ora的初始化參數(shù)文件。這個配置文件中的各個參數(shù)設定對整個Oracle數(shù)據(jù)庫性能起決議作用,先簡單引見各個參數(shù)的含義,然后給出建議配置。除特殊闡明外,引見參數(shù)的更改都需進展數(shù)據(jù)庫的重啟操作。根據(jù)數(shù)據(jù)庫系統(tǒng)規(guī)模,Oracle提供小,中,大(small,medium,large)三個建議建議配置檔,配置時做為參考。經(jīng)過在sqlplus中輸入 SQLshow parameter parameter_name顯示參數(shù)稱號和相應的值。db_block_size: 實踐

17、值:4096。數(shù)據(jù)塊大小,數(shù)據(jù)存儲的最小單位,這個參數(shù)在Oracle9i以前各個版本中,數(shù)據(jù)庫創(chuàng)建完成后是不可改動的??蛇x范圍是2K,4K,8K,16k,32k單位是byte。運用系統(tǒng)中,部分數(shù)據(jù)表字段較多,db_block_size設定偏小呵斥記錄不能在單一數(shù)據(jù)塊中存儲,因此訪問一條用戶記錄不能在一次物理I/O操作中完成,需求多次I/O,導致性能下降;另外較多的 varchar2類型字段和數(shù)據(jù)更新能夠呵斥行鏈接和行遷移,除設定pctfree較大外,db_block_size也要設定大一些。,創(chuàng)建數(shù)據(jù)庫時指定。db_block_buffers: 實踐值:1000000。數(shù)據(jù)高速塊的多少,存放從

18、硬盤中讀出的數(shù)據(jù)塊。db_block_buffers決議內(nèi)存中可存放的大小為db_block_size的Oracle數(shù)據(jù)塊的數(shù)量。運用程序第一次訪問數(shù)據(jù)時從硬盤中讀取,然后數(shù)據(jù)存儲在內(nèi)存中,直到數(shù)據(jù)長時間不被訪問,同時內(nèi)存中不能包容更多數(shù)據(jù)時,數(shù)據(jù)被寫回硬盤,下次需求訪問時,再從硬盤中讀取。該參數(shù)越大,Oracle在內(nèi)存中找到所需數(shù)據(jù)的能夠性就越大。一樣數(shù)據(jù)內(nèi)存讀取速度要比硬盤快幾十倍,因此呼應速度也會大大提高。db_block_size與db_block_buffers乘積確定Oracle數(shù)據(jù)庫所占內(nèi)存的90%左右。 假設效力器公用運轉(zhuǎn)數(shù)據(jù)庫,建議兩個參數(shù)的乘積占效力器物理內(nèi)存的40%,經(jīng)過

19、對數(shù)據(jù)緩存的命中率進展監(jiān)控后,做進一步伐整。shared_pool_size:實踐值:500000000。內(nèi)存中存放sql語句訪問途徑,相關(guān)訪問權(quán)限,表構(gòu)造信息的位置,單位是字節(jié)。 建議在內(nèi)存允許的情況下配置的大一些,但通常不超越500m。經(jīng)過sql語句監(jiān)控消費機緩存命中率后進展相應調(diào)整。sort_area_size :實踐值:4000000??稍趦?nèi)存中進展排序的最大字節(jié)數(shù)。運用程序向數(shù)據(jù)庫發(fā)出類似orderby,group by 或創(chuàng)建索引時,需求進展排序操作。排序在內(nèi)存中完成的速度同樣快于硬盤中速度。sort_area_size越大,排序完成在內(nèi)存中的能夠也越大。經(jīng)過對動態(tài)視圖的監(jiān)控進展進

20、一步的調(diào)整。log_buffer: 實踐值:8388608。日志緩存大小,對于數(shù)據(jù)庫的dml/ddl 等語句首先寫入log_buffer,然后寫入日志文件。建議初始配置為512k,假設日志緩存等待明顯,再加大,普通不超越為1M。processes:實踐值:500。同時訪問Oracle數(shù)據(jù)庫的進程數(shù),包括后臺進程(dbwr,lgwr,chpt)和Enus,Cnus,Rap 各個模塊建立的到數(shù)據(jù)庫的長銜接數(shù),設定大一點不會呵斥負面影響,假設偏小那么會呵斥不能進展數(shù)據(jù)庫銜接的錯誤。dml_locks: 實踐值:988。它表示任何時間一切用戶在一切表中放置鎖定的最大數(shù)量。缺省值是事務最大數(shù)量的四倍。同

21、樣可以設定較大一點,不會有負面影響。open_cursors: 實踐值:2500。用戶可以同時翻開的游標數(shù)。設定大一點不會呵斥負面影響,假設偏小那么會出現(xiàn)不能翻開游表的錯誤。db_files: 實踐值:200。數(shù)據(jù)庫數(shù)據(jù)文件的數(shù)目。rollback_segments:實踐值:ACTROLL00ACTROLL29,共30個回滾段?;貪L段的稱號,用戶本人創(chuàng)建完回滾段后將稱號添加在此處。在OLTP環(huán)境下,回滾段的數(shù)目為最大并發(fā)買賣數(shù)的1/31/4。db_file_multiblock_read_count:實踐值:32。數(shù)據(jù)庫一次從硬盤中讀取的數(shù)據(jù)塊的數(shù)目。設定DB_FILE_MULTIBLOCK_

22、READ_COUNT 可以在進展全表掃描時減少I/O的次數(shù)。log_checkpoints_to_alert:實踐值:true。設置成true的時候,每次檢查點的信息寫入alert.log文件。log_archive_start/ log_archive_dest_1:實踐值:true/ /disk/archive/arch決議數(shù)據(jù)庫采用歸檔方式,指定歸檔日志存放的途徑。log_archive_max_processes:實踐值:1,確定后臺歸檔進程(ArcN)的啟動數(shù)目。目前100M日志文件在買賣頂峰期,每8分鐘就切換一次。建議將此值擴展。現(xiàn)場數(shù)據(jù)庫參數(shù)設置配置文件initactdb.ora

23、db_name = actdbinstance_name = actdbservice_names = actdbcontrol_files = (/disk/data4/system/control01.ctl, /disk/data3/system/control02.ctl, /disk/data2/system/control03.ctl)open_cursors = 2500max_enabled_roles = 20 db_block_buffers = 1000000shared_pool_size = 367001600large_pool_size = 12582912jav

24、a_pool_size = 10485760db_file_multiblock_read_count = 32 log_checkpoint_interval = 819200log_checkpoint_timeout = 4800cpu_count = 8processes = 500log_buffer = 1048576log_archive_start = truelog_archive_dest_1 = location=/disk/archive/archlog_archive_format = arch_%t_%s.arclog_checkpoints_to_alert =

25、TRUErollback_segments = (ACTROLL00 ACTROLL01 ACTROLL02 ACTROLL03 ACTROLL04 ACTROLL05 ACTROLL06 ACTROLL07 ACTROLL08 ACTROLL09 ACTROLL10 ACTROLL11 ACTROLL12 ACTROLL13 ACTROLL14 ACTROLL15 ACTROLL16 ACTROLL17 ACTROLL18 ACTROLL19 ACTROLL20 ACTROLL21 ACTROLL22 ACTROLL23 ACTROLL24 ACTROLL25 ACTROLL26 ACTRO

26、LL27 ACTROLL28 ACTROLL29)background_dump_dest = /opt/app/oracle/admin/actdb/bdumpcore_dump_dest = /opt/app/oracle/admin/actdb/cdumpuser_dump_dest = /opt/app/oracle/admin/actdb/udumpdb_block_size = 4096remote_login_passwordfile = exclusiveos_authent_prefix = job_queue_processes = 4job_queue_interval

27、= 60distributed_transactions = 10open_links = 4optimizer_mode = CHOOSEdml_locks = 988compatible = 8.1.0sort_area_size = 4000000sort_area_retained_size = 4000000#db_writer_processes = 4#db_block_lru_latches = 36 #cpu*2*3 數(shù)據(jù)庫用戶信息 用戶是數(shù)據(jù)庫的運用和訪問者。同一用戶名(通常也就是schema稱號)下的表共同完成一樣的功能,如:在我們系統(tǒng)中的Enus用戶下的表完成接入功能,

28、Rap用戶下的表完成計費,帳務功能。用戶稱號,暫時/默許表空間。用戶創(chuàng)建日期。檢查能否有用戶的默許或暫時表空間為system 表空間。 SQLcol username format a12; SQLcol Default TBS format a12 SQLcol Temporary TBS format a12 SQL col CreateDate format a12 SQLselect substr(username,1,12) UserName, substr(DEFAULT_TABLESPACE,1,12) Default TBS, substr(TEMPORARY_TABLESPA

29、CE,1,12) Temporary TBS, to_char(CREATED,yyyy/mm/dd) CreateDatefrom sys.dba_users order by username; USERNAME Default TBS Temporary TB CreateDate DBSNMP SYSTEM SYSTEM 2002/08/17ENUS ACT01 TEMP 2002/08/17OUTLN SYSTEM SYSTEM 2002/07/01PAGE ACT02 TEMP 2002/07/04RACE ACT02 SYSTEM 2003/05/06RAP ACT03 TEMP

30、 2002/08/17RAP00 RAP00 TEMP 2002/10/22RAPTEST ACTTEST TEMP 2002/09/10SPOTLIGHT USERS TEMP 2003/04/24SSPOT USERS TEMP 2002/07/01SYS SYSTEM TEMP 2002/07/01 SYSTEM TOOLS TEMP 2002/07/01TRACESVR SYSTEM SYSTEM 2002/07/01察看數(shù)據(jù)庫用戶的權(quán)限/角色。創(chuàng)建用戶時,會給用戶用戶一些權(quán)限/角色,運用戶可以進展相應的操作。SQLcol grantee format a20;SQLselect GR

31、ANTEE , GRANTED_ROLE , ADMIN_OPTION from dba_role_privs where grantee in (ENUS,RAP,RACE);GRANTEE GRANTED_ROLE ADMIN_ ENUS CONNECT NOENUS RESOURCE NORACE CONNECT NORACE RESOURCE NORAP CONNECT NORAP RESOURCE NO我們可以看到enus,rap,race三個用戶都只需connect,resource權(quán)限,同時他們不能把connect,resource權(quán)限賦予其他用戶。 數(shù)據(jù)庫的備份/恢復備份/恢復

32、軟件根本引見此次河南寬帶網(wǎng)計費工程Oracle數(shù)據(jù)庫運用的備份/恢復軟件是Veritas公司的Netbackup。Netbackup 建立在Oracle本身提供的備份工具Rman之上。同時有Rman的功能,但又抑制Rman 操作復雜的缺陷。Netbackup是一個功能強大的企業(yè)級數(shù)據(jù)備份管理軟件,它為Windows NT、UNIX和NetWare環(huán)境提供了完好的數(shù)據(jù)維護機制,具有維護從任務組到企業(yè)級效力器的一切的數(shù)據(jù)的才干. NetBackup的數(shù)據(jù)中心級介質(zhì)管理使企業(yè)具有了包括帶庫共享在內(nèi)的管理介質(zhì)的各方面才干,并且NetBackup的Java界面提供了對一切備份和恢復操作的完好的實時和歷史

33、情況分析。該套裝軟件共由NetBackup Client,NetBackup Server,Catalog DB, Media Manager組成。軟件功能分布引見正常情況下,oradb1運轉(zhuǎn)數(shù)據(jù)庫 netbackup client,oradb2運轉(zhuǎn)rap、netbackup server ,同時oradb2經(jīng)過VCS與oradb1實現(xiàn)數(shù)據(jù)庫的HA。效力器/ip安裝軟件完勝利能Oradb1/Netbackup ClientNetBackup Server的一個Client。Client不論理任何磁帶庫設備。需求=進展備份時,它僅僅提供Oracle需求備份的數(shù)據(jù)給Server。Server和Cl

34、ient之間的經(jīng)過TCP/IP的sockets通訊。Oradb2/Netbackup Server(Master Server, Media Server)Media ManagerCatalog DBMaster Server管理制定全網(wǎng)的備份戰(zhàn)略,控制一切的備份作業(yè)。Media Server只銜接存儲設備,提供數(shù)據(jù)分流。Media Manage:針對磁帶設備。在備份或歸檔時調(diào)度磁帶,并控制上帶/卸帶動作。Catalog DB:由Rman控制,記錄對數(shù)據(jù)庫進展的備份恢復操作。STK L20 磁帶庫設備STK L20的機械手與主備份效力器(oradb2)直接相連,一切的光纖磁帶機直接銜接到光線

35、交換機上,所以每臺備份效力器都能看到一切的光纖磁帶機系統(tǒng)備份戰(zhàn)略/實施備份戰(zhàn)略定義一臺或幾臺效力器的備份方法。它包括哪些效力器需求備份、備份哪些目錄或文件、在什么時間備份、采用什么方式進展備份等。配置NBU主要指定義備份戰(zhàn)略。一個備份戰(zhàn)略由四部分組成:General Attributes:戰(zhàn)略的總體屬性,包括戰(zhàn)略類型,形狀,運用的Storage Unit和Volume Pool。Client List :需求備份的效力器,如Oracle Server: Oradb1。File List (文件列表):定義需求備份的文件列表。Schedules(備份日程表):定義進展各種備份的時間。Class類

36、型ScheduleType開場時間要備份的主機保管期限備份文件oraclewholebackuporacleDays 除每月21號Auto_full3:00:00-6:00Orabk1月/opt/openv/netbackup/scripts/hot_database_backup.shoraclearchivebackuporacle每月21號Auto_Full Orabk1月/opt/openv/netbackup/scripts/hot_archive_backup.sh目前對數(shù)據(jù)庫的備份分成兩類,一類是數(shù)據(jù)庫的全備份,第二類是對生成的歸檔日志的備份。備份時netbackup分別調(diào)用相應

37、的 /opt/openv/netbackup/scripts/hot_database_backup.sh和 /opt/openv/netbackup/scripts/hot_archive_backup.sh兩個腳本。目前每天早上3點(除21日)進展全備份到帶庫,保管一個月。每月的21日進展歸檔日志的備份。備份腳本的內(nèi)容全備份腳本位于: /opt/openv/netbackup/scripts/hot_database_backup.sh#!/bin/shCUSER=id |cut -d( -f2 | cut -d ) -f1 RMAN_LOG_FILE=$0.out#then# rm -f

38、 $RMAN_LOG_FILE#fiecho $RMAN_LOG_FILEchmod 666 $RMAN_LOG_FILE echo Script $0 $RMAN_LOG_FILEecho = started on date = $RMAN_LOG_FILEecho $RMAN_LOG_FILEORACLE_HOME=/opt/app/oracle/product/8.1.7export ORACLE_HOMEORACLE_SID=actdbexport ORACLE_SIDORACLE_USER=oracleTARGET_CONNECT_STR=system/hnadmRMAN=$ORAC

39、LE_HOME/bin/rmanecho $RMAN_LOG_FILEecho RMAN: $RMAN $RMAN_LOG_FILEecho ORACLE_SID: $ORACLE_SID $RMAN_LOG_FILEecho ORACLE_USER: $ORACLE_USER $RMAN_LOG_FILEecho ORACLE_HOME: $ORACLE_HOME $RMAN_LOG_FILEecho $RMAN_LOG_FILEecho NB_ORA_FULL: $NB_ORA_FULL $RMAN_LOG_FILEecho NB_ORA_INCR: $NB_ORA_INCR $RMAN_

40、LOG_FILEecho NB_ORA_CINC: $NB_ORA_CINC $RMAN_LOG_FILEecho NB_ORA_SERV: $NB_ORA_SERV $RMAN_LOG_FILEecho NB_ORA_POLICY: $NB_ORA_POLICY $RMAN_LOG_FILEecho $RMAN_LOG_FILEif $NB_ORA_FULL = 1 then echo Full backup requested $RMAN_LOG_FILE BACKUP_TYPE=INCREMENTAL LEVEL=0 elif $NB_ORA_INCR = 1 then echo Dif

41、ferential incremental backup requested $RMAN_LOG_FILE BACKUP_TYPE=INCREMENTAL LEVEL=1 elif $NB_ORA_CINC = 1 then echo Cumulative incremental backup requested $RMAN_LOG_FILE BACKUP_TYPE=INCREMENTAL LEVEL=1 CUMULATIVE elif $BACKUP_TYPE = then echo Default - Full backup requested $RMAN_LOG_FILE BACKUP_

42、TYPE=INCREMENTAL LEVEL=0fiCMD_STR=ORACLE_HOME=$ORACLE_HOMEexport ORACLE_HOMEORACLE_SID=$ORACLE_SIDexport ORACLE_SID$RMAN target $TARGET_CONNECT_STR catalog rman/rmancatadb msglog $RMAN_LOG_FILE append $RMAN_LOG_FILE RSTAT=$?else /usr/bin/sh -c $CMD_STR $RMAN_LOG_FILE RSTAT=$?fi # # Log the completio

43、n of this script.# if $RSTAT = 0 then LOGMSG=ended successfullyelse LOGMSG=ended in errorfi echo $RMAN_LOG_FILEecho Script $0 $RMAN_LOG_FILEecho = $LOGMSG on date = $RMAN_LOG_FILEecho $RMAN_LOG_FILE exit $RSTAT增量備份腳本位于: /opt/openv/netbackup/scripts/hot_archive_backup.sh內(nèi)容:#!/bin/shCUSER=id |cut -d(

44、-f2 | cut -d ) -f1 RMAN_LOG_FILE=$0.out#then# rm -f $RMAN_LOG_FILE#fiecho $RMAN_LOG_FILEchmod 666 $RMAN_LOG_FILE echo Script $0 $RMAN_LOG_FILEecho = started on date = $RMAN_LOG_FILEecho $RMAN_LOG_FILEORACLE_HOME=/opt/app/oracle/product/8.1.7export ORACLE_HOMEORACLE_SID=actdbexport ORACLE_SIDORACLE_U

45、SER=oracleTARGET_CONNECT_STR=system/hnadmRMAN=$ORACLE_HOME/bin/rmanecho $RMAN_LOG_FILEecho RMAN: $RMAN $RMAN_LOG_FILEecho ORACLE_SID: $ORACLE_SID $RMAN_LOG_FILEecho ORACLE_USER: $ORACLE_USER $RMAN_LOG_FILEecho ORACLE_HOME: $ORACLE_HOME $RMAN_LOG_FILEecho $RMAN_LOG_FILEecho NB_ORA_FULL: $NB_ORA_FULL

46、$RMAN_LOG_FILEecho NB_ORA_INCR: $NB_ORA_INCR $RMAN_LOG_FILEecho NB_ORA_CINC: $NB_ORA_CINC $RMAN_LOG_FILEecho NB_ORA_SERV: $NB_ORA_SERV $RMAN_LOG_FILEecho NB_ORA_POLICY: $NB_ORA_POLICY $RMAN_LOG_FILEecho $RMAN_LOG_FILEif $NB_ORA_FULL = 1 then echo Full backup requested $RMAN_LOG_FILE BACKUP_TYPE=INCR

47、EMENTAL LEVEL=0 elif $NB_ORA_INCR = 1 then echo Differential incremental backup requested $RMAN_LOG_FILE BACKUP_TYPE=INCREMENTAL LEVEL=1 elif $NB_ORA_CINC = 1 then echo Cumulative incremental backup requested $RMAN_LOG_FILE BACKUP_TYPE=INCREMENTAL LEVEL=1 CUMULATIVE elif $BACKUP_TYPE = then echo Def

48、ault - Full backup requested $RMAN_LOG_FILE BACKUP_TYPE=INCREMENTAL LEVEL=0fiCMD_STR=ORACLE_HOME=$ORACLE_HOMEexport ORACLE_HOMEORACLE_SID=$ORACLE_SIDexport ORACLE_SID$RMAN target $TARGET_CONNECT_STR catalog rman/rmancatadb msglog $RMAN_LOG_FILE append $RMAN_LOG_FILE RSTAT=$?else /usr/bin/sh -c $CMD_

49、STR $RMAN_LOG_FILE RSTAT=$?fi # # Log the completion of this script.# if $RSTAT = 0 then LOGMSG=ended successfullyelse LOGMSG=ended in errorfi echo $RMAN_LOG_FILEecho Script $0 $RMAN_LOG_FILEecho = $LOGMSG on date = $RMAN_LOG_FILEecho $RMAN_LOG_FILE exit $RSTAT數(shù)據(jù)庫備份完成情況檢查檢查備份輸出文件腳本位置:orabd1: /opt/op

50、env/netbackup/scripts/hot_database_backup.sh.out檢查:tail f /opt/openv/netbackup/scripts/hot_database_backup.sh.out正確結(jié)果:Script /opt/openv/netbackup/scripts/hot_database_backup.sh= ended successfully on Thu Jul 3 07:30:27 CST 2003 =經(jīng)過netbackup命令行方式檢查oradb2: bpadmstatus0表示備份完成正常。數(shù)據(jù)庫的恢復 下面只思索數(shù)據(jù)庫一切數(shù)據(jù)文件包括控

51、制文件均損壞這一最復雜的情況下的恢復。備份現(xiàn)有的數(shù)據(jù)庫數(shù)據(jù)文件假設還有的話恢復控制文件將數(shù)據(jù)庫置于nomount形狀在svrmgrl下,執(zhí)行: startup nomount在數(shù)據(jù)庫所在的效力器上以oracle身份執(zhí)行rman target / catalog HYPERLINK mailto:rman/rmancatadb rman/rmancatadb cmdfile restorecontrol其中restorecontrol的內(nèi)容如下:run # exec:rman target / catalog rman/rmancatadb cmdfile restorecontrol #set

52、 until time = ; allocate channel ch1 type sbt_tape;restore controlfile;alter database mount;執(zhí)行數(shù)據(jù)庫的全恢復:$RMAN target / catalog rman/rmancatadb cmdfile restorewho其中restorewho為下:RUN ALLOCATE CHANNEL ch00 TYPE SBT_TAPE;ALLOCATE CHANNEL ch01 TYPE SBT_TAPE;RESTORE DATABASE;#RECOVER DATABASE;RELEASE CHANNEL

53、 ch00;RELEASE CHANNEL ch01;恢復archive log然后根據(jù)控制文件的信息: select * from v$log(v$logfile)來確定archive log的sequence,恢復archive log:rman target / rcvcat rman/rmancatadb cmdfile recarchive# cmd line:rman target / rcvcat rman/rmancatadb cmdfile recarchiverun allocate channel d1 TYPE SBT_TAPE; set archivelog dest

54、ination to /disk/archive/arch; restore archivelog from logseq 6 until logseq 10; release channel d1;最后執(zhí)行oracle的recover,在svrmgrl下:recover database using backup controlfile until cancel當執(zhí)行到適宜的archive log時,鍵入cancelalter database open resetlogs注:假設盤陣上的控制文件、redo log均未喪失,也可是運用當前的控制文件將數(shù)據(jù)庫恢復當當前,這時候recover的時

55、候只需recover database就可以了,不要運用recover database using backup controlfile until console.翻開數(shù)據(jù)庫后,reset database rman target / catalog HYPERLINK mailto:rman/rmancatadb rman/rmancatadb rmanreset database然后對數(shù)據(jù)庫進展全備份。針對catalog數(shù)據(jù)的備份實現(xiàn)方法:每天上午7:50把catalog數(shù)據(jù)庫rman用戶exp出來.腳本部署:oradb2效力器50 7 * * * /export/home/oracl

56、e/catalog/expuser.sh/export/home/oracle/catalog/logfile/log.log 2&1腳本expuser.sh的內(nèi)容:#!/bin/kshORACLE_BASE=/opt/app/oracleORACLE_HOME=/opt/app/oracle/product/8.1.7ORACLE_TERM=vt100ORACLE_OWNER=oracleNLS_LANG=american_america.utf8ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/dataORACLE_SID=catadb TMP=/tmpPA

57、TH=$ORACLE_HOME/bin:/usr/ccs/bin:$PATHLD_LIBRARY_PATH=/opt/oracle/app/oracle/product/8.1.7/lib:/usr/libexport ORACLE_BASE ORACLE_HOME ORACLE_TERM ORACLE_OWNER NLS_LANG ORA_NLS33 ORACLE_SID TMP PATH LD_LIBRARY_PATHFILEDIR=/export/home/oracle/cataloglogfile=$FILEDIR/logfile/date +%y%m%d%H%M%S.logdumpf

58、ile=$FILEDIR/dumpfile/date +%y%m%d%H%M%S.dmpexp rman/rmancatadb buffer=4096000 OWNER=rman GRANTS=y ROWS=y COMPRESS=y file=$dumpfile log=$logfile運用Rman備份數(shù)據(jù)庫的另外一種方法(using controlfile)全備份腳本腳本:wholeback.sh#!/bin/shOUTF=$0.out# # You may want to delete the output file so that backup information does# not

59、 accumulate. If not, delete the following lines.# # output blockecho date Beginning of Scriptnecho Script name: $0ORACLE_HOME=/opt/app/oracle/product/8.1.7export ORACLE_HOMEORACLE_SID=actdb export ORACLE_SIDORACLE_USER=oracleRMAN=rmanCMDFILE=/opt/app/oracle/rman/wholeback.rcv# # Print out the value

60、of the variables set by this script.# # must be set and exported within the switch user (su) command.# echo echo % $ORACLE_HOME/bin/$RMAN nocatalog cmdfile $CMDFILEnecho #touch /disk/data2/backup/test.file#su - $ORACLE_USER -c ORACLE_SID=$ORACLE_SIDexport ORACLE_SID$ORACLE_HOME/bin/$RMAN nocatalog c

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論