虛擬機器red hat linux下oracle9.2i的安裝配置

來源:互聯網
上載者:User
  1. 下載,準備
    http://download.oracle.com/otn/linux/oracle9i/9204/ship_9204_linux_disk1.cpio.gz
    http://download.oracle.com/otn/linux/oracle9i/9204/ship_9204_linux_disk2.cpio.gz
    http://download.oracle.com/otn/linux/oracle9i/9204/ship_9204_linux_disk3.cpio.gz
    我建議將安裝檔案放在windows的盤符下,共用資料夾,通過mount -t smbfs方式來讓linux訪問windows下共用的檔案夾來進行安裝,對虛擬linux來說,就不需要佔用那麼大的空間.
    需要保證虛擬就機linux和windows之間的網路暢通,用root使用者給linux設定ip地址,方法:root登入圖形介面,"開始菜單"->"system settings"->"network"
    虛擬linux磁碟空間8G以上,linux 2.8G,oracle 2.85G,資料庫2G;
    虛擬機器記憶體,我自己安裝分配了512M,速度還比較塊,我看別人用256M,很慢.
    如果上面的具備了,可以進行下面的步驟了.
  2. 環境配置,安裝
    1)添加使用者組,用root使用者登入
    groupadd orainstall
    groupadd oradba
    groupadd oraoper
    useradd ora -G orainstall,oradba
    可以根據自己的情況用不同的使用者名稱字和組,根據自己喜好.

    2)切換到root使用者
    vi /etc/sysctl.conf
    然後在最後添加一行
    kernel.shmmax = 261986254
    該參數的值必須小於或等於實體記憶體的值,否則設定不會生效。含義是單個共用記憶體段的最大尺寸,一般設定為實體記憶體的一半.
    如果遺漏這步,安裝的最後一步、或者dbca建立資料庫的時候會報ORA-27123: unable to attach to shared memory segment錯誤.

    3)在.bash_profile中添加環境變數
    然後用ora使用者登入,在該檔案中添加如下的內容:
    #ORACLE
    export LD_ASSUME_KERNEL=2.4.1
    export ORACLE_BASE=/home/ora/ora9
    export ORACLE_HOME=/home/ora/ora9/oracle
    export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
    #NoUse
    export ORACLE_SID=linuxdb
    export ORACLE_TERM=xterm
    export TNS_ADMIN=$ORACLE_HOME/network/admin
    export NLS_LANG=AMERICAN_AMERICA.US7ASCII
    #LIB,CLASS
    LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
    export LD_LIBRARY_PATH
    export PATH=$PATH:$ORACLE_HOME/bin
    CLASSPATH=$CLASSPATH:$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
    CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
    export CLASSPATH
    修改.bash_profile之後,重新登入,或者source .bash_profile就可以是上面配置的環境變數生效.

    4)解壓縮檔案
    在windows下,將存放安裝檔案的檔案夾oracle共用,設定共用許可權為可讀可寫,然後執行如下命令:
    mount -t smbfs -o username=cl,password=chenli,ip=192.168.1.100 -l //chenli/oracle /home/ora/setup
    命令解釋:
    上面命令中,username=cl,password=chenli中cl是windows使用者,chenli是cl使用者的密碼
    ip=192.168.1.100 中192.168.1.100 是windows主機的ip地址
    //chenli/oracle 中,chenli是windows主機的主機名稱,oracle是共用資料夾
    /home/ora/setup 是linux下的目錄路徑,必須存在,可以根據自己的需要,設定不同的路徑.

    解壓檔案,順序執行下面的命令:
    cd /home/ora/setup
    gunzip ship_9204_linux_disk1.cpio.gz
    gunzip ship_9204_linux_disk2.cpio.gz
    gunzip ship_9204_linux_disk3.cpio.gz
    cpio -idmv < ship_9204_linux_disk1.cpio
    cpio -idmv < ship_9204_linux_disk2.cpio
    cpio -idmv < ship_9204_linux_disk3.cpio
    執行完了之後,會出現Disk1,Disk2,Disk3三個目錄

    5)安裝
    用ora使用者登入到linux的圖形化介面
    進入/home/ora/setup/Disk1目錄
    執行./runInstaller
    注意,有些時候顯示的安裝介面是亂碼的,我的red hat linux 9的簡體中文版,安裝程式都是英文的,這個時候可以通過執行如下命令來解決問題:
    export LC_ALL=C 
    export LANG=C
    然後再執行./runInstaller就不會有亂碼了.

    我在執行./runInstaller的時候出現過一次如下錯誤:
    ./runInstaller: line 58: ./runInstaller: cannot execute binary file
    很快我想到,估計是否安裝軟體錯了,一看檔案名稱是A64位的,重新下載,然後安裝就沒問題了。
    所以在下載的時候,一定要注意,看看安裝軟體是否和你的作業系統匹配。

    後面就不斷選擇"next"就行了。
    出現如下視窗的時候,輸入前面建立的組oradba。

    出現如下視窗的時候。

    按提示,用root使用者在/tmp目錄下與運行指令碼orainstRoot.sh。結果如下:
    [root@localhost tmp]# ./orainstRoot.sh<br />Creating Oracle Inventory pointer file (/etc/oraInst.loc)<br />Changing groupname of /home/oracle/ora9/oraInventory to oradba.<br />[root@localhost tmp]#

    出現如下視窗

    根據提示,用root使用者到對應目錄下,執行指令碼root.sh,結果如下:
    [root@localhost oracle]# ./root.sh<br />Running Oracle9 root.sh script...<br />/nThe following environment variables are set as:<br /> ORACLE_OWNER= oracle<br /> ORACLE_HOME= /home/oracle/ora9/oracle</p><p>Enter the full pathname of the local bin directory: [/usr/local/bin]:<br /> Copying dbhome to /usr/local/bin ...<br /> Copying oraenv to /usr/local/bin ...<br /> Copying coraenv to /usr/local/bin ...</p><p>/nCreating /etc/oratab file...<br />Adding entry to /etc/oratab file...<br />Entries will be added to the /etc/oratab file as needed by<br />Database Configuration Assistant when a database is created<br />Finished running generic part of root.sh script.<br />Now product-specific root actions will be performed.<br />[root@localhost oracle]#

    最後設定好sys,system等的密碼之後,就完成了。

  3. 錯誤總結:
    我在安裝過程中出現了一些問題,在這兒跟大家分享.
    1)彈出對話方塊,顯示錯誤資訊:thrown when the ip address of a host cannot be determined
      這時候需要用root使用者開啟/etc/hosts 編輯該檔案,ip地址和主機名稱字的對應關係,盡量簡單,在第二列,即主機名稱列,不要出現ip地址形式x.x.x.x的主機名稱

    2)在安裝的最後,安裝agent工具的時候出現如下的錯誤資訊:
        Parameter "orahome" = /oracle/product/9.2.0
       Parameter "nodeinfo" = NO_VALUE
       Agent Service Failed
      這個問題是沒有打補丁引起的,不過該問題不會影響到資料庫的使用,只是agent工具不可用.
      下載p2617419_220_GENERIC.zip  p3006854_9204_LINUX.zip  p3238244_9204_LINUX.zip
      然後安裝,需要重新執行oracle的安裝./runInstaller,所以最好在安裝前打一下這個補丁.

  4. 啟動資料庫
    用ora使用者登入linux
    首先執行命令:sqlplus "/ as sysdba"
    顯示SQL>執行命令startup,啟動資料庫;執行shutdown,關閉資料庫.

    啟動監控程式,在普通命令列模式下執行如下命令
    lsnrctl start 啟動監控
    lsnrctl stop 停止監控

  5. 使用資料庫
    用ora使用者登入主機
    執行sqlplus "/as sysdba" 以系統dba的身份登入資料庫.
    然後建立資料表空間,建立使用者,給使用者授予許可權

    1)然後建立資料表空間
    create   tablespace   devbase      
             datafile   '/home/ora/tbspace/devbase_20080121.dbf'   size   500M  
             autoextend   on  
             next   100M  
             maxsize   1000M;
      要確保/home/ora/tbspace目錄存在,有許可權,足夠的空間存放資料表空間檔案

    2)建立使用者
    create   user   dev  
             identified   by   dev123
             default   tablespace   devbase  
             temporary   tablespace   temp;
    建立使用者dev,密碼是否dev123,預設資料表空間為devbase  
    注意,這個時候還不能用dev登入資料庫,因為dev使用者還沒有create session,connect,resource許可權,還不能登入;

    3)給使用者授予許可權
      grant   resource,connect   to dev;
     grant create session to dev;
     grant create table to  dev;
     grant create tablespace to  dev;
     grant create view to  dev;
    這時你可以用dev使用者進行登入了.

    4)修改使用者密碼
    用sys或者system使用者登入,執行如下的sql修改使用者密碼
    alter user dev identified by chenli;

    最後還因為注意一個小問題,修改ORACLE_HOME/network/admin/tnsnames.ora,將配置該檔案中所有HOST的值,全部由ip地址替換,這樣在登入資料庫的過程總,減少了主機名稱字=>ip地址的解析過程,有些時候,會提高一下登入的速度.

  6. 在普通linux使用者下建立開發環境
    配置環境變數,搜尋路徑中可以找到oracle程式.
    vi .bash_profile 添加如下的配置
    #oracle
    export ORACLE_BASE=/home/ora/ora9
    export ORACLE_HOME=/home/ora/ora9/oracle
    export ORACLE_SID=linuxdb
    export ORACLE_TERM=xterm

    #LD_LIBRARY_PATH
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/local/lib:$ORACLE_HOME/rdbms/demo

    PATH=$PATH:/usr/bin:/usr/sbin:/usr/local/bin:.
    PATH=$PATH:$ORACLE_HOME/bin
    export PATH

    建立普通使用者在路徑$ORACLE_HOME/bin,$ORACLE_HOME/include,$ORACLE_HOME/lib上所有目錄的xr讀執行許可權,這樣該登入使用者才能使用$ORACLE_HOME/bin目錄下的一些oracel程式.並且要保證在開發過程中,可以使用oracle下的標頭檔,庫檔案.

    1)建立seq對象
    create sequence SEQ_STAFF_ID
    minvalue 1
    maxvalue 9999999
    start with 1
    increment by 1
    cache 20;

    2)建立表
    create table staff_info
    (
    staff_id number(10),
    staff_name varchar2(20),
    addr       varchar2(200)
    );

    ok,一個基本的oracle資料庫就可以使用了.

  7. 在windows建立oracle開發環境端開發
    在你的電腦上安裝oracle(最低要求是oracle用戶端),在oracle安裝介面上自己選擇安裝模式。
    然後在oracle安裝目錄下找到network/admin路徑,在該目錄下有一個tnsnames.ora,添加如下的內容:
    local_dev =
       (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
              (CONNECT_DATA =
            (SERVER = DEDICATED)
          (SERVICE_NAME = linuxdb)
       )
    )

    儲存後,開啟控制台,輸入命令sqlplus dev/chenli@local_dev,就可以登入linux下的linuxdb資料庫了。
    這樣你就可以在windows上面用plsqldeveloper等軟體進行開發了。也可以用c/c++,java等程式通過tns串連oracle資料庫了。

  8. 怎樣擷取oracle協助
    如果在oracle開發過程中遇到錯誤,通過如下方法可以很快地擷取出錯資訊:
    用oracle安裝使用者登入主機,然後執行命令:oerr ora errno,errno是錯誤碼。
    如如果你遇到一個錯誤資訊代碼1102,oracle安裝使用者下執行如下命令:
    [ora@localhost ora]$ oerr ora 1102<br />01102, 00000, "cannot mount database in EXCLUSIVE mode"<br />// *Cause: Some other instance has the database mounted exclusive or shared.<br />// *Action: Shutdown other instance or mount in a compatible mode.
    就得到了錯誤碼1102的錯誤資訊。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.