国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

在RedHat7.1上安裝Oracle8.1.7

2024-08-29 13:36:26
字體:
來源:轉載
供稿:網友

  在RedHat7.1上安裝Oracle8.1.7的經驗談
  
  我在RedHat7.1上第一次安裝Oracle8.1.7就成功了,呵呵,很幸運!后來有不少朋友請教我安裝方法,我才知道原來有這么多問題,按照我的方法應該可以安裝成功,我自己安裝了不下10遍都是很順利就成功了。總結一下自己的安裝經驗,也總結一下別人碰到的問題,希望能對其他人有一點點幫助。
  安裝假設oracle系統文件放在/u01下,數據庫文件放在/u02下,不安裝OPS,不安裝JServer,單數據庫單實例。
  ORACLE_BASE=/u01/app/oracle
  ORACLE_HOME=/u01/app/oracle/PRodUCt/8.1.7
  ORACLE_SID=orcl
  
  一、安裝前的配置
  
  1、替換glibc
  Oracle8.1.7使用的是glibc2.1.3,而RedHat7.1是用的glibc2.2.2,不兼容,所以要替換glibc才能成功安裝。
  首先要安裝RedHat7.1安裝光盤上的幾個以compat開頭的rpm包,它們是:
  compat-glibc-6.2-2.1.3.2.i386.rpm
  compat-egcs-objc-6.2-1.1.2.14.i386.rpm
  compat-egcs-6.2-1.1.2.14.i386.rpm
  compat-libs-6.2-3.i386.rpm
  可以把:
  compat-libstdc++-6.2-2.9.0.14.i386.rpm
  compat-egcs-c++-6.2-1.1.2.14.i386.rpm
  也安裝上。
  因為這幾個軟件包之間有依靠關系,假如安裝順序不對,會報錯的,無法安裝。一般來說應該先安裝第一張上的兩個,再安裝第二張上面的四個。
  假如這樣做也報錯,安裝不上,可以先把這6個軟件包拷貝到一個目錄下,然后再一起安裝,這樣就不用怕它們之間的依靠關系,一定可以安裝成功了。例如:
  rpm -ivh compat-glibc-6.2-2.1.3.2.i386.rpm compat-egcs-6.2-1.1.2.14.i386.rpm compat-libs-6.2-3.i386.rpm compat-egcs-c++-6.2-1.1.2.14.i386.rpm compat-egcs-objc-6.2-1.1.2.14.i386.rpm compat-libstdc++-6.2-2.9.0.14.i386.rpm
  
  2、創建用戶和組
  groupadd dba
  useradd oracle -g dba
  passwd oracle
  Oracle安裝文檔上說,要創建兩個組,oinstall和dba,oracle用戶主屬組是oinstall,從屬組是dba,其實只用dba就好了,不要那么麻煩。
  chown -R oracle.dba /u01
  chown -R oracle.dba /u02
  
  3、設環境變量
  可以將要設的環境變量放在oracle用戶主目錄下的.bash_profile中,也可以放在/etc/profile中,對所有的用戶可見,我建議放在/etc/profile中,因為凡是在本機運行的程序讀寫本機的Oracle數據庫,一般都需要設Oracle的環境變量,否則無法連接數據庫。
  我可以舉一個例子:
  假如你的WEB Server,例如Apache,需要讀寫數據庫,提供網頁的動態內容,假設用php或者jsp,又或者Perl等等來寫ServerAPI或者CGI,因為Apache是以root啟動一個進程,這個進程再fork若干子進程以nobody用戶運行,響應80端口的http請求,所以假如在root讀不到Oracle環境變量,Web程序根本無法讀寫數據庫。只要root讀到oracle環境變量,fork子進程的時候,復制了父進程的數據空間,也繼續了父進程的環境變量,所以可以讀到oracle變量,就可以讀寫oracle數據庫了。
  所以我這樣設置,在/etc/profile中添加如下行:
  ORACLE_BASE=/u01/app/oracle
  ORACLE_HOME=/u01/app/oracle/product/8.1.7
  ORACLE_SID=orcl
  ORA_NLS=/u01/app/oracle/product/8.1.7/ocommon/nls/admin/data
  NLS_LANG="SIMPLIFIED CHINESE"
  CLASSPATH=.:/u01/app/oracle/product/8.1.7/jdbc/lib/classes111.zip
  LD_LIBRARY_PATH=/u01/app/oracle/product/8.1.7/lib
  PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/dbs:/etc
  eXPort ORACLE_BASE ORACLE_HOME ORACLE_SID ORA_NLS NLS_LANG LD_LIBRARY_PATH PATH
  
  其中$ORACLE_BASE,$ORACLE_HOME指定安裝目錄,$ORACLE_SID是oracle數據庫的SID,$ORA_NLS是字符集目錄,$NLS_LANG是字符集,$CLASSPATH是java程序讀寫數據庫需要的JDBC的class,前面加個點號是先搜當前目錄的意思。
$LD_LIBRARY_PATH是Oracle的C庫函數和頭文件的位置,對于OCI8,PROC和JDBC的OCI連接是必須的。
  
  注銷再登錄,或者不用注銷,執行下一行的命令,直接讀一下/etc/profile
  . /etc/profile
  
  再 envgrep oracle 看看oracle的變量是否都設置正確。
  
  4、臨時更改glibc
  將
  . /usr/i386-glibc21-linux/bin/i386-glibc21-linux-env.sh
  export LD_ASSUME_KERNEL=2.2.5
  
  加入oracle主目錄(/home/oracle)下的.bash_profile,注銷再以oracle登錄,或者不用注銷,執行下一行的命令,直接讀一下.bash_profile
  . /home/oracle/.bash_profile
  
  再看看是否已替換
  gcc -v
  替換之前是:
  Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
  gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-81)
  替換之后是:
  Reading specs from /usr/i386-glibc21-linux/lib/gcc-lib/i386-redhat-linux/2.96/specs
  gcc driver version 2.96 20000731 (Red Hat Linux 7.1 2.96-81) executing gcc version egcs-2.91.66
  
  5、修改內核參數
  Oracle數據庫運行的時候,用共享內存來實現Oracle的SGA,所以要調整一下Linux的內核參數來適應Oracle的SGA的要求,這個方面到底要調整到多少才適合,可以參考Oracle官方的安裝文檔。一般而言,主要就是共享內存段最大尺寸要調整,Linux內核默認共享內存段最大尺寸是32M,假如Oracle SGA開的大于32M(一般商業運行,肯定大于32M),SGA就會分段,占據幾個不連續的共享內存段,造成Oracle的性能下降。
  命令ipcs -al可以查看共享內存參數,命令ipcs查看共享內存使用情況。
  修改內核參數可以修改內核源碼再重新編譯內核,這個方法有點麻煩,關于共享內存的參數在源碼目錄下的include/linux/下的shm.h和sem.h文件中。
  另一個簡單的辦法是直接修改內核參數,即修改/proc下的文件,立即生效。
  可以修改/proc/sys/kernel下的shmmax和sem shmmax是以字節記的共享內存段的最大尺寸, shmmni是共享內存段的最大數量 shmmax是共享內存總共最大容量(shmmax*shmmni)
  sem是信號量參數,msgmax,msgmnb,msgmni是消息隊列的參數。
  
  我改動如下:
  
  echo 134217728 > /proc/sys/kernel/shmmax (SGA最大為128M)
  echo -e "250 32000 100 128" > /proc/sys/kernel/sem
  (其實也不用改這項,只是將max ops per semop call改大了,這是Oracle的安裝文檔上寫的,我就這么做了,不過我試過,不改也沒事,其他都保持原來的,沒有改)
  
  總結如下:改一項必須的shmmax,其他的我在使用過程中,參數都夠大了,不需要再調整。
  
  二、安裝過程
  
  1、runInstaller啟動安裝界面
  有的時候runInstaller,安裝界面不出來,這主要還是因為Oracle的字符集設為了簡體中文,但OS是英文的,所以有時候出不來,用Java寫的程序經常出現字符集的問題。此時臨時銷毀$NLS_LANG變量,Java會用默認的字符集,就好了。所以:
  
  unset $NLS_LANG
  
  也可以試試
  
  unset $LANG
  × 其實dbassist也是有時候出不來的,這樣做就可以出來了,但是netasst始終出不了,不清楚為什么,不過可以自己修改lisener.ora和tnsnames.ora,所以netasst也不是必須的。
  
  另一個可能的原因就是glibc沒有替換好,我發現直到JDK1.3.1_01,才支持glibc2.2,之前的版本,包括JDK1.3.0都不支持glibc2.2,只要在glibc2.2下運行,就會出現沒有任何反應,進程似乎死亡了一樣的毛病,Oracle安裝程序用的還是JRE1.1.8,所以只要glibc用的還是2.2版的,安裝窗口總不會出來的。
  
  
  2、下面一路點擊下一步,到填寫安裝oracle軟件的屬組的時候,填寫dba就好了,然后提示用root運行$ORACLE_HOME/root.sh,以root登錄運行。在/etc/下生成一個文件oraInst.loc
  
  3、到選擇安裝“服務器”,“網絡治理工作站”,“客戶端”的時候,選擇“服務器” 安裝好以后,可以再回到這個畫面來選擇別的沒有安裝的組件,也隨時可以啟動runInstaller來安裝別的組件。
  另外有人提到沒有安裝PORC的選項,其實PROC是在“客戶端”的選項里安裝的。
  
  4、然后選擇“定制安裝”,不要選擇典型安裝,因為典型安裝會安裝Oracle Jserver,實際上不太用到Jserver,而且安裝Jserver是在SGA里要啟動一個Java虛擬機,非常消耗資源(Java的東西總是很吃資源的),而且安裝的時候創建Jserver的過程非常的漫長,一度令我懷疑死機了。

  
  5、出現選擇安裝組件的列表,可以自己增刪一些組件,我不需要oracle的Apache Server,預備自己從源碼安裝,所以就勾掉了。假如要安裝Apache Server的選項話,要預先安裝Java,并設置$JAVA_HOME變量,雖然要求的是jdk1.1.8,不過用jdk1.3也完全可以安裝成功,運行Apache也沒有什么問題,至于會不會因為jdk的版本不同導致一些程序運行結果的差異,我就沒有測試過了。
  
  6、還是選擇安裝組件的列表這個界面,有個選擇語言的按鈕,增加“簡體中文”
  
  7、詢問是否創建數據庫,“是”,添上安裝數據庫的SID,我的是“orcl”,數據庫數據文件的存放目錄,我的是“/u02“。
  
  8、開始安裝Oracle,安裝程序拷貝文件。
  有很多人說,拷貝文件完后,聯接系統庫函數的時候,出現make錯誤

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 原平市| 黄龙县| 青铜峡市| 巴南区| 茶陵县| 鄂伦春自治旗| 商丘市| 闸北区| 富裕县| 南皮县| 将乐县| 万全县| 长泰县| 简阳市| 宁晋县| 沙河市| 土默特右旗| 开鲁县| 介休市| 尖扎县| 广河县| 高邑县| 东源县| 新田县| 于田县| 齐齐哈尔市| 潼南县| 崇义县| 兴安盟| 贵阳市| 梨树县| 汉中市| 岳池县| 南木林县| 白朗县| 南投县| 文登市| 蕉岭县| 东辽县| 古蔺县| 年辖:市辖区|