心理準備: 1. 當我第一次在linux上安裝oracle的時候,我感覺好麻煩,結果第一次沒裝到一半就放棄了,因為習慣了window的介面下一步,現在想想其實挺簡單的,耐心點做完就好了。 2. 軟體的下載,百度一下就有,我就不重複了。 3. linux的機子在自己練習的時候,都是虛擬機器,作業系統,redhat,centos,隨便。 裝前準備: 軟體:oracle 10.2 for linux edition(32bit) 硬體: 記憶體: 最小512M(命令:grep MemTotal /proc/meminfo) Swap記憶體:兩倍記憶體(1G)(命令:grep SwapTotal /proc/meminfo) 硬碟空間:/tmp目錄400M空間(命令:df -k /tmp),安裝目錄1.5G至3.5G,取決於版本(命令:df –k)。 作業系統:Red Hat Enterprise Linux AS/ES 3.0 (Update 4 or later),Red Hat Linux 4.0,SUSE Linux Enterprise Server 9.0 with SP 2 or later,Asianux 1.0,Asianux 2.0(命令:cat /etc/issue) 確定核心最低版本: Red Hat Enterprise Linux 3.0 and Asianux 1.0:2.4.21-27.EL Red Hat Enterprise Linux 4.0 and Asianux 2.0:2.6.9-5.EL SUSE Linux Enterprise Server 9.0:2.6.5-7.201 (命令:# uname –r)
必裝的軟體安裝包:
Red Hat Enterprise Linux 3.0 and Asianux 1.0: make-3.79.1 gcc-3.2.3-34 glibc-2.3.2-95.20 compat-db-4.0.14-5 compat-gcc-7.3-2.96.128 compat-gcc-c++-7.3-2.96.128 compat-libstdc++-7.3-2.96.128 compat-libstdc++-devel-7.3-2.96.128 openmotif21-2.1.30-8 setarch-1.3-1 Red Hat Enterprise Linux 4.0 and Asianux 2.0: binutils-2.15.92.0.2-13.EL4 compat-db-4.1.25-9 compat-libstdc++-296-2.96-132.7.2 control-center-2.8.0-12 gcc-3.4.3-22.1.EL4 gcc-c++-3.4.3-22.1.EL44 glibc-2.3.4-2.9 glibc-common-2.3.4-2.9 gnome-libs-1.4.1.2.90-44.1(光碟片中沒有找到,沒裝沒發現有影響) libstdc++-3.4.3-22.1 libstdc++-devel-3.4.3-22.1 make-3.80-5 pdksh-5.2.14-30 sysstat-5.0.5-1 xscreensaver-4.18-5.rhel4.2(光碟片中沒有找到,沒裝沒發現有影響) setarch-1.6-1
SUSE Linux Enterprise Server 9: binutils-2.15.90.0.1.1-32.5 gcc-3.3.3-43.24 gcc-c++-3.3.3-43.24 glibc-2.3.3-98.28 gnome-libs-1.4.1.7-671.1 libstdc++-3.3.3-43.24 libstdc++-devel-3.3.3-43.24 make-3.80-184.1 pdksh-5.2.14-780.1 sysstat-5.0.1-35.1 xscreensaver-4.16-2.6
可以使用以下命令檢查: rpm -q package_name 注意這裡的package_name不帶任何版本號碼,例如檢查make-3.79 rpm -q make 如果以上軟體沒有安裝,請安裝. 啟動xwindow,開啟 應用程式/系統設定/添加刪除程式 如果沒有,運行包安裝就好了 命令:rpm -ivh libaio-0.3.102-1.i386.rpm 安裝過程: 1.建立使用者與組。 需要的使用者是oracle,組是dba,oinstall 首先查看oraInst.loc檔案是否存在,這個是oracle建立時產生。 查看命令:# more /etc/oraInst.loc 如果有列出,則說明已經存在,如: inventory_loc=/u01/app/oracle inst_group=oinstall 如果路徑設定不正確,可以修改相關路徑資訊。 如果不存在,則使用以下命令: # /usr/sbin/groupadd oinstall # /usr/sbin/groupadd dba 查看oracle使用者是否存在, 命令:# id oracle,如果存在,出現類似內容: uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba) 存在,但是不屬於額定的兩個群組,可以使用修改,命令如下: # /usr/sbin/usermod -g oinstall -G dba[,oper] oracle (-g 是主組,-G是副組,一個使用者可以屬於不同的組) 如果不存在,建立命令如下: 命令:# /usr/sbin/useradd -g oinstall -G dba oracle # passwd oracle
2.配置核心參數 可以通過命令查看相關的核心參數,如:# /sbin/sysctl -a | grep sem查看sem的相關參數,並可以修改。如果需要大量參數設定,可以直接修改參數檔案,用文本方式開啟/etc/sysctl.conf檔案,把以下參數複製進去,儲存退出。(參數僅供參考) kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 1048576 net.core.rmem_max = 1048576 net.core.wmem_default = 262144 net.core.wmem_max = 262144 如果系統的參數設定的比上述參數值小,則編輯 /etc/sysctl.conf 檔案,添加或更改這些參數。完成後,運行以下命令啟用更改: /sbin/sysctl -p
為了提供效能,需對核心的相關參數進行限制,在檔案/etc/security/limits.conf中添加以下內容: oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
在檔案/etc/pam.d/login添加以下內容: session required /lib/security/pam_limits.so session required pam_limits.so 如果是Bourne, Bash, or Korn shell,修改/etc/profile檔案如下: if [ \$USER = "oracle" ]; then if [ \$SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi 如果是c shell,則環境變數檔案 /etc/csh.login的修改值如下: if ( $USER == "oracle" ) then limit maxproc 16384 limit descriptors 65536 endif 3.建立目錄: 以base 目錄:使用命令查看是否存在: # more /var/opt/oracle/oraInst.loc,如果有以下類似內容出現,則說明存在。 inventory_loc=/u01/app/oracle/oraInventory inst_group=oinstall 如果不存在,使用以下命令建立(軟體存放目錄): mkdir -p /u01/oracle chown -R oracle:oinstall /u01/oracle chmod -R 755 /u01/oracle (chown是設定目錄所屬的使用者組和使用者) (chmod設定目錄的讀寫權限) Oracle資料庫檔案存放目錄. 這個可以沒有的. 一般設定為/u02/oradata mkdir -p /u02/oradata chown -R oracle:oinstall /u02/oradata chmod -R 755 /u02/oradata 建立相關資料恢複檔案目錄等 Asm目錄組的建立
4.環境變數設定 查看shell類型,命令:#echo $SHELL 切換到oracle使用者中,#su - oracle 開啟參數檔案:vi .bash_profile,刪除ORACLE_SID, ORACLE_HOME, or ORACLE_BASE三個設定的內容(避免衝突)。 設定display,命令:$ DISPLAY=local_host:0.0 ; export DISPLAY local_host:主機名稱或者ip地址 設定環境變數命令: $ ORACLE_BASE=/u01/oracle $ ORACLE_SID=orcl $ export ORACLE_BASE ORACLE_SID 或者在檔案裡添加,命令如下: $su oracle $vi ~/.bash_profile 修改以下是設定檔的內容 export ORACLE_BASE=/u01 export ORACLE_HOME=/u01/oracle export ORACLE_SID=orcl export PATH=$ORACLE_HOME/bin:$PATH ESC(退出vi的編輯環境) :wq(退出vi應用程式並儲存修改) (註:base目錄是oracle公司的基礎目錄,oracle是資料庫產品的目錄) 確認ORACLE_HOME and TNS_ADMIN 的環境變數不被使用者佈建 千萬不要因為安裝過程中的其他錯誤,而設定這些值 Bash shell: unset ORACLE_HOME unset TNS_ADMIN c shell: unsetenv ORACLE_HOME unsetenv TNS_ADMIN
5.其他設定: #export TNS_ADMIN=$ORACLE_HOME/network/admin #export NLS_.ZHS16GBK #export .ZHS16GBK 查詢相關設定是否正確,可以使用命令以下命令核對: $ umask $ env | more
6.介面安裝 1) 把檔案複製到/tmp下面,解壓縮(unzip /home/oracle/10201_database_linux32.zip),使用oracle使用者登入,運行database下面的runInstaller,命令為:$ ./runInstaller。
運行後,出現 [oracle@localhost database]$ ./runInstaller 正在啟動 Oracle Universal Installer... 正在檢查安裝程式要求... 檢查作業系統版本: 必須是redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2 未通過 <<<< 這是由於要檢查版本,忽略就行了。(執行如下語句) [oracle@localhost database]$./runInstaller-ignoreSysPrereqs >>> 忽略未通過的必需先決條件。繼續... 準備從以下地址啟動 Oracle Universal Installer /tmp/OraInstall2011-12-17_05-37-25AM. 請稍候...[oracle@localhost database]$ Oracle Universal Installer, 版本 10.2.0.1.0 正式版 著作權 (c) 1999, 2005, Oracle。著作權所有,並保留一切權利。 Exception java.lang.UnsatisfiedLinkError: /tmp/OraInstall2011-12-17_05-37-25AM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory occurred.. java.lang.UnsatisfiedLinkError: /tmp/OraInstall2011-12-17_05-37-25AM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(Unknown Source) at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadLibrary(Unknown Source) at sun.security.action.LoadLibraryAction.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at sun.awt.NativeLibLoader.loadLibraries(Unknown Source) at sun.awt.DebugHelper.<clinit>(Unknown Source) at java.awt.Component.<clinit>(Unknown Source) at oracle.sysman.oii.oiif.oiifm.OiifmGraphicInterfaceManager.<init>(OiifmGraphicInterfaceManager.java:222) at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.createInterfaceManager(OiicSessionInterfaceManager.java:193) at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.getInterfaceManager(OiicSessionInterfaceManager.java:202) at oracle.sysman.oii.oiic.OiicInstaller.getInterfaceManager(OiicInstaller.java:436) at oracle.sysman.oii.oiic.OiicInstaller.runInstaller(OiicInstaller.java:926) at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:866) Exception in thread "main" java.lang.NoClassDefFoundError at oracle.sysman.oii.oiif.oiifm.OiifmGraphicInterfaceManager.<init>(OiifmGraphicInterfaceManager.java:222) at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.createInterfaceManager(OiicSessionInterfaceManager.java:193) at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.getInterfaceManager(OiicSessionInterfaceManager.java:202) at oracle.sysman.oii.oiif.oiifm.OiifmAlert.<clinit>(OiifmAlert.java:151) at oracle.sysman.oii.oiic.OiicInstaller.runInstaller(OiicInstaller.java:984) at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:866) 解決方案:(http://blog.csdn.net/gltyi99/article/details/6736951)
原因是:缺少支援列印的圖形化動態連結程式庫libXp.so.6 這個錯誤是由於缺少系統安裝包,在RHEL5以前的版本,可以安裝xorg-x11-deprecated-libs包即可,這個安裝包可以在系統光碟片第三張盤中找到(對於redhat as4.2以前,redhat as4.4是在第四張安裝光碟片) 我下載的檔案如下:(CSDN有下載) libXp-1.0.0-8.1.el5.i386.rpm 然後, [oracle@localhost ora安裝檔案]$ rpm -ivh libXp-1.0.0-8.1.el5.i386.rpm warning: libXp-1.0.0-8.1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID e8562897 error: can't create transaction lock on /var/lib/rpm/__db.000
這個錯是/var/lib/目錄磁碟空間不夠或沒有許可權引起的。解決方案:用root使用者安裝。(root安裝完這個之後,再切換回oracle使用者) 然後繼續 [oracle@localhost database]$ ./runInstaller -ignoreSysPrereqs 正在啟動 Oracle Universal Installer... 正在檢查安裝程式要求... 檢查作業系統版本: 必須是redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2 未通過 <<<< >>> 忽略未通過的必需先決條件。繼續... 準備從以下地址啟動 Oracle Universal Installer /tmp/OraInstall2011-12-17_05-57-12AM. 請稍候...[oracle@localhost database]$ Oracle Universal Installer, 版本 10.2.0.1.0 正式版 著作權 (c) 1999, 2005, Oracle。著作權所有,並保留一切權利。 Xlib: connection to ":0.0" refused by server Xlib: No protocol specified Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable. :0.0 :0.0 OUI-10025: 由於出現以下錯誤, 無法啟動互動式安裝會話: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.。DISPLAY 環境變數應該設定為 <hostname>:<screen> 或 <IP address>:<screen>, 其中 <screen> 通常為 '0.0'。 OUI-10026: 根據所使用的 Unix Shell, 您可以使用以下命令之一作為設定 DISPLAY 環境變數的樣本: - 對於 csh: % setenv DISPLAY 192.168.1.128:0.0 - 對於 sh, ksh 和 bash: $ DISPLAY=192.168.1.128:0.0; export DISPLAY 使用以下命令來查看所使用的 shell: echo $SHELL 使用以下命令來查看 DISPLAY 環境變數的當前設定: echo $DISPLAY - 確保客戶機使用者具有串連到 X 伺服器的許可權。 OUI-10027: 要允許客戶機使用者訪問 X 伺服器, 請以啟動會話的使用者身份開啟 xterm, dtterm 或 xconsole, 並鍵入以下命令: % xhost + 要測試 DISPLAY 環境變數是否設定正確, 請運行本機作業系統內建的基於 X11 的程式, 例如 'xclock': % <xclock 的完整路徑... 參見下文> 如果無法成功運行 xclock, 請與您的 PC-X 伺服器或作業系統供應商聯絡以獲得協助。 'xclock' 的典型路徑為: '/usr/X11R6/bin/xclock' 解決方案:() 先 [root@localhost ~]# hostname -i 127.0.0.1 查看你本機IP,此處顯示本機ip是127.0.0.1 然後root設定display: [root@localhost ~]# export DISPLAY=127.0.0.1:0.0 或者:((下面的方法,對我來說,不適用,供其他人蔘考http://www.itpub.net/thread-805362-1-1.html) ect to X11 window server using '100.100.10.27:0.0' as the value of the DISPLAY variable --------------------------------------你的錯誤其實就這個問題導致的,如果你在LINUX 終端模式下安裝,請設定好DISPLAY,因為oracle需要圖形安裝介面。 假設你的筆記本IP是: 10.10.10.10 那麼你在LINUX的/etc/profile添加如下: export DISPLAY=10.10.10.10:0.0 表示LINUX輸出的圖形全部轉到你的筆記本。 這個提示講得很清楚了! DISPLAY設定好了,再xhost + ip(安裝oracle機子的IP,允許所有對X server串連。) [root@localhost ~]# xhost + 192.168.1.111 xhost: unable to open display "192.168.1.111:0.0" 然後,新開一個終端 [root@localhost ~]# xhost 192.168.1.111 192.168.1.111 being added to access control list [root@localhost ~]# su - oracle [oracle@localhost ~]$ 2) 選擇advance install單擊 Next。 3) 指定清單目錄和認證 :指向前面設定的目錄,如這裡的/u01/app/oracle,請根據實際情況指向正確目錄。作業系統組名稱應為 oinstall。 4) 如果這是首次在此機器上安裝 Oracle,則您將收到一個快顯視窗,提示需要以 root 使用者身份運行 orainstRoot.sh 指令碼。以 root 使用者身份登入,更改到視窗中指定的目錄,執行該指令碼,然後繼續操作,如果沒有收到,在後面也會提示執行的。 5) 指定檔案位置 :指向前面設定的目錄,如這裡的/u01/app/oracle,請根據實際情況指向正確目錄。 6) 選擇安裝類型 :根據需要選擇版本,這裡接受預設值 Enterprise Edition。 7) 與特定產品相關的先決條件的檢查 :如果您一直在依循本指南中的步驟,則所有檢查都應順利通過。如果一個或多個檢查失敗,則在繼續操作前糾正該問題。 8) 選擇資料庫配置 :接受預設值 Create a starter database 和 General Purpose。 9) 指定資料庫配置選項 :輸入資料庫的全域資料庫名稱。該名稱應包含 ORACLE_SID 和伺服器網域名稱(例如,demo1.orademo.org,其中 demo1 是 ORACLE_SID,orademo.org 是網域名稱)。 10) 輸入全域資料庫名稱時,SID 框將自動填滿,這裡為orcl,接受預設的資料庫字元集,或者選擇Simplified Chinese ZHS16GBK;不選擇 Create database with sample schemas。 11) 選擇資料庫管理選項 :選擇 Use Database Control for Database Management。 12) 指定資料庫檔案儲存選項 :選擇 File System,然後輸入資料庫檔案要使用的路徑名(在本例中為 /u02/oradata)。 13) 指定備份和復原選項 :選擇 Do not enable Automated backups。 14) 指定資料庫模式口令 :選擇 Use the same password for all the accounts,選擇一個口令,然後輸入兩次進行確認;或者選擇下面的那個,統一命名也可以。 15) 摘要 :顯示已安裝產品的摘要。單擊 Install。 16) 安裝 :此螢幕曆經安裝和連結 Oracle 軟體的幾個階段。 17) 安裝過程結束時彈出一個視窗顯示配置資訊。記下 Enterprise Manager URL,然後單擊 OK 關閉該視窗。 18) 彈出一個“Setup Privileges”視窗,提示需要以 root 使用者身份回合組態指令碼。以 root 使用者身份登入,切換到該視窗中指示的目錄,然後執行 root.sh 指令碼。該指令碼提示輸入本地 bin 目錄的位置。按 Enter 鍵接受預設值。當指令碼完成時,返回到 Setup Privileges 視窗並單擊 OK。 19) 安裝結束 :記下摘要中顯示的 URL,並在準備好時單擊 Exit。 20) 也可以先安裝資料庫軟體,然後通過dbca再建立資料庫。這樣提高了安裝的過程。 串連測試: 啟動監聽:lsnrctl start 啟動資料庫: sqlplus “/as sysdba” Startup 在裡面建立個暫存資料表,添加資料,然後查詢,刪除。
卸載資料庫 1. 運行 $ORACLE_HOME/bin/localconfig delete 2. rm -rf $ORACLE_BASE/*#oracle的基礎目錄 3. rm -f /etc/oraInst.loc /etc/oratab##本地詳細目錄,組的設定##是否想要dbstart和dbshut指令碼啟動並關閉資料庫 4. rm -rf /etc/oracle 5. rm -f /etc/inittab.cssd ##初始參數檔案 6. rm -f /usr/local/bin/coraenv /usr/local/bin/dbhome /usr/local/bin/oraenv
參考文檔(如果習慣英文,安裝的時候,看oracle的文檔是最好的): http://unix-cd.com/unixcd12/article_5428.html http://www.cnblogs.com/SharkXu/archive/2007/03/19/Oracle10g_Linux_Install.html http://www.oracle.com/technology/global/cn/pub/articles/smiley_10gdb_install.html#config
本文轉自lihello。http://www.lihello.com/contentShow.aspx?SID=5 |