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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Oracle安裝配置手冊V1.0版1 安裝Oracle前的系統準備工作1.1 檢查需要的軟件包以root用戶登錄系統,使用rpm -q 軟件包關鍵詞命令進行檢測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 【注釋:本系統缺少3個軟件安裝包,詳細見附錄/SQMPMS/soft/oracle/package下,名稱:.rpm,.rpm,】1.2 修改系統內核參數在/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運行下面的命令應用以上OS參數:/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文件中沒有以下行,則添加以下內容:vi /etc/pam.d/loginsession required pam_limits.so修改/etc/selinux/config文件來關閉linux防火墻,確保SELINUX設置如下:vi /etc/selinux/configSELINUX=disabled1.3 創建oracle組和用戶groupadd oinstall groupadd dba useradd -g oinstall -G dba oraclepasswd oracle1.4 創

5、建oracle安裝目錄mkdir /oraclechown -R oracle:oinstall /oraclechmod -R 775 /oracle1.5 設置oracle用戶環境變量以oracle用戶登陸系統,覆蓋.bash_profile文件內容: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設置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帳戶進入安裝文件所在目錄,執行如下命令即可看到安裝界面# su oracle $ cd /oracle/soft/database$ ./runInstaller如果無法看到安裝界面,請使用root帳戶執

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

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

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

12、如果數據庫是混合類型的,一般會先分配給pga 40%的初始值,然后隨著應用不斷監控和調整PGA。7、設置數據庫實例數據塊大小及用戶最大進程數(生產環境下,建議連接數至少為1500以上)8、設置數據庫實例字符集(一般建議選AL32UTF8)9、檢查參數文件及所有數據文件位置是否正確10、點擊 完成 開始創建數據庫實例,直至實例安裝成功。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、在調出的sqlplus命

14、令模式中,運行命令:select * from v$version,如果有數據庫版本信息顯示,則表示數據庫實例創建成功。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 設置開機自啟動數據庫實例1、 切換到root用戶登錄,命令:su root,2、 執行以下命令:# vi /oracle/oraclestart.sh,編輯oraclestart.sh文件,添加以下內容# !/bin/sh su - oracle EON export ORACLE_SID=sqmpms lsnrctl start sqlplus /nolog /etc/rc.loca4 數據庫配置4.1 數據庫基本信息 數據庫類型:Oracle 數據庫版本: 數據庫SID:sqmpm

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

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

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

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

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

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

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

24、us=INVALID; 2. 將損壞的數據文件處于offline狀態: alter database datafile datafile_name offline; 3. 從相應的備份結果集中恢復關于這個數據文件的最近的備份。對于沒有采用帶庫備份的點可以直接從磁帶上恢復;對于用帶庫備份的點用相應的rman腳本來恢復。 4. 恢復數據文件: alter database recover datafile file_name; 5. 使數據庫文件online: alter database datafile datafile_name online; 6. 用適當的方法進行數據庫全備份。syste

25、m表空間的數據文件損壞: 1. 以mount方式啟動數據庫 startup mount; 2. 從相應的備份結果集中恢復關于這個數據文件的最近的備份。對于沒有采用帶庫備份的點可以直接從磁帶上恢復;對于用帶庫備份的點用相應的rman腳本來恢復。 3. 恢復system表空間: alter database recover datafile datafile_name; 4. 打開數據庫: alter database open; 5. 用適當的方法進行數據庫全備份非system表空間損壞: 1. 將損壞的表空間處于offline狀態: alter tablespace tablespace_na

26、me offline; 2. 從相應的備份結果集中恢復關于這個表空間最近的備份。對于沒有采用帶庫備份的點可以直接從磁帶上恢復;對于用帶庫備份的點用相應的rman腳本來恢復。 3. 恢復表空間: alter database recover tablespace tablespace_name; 4. 使表空間online: alter tablespace tablespace_name online; 5. 用適當的方法進行數據庫全備份. system表空間損壞: 1. 以mount方式啟動數據庫 startup mount; 2. 從相應的備份結果集中恢復system表空間最近的備份。對于

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

28、. 以mount方式打開數據庫: startup mount; 3. 恢復數據庫: recover database until cancel; 4. 打開數據庫: alter database open resetlogs; 5. 用適當的方法進行數據庫全備份。 采用帶庫備份的現場: 1. 以nomount方式打開數據庫: startup nomount; 2. 通過相應的rman腳本進行數據庫軟恢復。 $rman cmdfile=hot_database_restore.rcv 3. 打開數據庫: alter database open resetlogs; 4. 用適當的方法進行數據庫全

29、備份。 存在最近的數據庫完整冷備份前提下的一些經典緊急情況的處理: 數據文件,歸檔重作日志和控制文件同時丟失或損壞: 無新增archives 時的狀況: 條件和假設:自上次鏡像備份以來尚未生成新的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 選項啟動數據庫: $ sqlplus /nolog connect / as sysdba startup mount 3. 以舊的control file 來恢復數據庫: recover database using backup controlfile until cancel; * 介質恢復完成 (必須馬上cancel ) 4. Reset the logfiles (對啟動而言不可省略): alter database open resetlogs; 5. 關閉數據庫并做一次全庫冷備份。 新增archives 時的狀況: 條件

31、和假設:自上次鏡像備份以來已經生成新的archive log(s); Archivelog Mode; 有同步的datafile(s) 和control file(s) 的鏡像(冷)拷貝;archive log(s) 可用。 恢復步驟: 1. 如果數據庫尚未關閉,則首先把它關閉: $ 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. 啟動數據庫: $ sqlplus /nolog connect /as sysdba startup數據文件, 重作日志和控制文件同時丟失或損壞: 條件和假設:Archivelog Mode; 有同步的所有所失文件的鏡像(冷)拷貝;archive log(s) 可用 恢復步驟(必須采用不完全恢復的手法): 1. 如果數據庫尚未關閉,則首先把它關閉: $ sqlplus /nolog connect /as sysdba shutdown abort 2. 將備份文件抄送回原始地點: 所有Datab

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

34、份。 數據文件和控制文件同時丟失或損壞: 條件和假設: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 選項啟動數據庫: $ sqlplus /nolog connect /as sysdb

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

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

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

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

39、據丟失的情況。在這種情況下數據庫物理結構是完整的也是一致的。對于這種情況采取對原來數據庫的全恢復是不合適的,我們一般采用三種方法來恢復用戶數據。 采用exp/imp工具來恢復用戶數據: 如果丟失的數據存在一個以前用exp命令的備份,則可以才用這種方式。 1. 在數據庫內創建一個臨時用戶: create user test_user identified by test; grant connect,resource to test_user; 2. 從以前exp命令備份的文件中把丟失數據的表按照用戶方式倒入測試用戶: $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. 用相應的DML語句將丟失的數據從測試用戶恢復到原用戶。 4. 將測試用戶刪除: drop user test_user cascede; 采用logminer來恢復用戶數據: Logminer是oracle提供的一個日志分析工具。它可以根據數據字典對在線聯機日志、歸檔日志進行分析,從而可以獲得數據庫的各種DML操作的歷史記錄以及各種DML操作的回退信息。根據這些用戶就可以將由于誤操作而丟失的數據重新加入數據庫內。 1. 確認數據庫的utl_file_dir參數已經設置,如果沒有則需要把這個參數加入oracle的初始化參數文件,然后重新啟動數據庫。下面例子中假設utl_file_dir=/opt/oracle/db01; 2. 創建logminer所需要的數據字典信息,假設生成的數據字典文本文件為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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論