oracle11g安裝配置手冊_第1頁
oracle11g安裝配置手冊_第2頁
oracle11g安裝配置手冊_第3頁
oracle11g安裝配置手冊_第4頁
oracle11g安裝配置手冊_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Oracle安裝配置手冊V1.0版1 安裝Oracle前的系統(tǒng)準備工作1.1 檢查需要的軟件包以root用戶登錄系統(tǒng),使用rpm -q 軟件包關(guān)鍵詞命令進行檢測rpm -q -qf binutils compat-libstdc+-33 elfutils-libelf elfutils-libelf-devel gcc glibc gcc-c+ glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc libstdc+-devel make sysstat unixODBC unixODBC-devel

2、將缺少的軟件包用命令: rpm ivh加上缺少的軟件包名稱進行安裝,如:# rpm ivh 【注釋:本系統(tǒng)缺少3個軟件安裝包,詳細見附錄/SQMPMS/soft/oracle/package下,名稱:.rpm,.rpm,】1.2 修改系統(tǒng)內(nèi)核參數(shù)在/etc/sysctl.conf中添加以下行: vi /etc/sysctl.conffs.aio-max-nr = 1048576fs.file-max = 6815744#kernel.shmall = 2097152#kernel.shmmax = 536870912kernel.shmmni = 4096kernel.sem = 250 32

3、000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048586運行下面的命令應(yīng)用以上OS參數(shù):/sbin/sysctl p添加以下行到/etc/security/limits.conf文件中:vi /etc/security/limits.conf* soft nproc 2047* hard nproc 16384* soft

4、 nofile 1024* hard nofile 65536如果/etc/pam.d/login文件中沒有以下行,則添加以下內(nèi)容:vi /etc/pam.d/loginsession required pam_limits.so修改/etc/selinux/config文件來關(guān)閉linux防火墻,確保SELINUX設(shè)置如下:vi /etc/selinux/configSELINUX=disabled1.3 創(chuàng)建oracle組和用戶groupadd oinstall groupadd dba useradd -g oinstall -G dba oraclepasswd oracle1.4 創(chuàng)

5、建oracle安裝目錄mkdir /oraclechown -R oracle:oinstall /oraclechmod -R 775 /oracle1.5 設(shè)置oracle用戶環(huán)境變量以oracle用戶登陸系統(tǒng),覆蓋.bash_profile文件內(nèi)容:vi /home/oracle/.bash_profile# Get the aliases and functionsif -f /.bashrc ; then. /.bashrcfi# User specific environment and startup programsORACLE_SID=sqmpmsORACLE_BASE=/o

6、racleexport ORACLE_SID ORACLE_BASE ORACLE_HOMEPATH=$PATH:$ORACLE_HOME/bin:$HOME/binexport PATHLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/libexport LD_LIBRARY_PATHCLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlibexport CLASSPATHif $USER = oracle ; then if $SHELL = /bin/ksh ; then u

7、limit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fifi2 安裝Oracle 2.1 解壓縮安裝文件$ mkdir /oracle/soft通過SSH上傳安裝包到/oracle/soft/目錄下【SSH的實用詳細見SSH實用說明】使用命令unzip 文件名 解壓安裝包$ cd /oracle/softunzip p10404530_112030_Linux-x86-64_1of7.zipunzip p10404530_112030_Linux-x86-64_2of7.zip設(shè)置oracle帳戶可以操作安裝文件所在的目錄c

8、hown -R oracle:oinstall /oracle/soft/chmod -R 755 /oracle/soft/【注釋:安裝包見:附錄/SQMPMS/soft/oracle目錄下,名稱為:p10404530_112030_Linux-x86-64_1of7.zip,p10404530_112030_Linux-x86-64_2of7.zip】2.2 安裝ORACLE用oracle帳戶進入安裝文件所在目錄,執(zhí)行如下命令即可看到安裝界面# su oracle $ cd /oracle/soft/database$ ./runInstaller如果無法看到安裝界面,請使用root帳戶執(zhí)

9、行如下命令后再運行安裝程序:# export DISPLAY=:0.0或者ip:0.0# xhost +# su oracle$ cd /oracle/soft/database$ ./runInstaller 或 ./runInstaller -ignoreSysPreReqs (跳過系統(tǒng)檢查)如果出現(xiàn)界面亂碼現(xiàn)象,執(zhí)行以下命令:export LANG=en出現(xiàn)安裝界面后,根據(jù)界面提示進行相關(guān)的設(shè)置:如果出現(xiàn)程序包警告異常,選擇全部忽略,并執(zhí)行下一步安裝完成的最后步驟,操作如下:$ su - root# cd /oracle/oralnventory/# ./orainstRoot.sh #

10、 cd /# ./root.sh# 回車完成3 創(chuàng)建數(shù)據(jù)庫3.1 配置監(jiān)聽1、 以oracle用戶登錄系統(tǒng)運行netca命令,操作步驟如下:1) :# su - oracle2) 先進入oracle bin目錄,命令:# 3) :$ netca4) :系統(tǒng)會彈出彈出操作窗口,如下圖2、添加監(jiān)聽程序,如圖3、輸入監(jiān)聽程序名,如圖4、使用默認端口1521(生產(chǎn)環(huán)境下,不能使用默認端口,需改為1522,因為國網(wǎng)安全測試通不過)5、完成配置6、啟動監(jiān)聽,命令如下:$ lsnrctl start3.2 創(chuàng)建數(shù)據(jù)庫實例切換到oracle用戶,運行dbca命令創(chuàng)建數(shù)據(jù)庫實例,命令:$ dbca,系統(tǒng)彈出數(shù)據(jù)

11、庫實例創(chuàng)建操作界面,如下圖1、選擇創(chuàng)建數(shù)據(jù)庫2、選擇創(chuàng)建數(shù)據(jù)庫模板,選 一般用途或事務(wù)處理3、輸入數(shù)據(jù)庫全局名及SID: sqmpms4、設(shè)定數(shù)據(jù)庫賬號密碼(建議生成環(huán)境下,選擇不同用戶不同密碼管理)【當前密碼為Oracle123】5、設(shè)置閃回區(qū)大小,這里選擇默認值大小6、設(shè)置數(shù)據(jù)庫實例SGA、PGA大小,視操作系統(tǒng)內(nèi)存大小,一般如果此系統(tǒng)只有ORACLE應(yīng)用,建議分配給ORACLE實例80%的大小,如果數(shù)據(jù)庫為OLTP應(yīng)用的,則其應(yīng)用一般都是小的短的進程,所需要的pga也相應(yīng)較少,所以該值通常為總共分配給Oracle實例的20%,另外的80%給SGA,如果是OLAP的應(yīng)用,建議各占50%。而

12、如果數(shù)據(jù)庫是混合類型的,一般會先分配給pga 40%的初始值,然后隨著應(yīng)用不斷監(jiān)控和調(diào)整PGA。7、設(shè)置數(shù)據(jù)庫實例數(shù)據(jù)塊大小及用戶最大進程數(shù)(生產(chǎn)環(huán)境下,建議連接數(shù)至少為1500以上)8、設(shè)置數(shù)據(jù)庫實例字符集(一般建議選AL32UTF8)9、檢查參數(shù)文件及所有數(shù)據(jù)文件位置是否正確10、點擊 完成 開始創(chuàng)建數(shù)據(jù)庫實例,直至實例安裝成功。3.3 檢查oracle實例是否安裝成功1、終端中切換到oracle用戶,命令:su - oracle2、$ sqlplus / as sysdba;SQL*Plus: Release 11.2.0.3.0 Production on Wed Nov 21 15:

13、11:28 2012Copyright (c) 1982, 2011, Oracle. All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit ProductionWith the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,Data Mining and Real Application Testing options3、在調(diào)出的sqlplus命

14、令模式中,運行命令:select * from v$version,如果有數(shù)據(jù)庫版本信息顯示,則表示數(shù)據(jù)庫實例創(chuàng)建成功。SQL select * from v$version;BANNER-Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit ProductionPL/SQL Release 11.2.0.3.0 - ProductionCORE 11.2.0.3.0 ProductionTNS for Linux: Version 11.2.0.3.0 - ProductionNLSRTL Version 11.2

15、.0.3.0 - Production4、退出sqlplus命令模式,命令:exit;SQLexit;3.4 設(shè)置開機自啟動數(shù)據(jù)庫實例1、 切換到root用戶登錄,命令:su root,2、 執(zhí)行以下命令:# vi /oracle/oraclestart.sh,編輯oraclestart.sh文件,添加以下內(nèi)容# !/bin/sh su - oracle EON export ORACLE_SID=sqmpms lsnrctl start sqlplus /nolog /etc/rc.loca4 數(shù)據(jù)庫配置4.1 數(shù)據(jù)庫基本信息 數(shù)據(jù)庫類型:Oracle 數(shù)據(jù)庫版本: 數(shù)據(jù)庫SID:sqmpm

16、s 數(shù)據(jù)庫別名: sqmpms 語言:AMERICAN_AMERICA 數(shù)據(jù)庫字符集(NLS_CHARACTERSET):UTF8 國家區(qū)域字符集(NLS_NCHAR_CHARACTERSET):UTF84.2 修改ORACLE核心參數(shù)1、 切換到oracle用戶,命令:su oracle 2、 執(zhí)行以下命令:$ sqlplus / as sysdba;3、 逐句執(zhí)行以下命令:alter system set nls_length_semantics = CHAR scope=both; (如果字符集選的是UTF-8,一定要執(zhí)行此語句,利于建表語句中字符字段長度的規(guī)范。原來的值為spfile;

17、)alter system set sessions=3000 scope=spfile;alter system set processes=2500 scope=spfile;alter system set open_cursors=3000 scope=both;alter system set db_files=500 scope=spfile ;alter system set job_queue_processes=30 scope=both;alter system set nls_date_format=YYYY-MM-DD scope=spfile;4、關(guān)閉數(shù)據(jù)庫,命令:s

18、hutdown immediate;5、啟動數(shù)據(jù)庫實例,命令:startup;4.3 導入數(shù)據(jù)1、根據(jù)“附錄/SQMPMS/data/數(shù)據(jù)庫腳本”中的數(shù)據(jù)腳本,按照建立表空間、新建用戶、數(shù)據(jù)庫表結(jié)構(gòu)初始化、建立索引、平臺數(shù)據(jù)依次執(zhí)行各個腳本(執(zhí)行腳本之前必須先認真閱讀文件夾下的“重要說明.txt”文件)。4.4 編譯數(shù)據(jù)庫失效對象1、以oracle用戶執(zhí)行命令:$ sqlplus / as sysdba; (如果沒有切換或者退出當前用戶,則不用執(zhí)行此命令,直接執(zhí)行以下腳本)2、執(zhí)行以下數(shù)據(jù)庫編譯腳本/oracle5 系統(tǒng)故障處理5.1 數(shù)據(jù)庫文件損壞口令文件損壞處理方法: 重新生成口令文件即可

19、,采用orapwd命令進行生成相應(yīng)的口令文件到指定的位置,然后重啟數(shù)據(jù)庫即可單個控制文件損壞處理方法:1、 停止數(shù)據(jù)庫,shutdown immediate;2、 查看初始化文件/initpmdb.ora,確定所有控制文件的路徑,一般初始化參數(shù)文件路徑在$ORACLE_BASE/admin/pfile3、 用操作系統(tǒng)命令將其它正確的控制文件覆蓋錯誤的控制文件4、 重啟數(shù)據(jù)庫,startup5、 用適當?shù)姆椒ㄟM行數(shù)據(jù)庫全備份全部控制文件損壞處理方法:1. 確保數(shù)據(jù)庫已經(jīng)關(guān)閉,如果沒有用下面的命令來關(guān)閉數(shù)據(jù)庫: shutdown immediate;2. 從相應(yīng)的備份結(jié)果集中恢復最近的控制文件。對

20、于沒有采用帶庫備份的點可以直接從磁帶上將最近的控制文件備份恢復到相應(yīng)目錄;對于采用帶庫備份的點用相應(yīng)的rman腳本來恢復最近的控制文件3. 用下面的命令來創(chuàng)建產(chǎn)生數(shù)據(jù)庫控制文件的腳本:startup mount;alter database backup controlfile to trace noresetlogs;4. 修改第三步產(chǎn)生的trace文件,將其中關(guān)于創(chuàng)建控制文件的一部分語句拷貝出來并做些修改,使得它能夠體現(xiàn)最新的數(shù)據(jù)庫結(jié)構(gòu)。假設(shè)產(chǎn)生的sql文件名字為createcontrol.sql.注意:Trace文件的具體路徑可以在執(zhí)行完第3)步操作后查看$ORACLE_BASE/adm

21、in/bdump/alert_ORCL.ora文件來確定5. 用下面命令重新創(chuàng)建控制文件:shutdown abort;startup nomount;createcontrol.sql;6. 用適當?shù)姆椒ㄟM行數(shù)據(jù)庫全備份重做日志文件損壞處理方法:(1)、確定損壞的重做日志的位置及其狀態(tài): 1. 如果數(shù)據(jù)庫處于可用狀態(tài): select * from v$logfile;select * from v$log;2. 如果數(shù)據(jù)庫處于已經(jīng)異常終止:startup mount;select * from v$logfile;select * from v$log;其中,logfile的狀態(tài)為INVAL

22、ID表示這組日志文件出現(xiàn)已經(jīng)損壞;log狀態(tài)為Inactive:表示重做日志文件處于非激活狀態(tài);Active: 表示重做日志文件處于激活狀態(tài);Current:表示是重做日志為當前正在使用的日志文件(2)、損壞的日志文件處于非激活狀態(tài):1. 刪除相應(yīng)的日志組:alter database drop logfile group group_number;2. 重新創(chuàng)建相應(yīng)的日志組:alter database add log file group group_number (log_file_descritpion,) size log_file_size;(3)、損壞的日志文件處于激活狀態(tài)且為非

23、當前日志:1. 清除相應(yīng)的日志組:alter database clear unarchived logfile group group_number;損壞的日志文件為當前活動日志文件:用命令清除相應(yīng)的日志組:alter database clear unarchived logfile group group_number;如果清除失敗,則只能做基于時間點的不完全恢復。打開數(shù)據(jù)庫并且用適當?shù)姆椒ㄟM行數(shù)據(jù)庫全備份:alter database open;非system表空間的數(shù)據(jù)文件損壞 :1. 確定損壞的文件名字: select name from v$datafile where stat

24、us=INVALID; 2. 將損壞的數(shù)據(jù)文件處于offline狀態(tài): alter database datafile datafile_name offline; 3. 從相應(yīng)的備份結(jié)果集中恢復關(guān)于這個數(shù)據(jù)文件的最近的備份。對于沒有采用帶庫備份的點可以直接從磁帶上恢復;對于用帶庫備份的點用相應(yīng)的rman腳本來恢復。 4. 恢復數(shù)據(jù)文件: alter database recover datafile file_name; 5. 使數(shù)據(jù)庫文件online: alter database datafile datafile_name online; 6. 用適當?shù)姆椒ㄟM行數(shù)據(jù)庫全備份。syste

25、m表空間的數(shù)據(jù)文件損壞: 1. 以mount方式啟動數(shù)據(jù)庫 startup mount; 2. 從相應(yīng)的備份結(jié)果集中恢復關(guān)于這個數(shù)據(jù)文件的最近的備份。對于沒有采用帶庫備份的點可以直接從磁帶上恢復;對于用帶庫備份的點用相應(yīng)的rman腳本來恢復。 3. 恢復system表空間: alter database recover datafile datafile_name; 4. 打開數(shù)據(jù)庫: alter database open; 5. 用適當?shù)姆椒ㄟM行數(shù)據(jù)庫全備份非system表空間損壞: 1. 將損壞的表空間處于offline狀態(tài): alter tablespace tablespace_na

26、me offline; 2. 從相應(yīng)的備份結(jié)果集中恢復關(guān)于這個表空間最近的備份。對于沒有采用帶庫備份的點可以直接從磁帶上恢復;對于用帶庫備份的點用相應(yīng)的rman腳本來恢復。 3. 恢復表空間: alter database recover tablespace tablespace_name; 4. 使表空間online: alter tablespace tablespace_name online; 5. 用適當?shù)姆椒ㄟM行數(shù)據(jù)庫全備份. system表空間損壞: 1. 以mount方式啟動數(shù)據(jù)庫 startup mount; 2. 從相應(yīng)的備份結(jié)果集中恢復system表空間最近的備份。對于

27、沒有采用帶庫備份的點可以直接從磁帶上恢復;對于用帶庫備份的點用相應(yīng)的rman腳本來恢復。 3. 恢復system表空間: alter database recover tablespace system; 4. 打開數(shù)據(jù)庫: alter database open; 5. 用適當?shù)姆椒ㄟM行數(shù)據(jù)庫全備份。 整個數(shù)據(jù)庫的所有文件損壞: 整個數(shù)據(jù)庫所有文件的損壞一般是在共享磁盤陣列發(fā)生無法恢復的災難時才發(fā)生,這種情況下只能對數(shù)據(jù)庫進行恢復。若數(shù)據(jù)庫的歸檔目錄也已經(jīng)丟失,則數(shù)據(jù)庫不可能做完全恢復,會有用戶數(shù)據(jù)的丟失。 沒采用帶庫備份的現(xiàn)場: 1. 將最近的備份從磁帶上把各個文件解包到相應(yīng)的目錄下。 2

28、. 以mount方式打開數(shù)據(jù)庫: startup mount; 3. 恢復數(shù)據(jù)庫: recover database until cancel; 4. 打開數(shù)據(jù)庫: alter database open resetlogs; 5. 用適當?shù)姆椒ㄟM行數(shù)據(jù)庫全備份。 采用帶庫備份的現(xiàn)場: 1. 以nomount方式打開數(shù)據(jù)庫: startup nomount; 2. 通過相應(yīng)的rman腳本進行數(shù)據(jù)庫軟恢復。 $rman cmdfile=hot_database_restore.rcv 3. 打開數(shù)據(jù)庫: alter database open resetlogs; 4. 用適當?shù)姆椒ㄟM行數(shù)據(jù)庫全

29、備份。 存在最近的數(shù)據(jù)庫完整冷備份前提下的一些經(jīng)典緊急情況的處理: 數(shù)據(jù)文件,歸檔重作日志和控制文件同時丟失或損壞: 無新增archives 時的狀況: 條件和假設(shè):自上次鏡像備份以來尚未生成新的archive log(s); Archivelog Mode; 有同步的datafile(s) 和control file(s) 的鏡像(冷)拷貝 恢復步驟: 1. 將鏡像拷貝的datafile(s) 和control file(s) 抄送回原始地點: $ cp /backup/good_one.dbf /orig_loc/bad_one.dbf $ cp /backup/control1.ctl

30、/disk1/control1.ctl 2. 以mount 選項啟動數(shù)據(jù)庫: $ sqlplus /nolog connect / as sysdba startup mount 3. 以舊的control file 來恢復數(shù)據(jù)庫: recover database using backup controlfile until cancel; * 介質(zhì)恢復完成 (必須馬上cancel ) 4. Reset the logfiles (對啟動而言不可省略): alter database open resetlogs; 5. 關(guān)閉數(shù)據(jù)庫并做一次全庫冷備份。 新增archives 時的狀況: 條件

31、和假設(shè):自上次鏡像備份以來已經(jīng)生成新的archive log(s); Archivelog Mode; 有同步的datafile(s) 和control file(s) 的鏡像(冷)拷貝;archive log(s) 可用。 恢復步驟: 1. 如果數(shù)據(jù)庫尚未關(guān)閉,則首先把它關(guān)閉: $ sqlplus /nolog connect /as sysdba shutdown abort 2. 將備份文件抄送回原始地點: 所有Database Files 所有Control Files(沒有archive(s) 或redo(s) 的情況下,control files 的更新無任何意義) 所有On-Li

32、ne Redo Logs (Not archives) init.ora file(選項) 3. 啟動數(shù)據(jù)庫: $ sqlplus /nolog connect /as sysdba startup數(shù)據(jù)文件, 重作日志和控制文件同時丟失或損壞: 條件和假設(shè):Archivelog Mode; 有同步的所有所失文件的鏡像(冷)拷貝;archive log(s) 可用 恢復步驟(必須采用不完全恢復的手法): 1. 如果數(shù)據(jù)庫尚未關(guān)閉,則首先把它關(guān)閉: $ sqlplus /nolog connect /as sysdba shutdown abort 2. 將備份文件抄送回原始地點: 所有Datab

33、ase Files 所有Control Files 所有On-Line Redo Logs(Not archives) init.ora file(選項) 3. 啟動數(shù)據(jù)庫然而并不打開: startup mount 4. 做不完全數(shù)據(jù)庫恢復,應(yīng)用所有從上次鏡像(冷)備份始積累起來的archives: recover database until cancel using backup controlfile; . . cancel 5. Reset the logfiles (對啟動而言不可省略): alter database open resetlogs; 6. 關(guān)閉數(shù)據(jù)庫并做一次全庫冷備

34、份。 數(shù)據(jù)文件和控制文件同時丟失或損壞: 條件和假設(shè):Archivelog Mode; 有同步的datafile(s) 和control file(s) 的冷拷貝;archive log(s) 可用 恢復步驟: 1. 將冷拷貝的datafiles(s) 和control file(s) 抄送回原始地點: $ cp /backup/good_one.dbf /orig_loc/bad_one.dbf $ cp /backup/control1.ctl /disk1/control1.ctl 2. 以mount 選項啟動數(shù)據(jù)庫: $ sqlplus /nolog connect /as sysdb

35、a startup mount 3. 以舊的control file 來恢復數(shù)據(jù)庫: recover database until cancel using backup controlfile; * 介質(zhì)恢復完成 (須在應(yīng)用完最后一個archive log 后cancel ) 4. Reset the logfiles (對啟動而言不可省略): alter database open resetlogs; 重作日志和控制文件同時丟失或損壞時: 條件和假設(shè):Control Files 全部丟失或損壞;Archivelog Mode; 有Control Files 的鏡像(冷)拷貝。 恢復步驟:

36、 1. 如果數(shù)據(jù)庫尚未關(guān)閉,則首先把它關(guān)閉: $ sqlplus /nolog connect /as sysdba shutdown abort exit 2. 以Control File 的鏡像(冷)拷貝覆蓋損壞了的Control File: $ cp /backup/control1.ctl /disk1/control1.ctl 3. 啟動數(shù)據(jù)庫然而并不打開: $ sqlplus /nolog connect /as sysdba startup mount 4. Drop 壞掉的redo log (排除硬件故障): alter database drop logfile group

37、2; 5. 重新創(chuàng)建redo log: alter database add logfile group 2 /orig_loc/log2.dbf size 10M; 6. 以舊的control file 來恢復數(shù)據(jù)庫: recover database until cancel using backup controlfile; (必須馬上cancel ) 7. Reset the logfiles (對啟動而言不可省略): alter database open resetlogs; 8. 關(guān)閉數(shù)據(jù)庫并做一次全庫冷備份只發(fā)生歸檔重作日志丟失或損壞時: 根據(jù)不同環(huán)境和情況,選擇下述手段之一:

38、 a. 馬上backup 全部datafiles (如果系統(tǒng)采用一般熱備份或RMAN 熱備份) b. 馬上正常關(guān)閉數(shù)據(jù)庫并進行冷備份(如果系統(tǒng)采用冷備份) c. 冒險前進!不做備份而讓數(shù)據(jù)庫接著跑,直等到下一個備份周期再做備份。這是在賭數(shù)據(jù)庫在下一個備份周期到來之前不會有需要恢復的錯誤發(fā)生。 注意:冒險前進的選擇:如果發(fā)生錯誤而需要數(shù)據(jù)庫恢復,則最多只能恢復到出問題archive log 之前的操作現(xiàn)場。從另一個角度講,archive log(s) 出現(xiàn)問題時,數(shù)據(jù)庫若不需要恢復則其本身并沒有任何問題。 5.2 Oracle邏輯結(jié)構(gòu)故障的處理方法邏輯結(jié)構(gòu)的故障一般指由于人為的誤操作而導致重要數(shù)

39、據(jù)丟失的情況。在這種情況下數(shù)據(jù)庫物理結(jié)構(gòu)是完整的也是一致的。對于這種情況采取對原來數(shù)據(jù)庫的全恢復是不合適的,我們一般采用三種方法來恢復用戶數(shù)據(jù)。 采用exp/imp工具來恢復用戶數(shù)據(jù): 如果丟失的數(shù)據(jù)存在一個以前用exp命令的備份,則可以才用這種方式。 1. 在數(shù)據(jù)庫內(nèi)創(chuàng)建一個臨時用戶: create user test_user identified by test; grant connect,resource to test_user; 2. 從以前exp命令備份的文件中把丟失數(shù)據(jù)的表按照用戶方式倒入測試用戶: $imp system/manager file=export_file_n

40、ame tables=(lost_data_table_name) fromuser=lost_data_table_owner touser=test_user constraint=n; 3. 用相應(yīng)的DML語句將丟失的數(shù)據(jù)從測試用戶恢復到原用戶。 4. 將測試用戶刪除: drop user test_user cascede; 采用logminer來恢復用戶數(shù)據(jù): Logminer是oracle提供的一個日志分析工具。它可以根據(jù)數(shù)據(jù)字典對在線聯(lián)機日志、歸檔日志進行分析,從而可以獲得數(shù)據(jù)庫的各種DML操作的歷史記錄以及各種DML操作的回退信息。根據(jù)這些用戶就可以將由于誤操作而丟失的數(shù)據(jù)重新加入數(shù)據(jù)庫內(nèi)。 1. 確認數(shù)據(jù)庫的utl_file_dir參數(shù)已經(jīng)設(shè)置,如果沒有則需要把這個參數(shù)加入oracle的初始化參數(shù)文件,然后重新啟動數(shù)據(jù)庫。下面例子中假設(shè)utl_file_dir=/opt/oracle/db01; 2. 創(chuàng)建logminer所需要的數(shù)據(jù)字典信息,假設(shè)生成的數(shù)據(jù)字典文本文件為dict.ora: execute dbms_logmnr_d.build(dictionary_filename=dict.ora, dictionary_location=/opt/oracle/db01); 3. 確定所需

溫馨提示

  • 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

提交評論