1. 程式人生 > >linux系統安裝oracle11g資料庫

linux系統安裝oracle11g資料庫

redhat系統安裝Oracle
首先安裝yum
     https://blog.csdn.net/qq_28657369/article/details/84543715
下載oracle資料庫
     https://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html
準備Oracle的安裝環境(root使用者)
     檢查和和更新所需要的軟體包
     執行命令
         rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel  
         rpm -q gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers  
         rpm -q ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl-devel sysstat
對於未安裝的這些包執行yum install [包名],命令如下
    yum install compat-libstdc++-33
    yum install elfutils-libelf-devel
    在Oracle資料庫軟體安裝時,ksh實際是用的pdksh,但ksh也是可以使用的,只是安裝時會有警告,pdksh是一個早期的軟體包,可以在http://rpm.pbone.net/ 中找到。
驗證系統要求
    檢視記憶體大小 grep MemTotal /proc/meminfo
    檢視交換空間 grep SwapTotal /proc/meminfo
    檢視磁碟空間 df -h Oracle 11g R2 x64企業版的磁碟空間要求4.35GB以上。
建立Oracle使用者組和使用者賬號(root使用者)
        # groupadd oinstall
        # groupadd dba
        # useradd -g oinstall -G dba oracle
        # passwd oracle
配置核心引數(root使用者)
1.修改檔案/etc/sysctl.conf vim /etc/sysctl.conf 
檔案內容如下:
        #/etc/sysctl.conf
       # for oracle
           fs.aio-max-nr = 1048576
            fs.file-max = 6815744
            kernel.shmall = 2097152
            # 官方文件kernel.shmmax = 536870912,實際軟體中需要kernel.shmmax = 980742144
            kernel.shmmax = 980742144
            kernel.shmmni = 4096
            kernel.sem = 250 32000 100 128
           net.ipv4.ip_local_port_range = 9000 65500
            net.core.rmem_default = 262144
           net.core.rmem_max = 4194304
            net.core.wmem_default = 262144
            net.core.wmem_max = 1048586
執行命令: /sbin/sysctl -p 使引數生效。 
2. 修改檔案/etc/security/limits.conf vim /etc/security/limits.conf 
檔案內容如下:
       # /etc/security/limits.conf 
        # for oracle
        oracle              soft    nproc   2047
        oracle              hard    nproc   16384
        oracle              soft    nofile  1024
        oracle              hard    nofile  65536
        oracle              soft    stack   10240
:wq儲存檔案並退出
建立Oracle的安裝目錄(root使用者)
        # mkdir -p /u01/app/
        # chown -R oracle:oinstall /u01/app/
        # chmod -R 775 /u01/app/
編輯Oracle使用者環境(Oracle使用者)
    在root使用者下輸入 su oracle 進入oracle使用者環境
    編輯.bash_profile檔案 vim /home/oracle/.bash_profile 
    .bash_profile檔案內容如下:
        #For Oracle
            export DISPLAY=:0.0
            export TMP=/tmp;
            export TMPDIR=$TMP;
            export ORACLE_BASE=/u01/app/oracle;
            export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1;
            export ORACLE_SID=oracle11g;
            export ORACLE_TERM=xterm;
            export PATH=/usr/sbin:$PATH;
            export PATH=$ORACLE_HOME/bin:$PATH;
            export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
            export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
    :wq儲存退出。 

    重新啟動Linux,選擇oracle使用者環境的時候,系統會根據環境變數進行配置,後邊的oracle命令才能正常執行。 
    輸入 echo $ORACLE_HOME 檢視環境變數是否配置成功,如果正常輸出了配置的路徑,則成功,如果輸出為空白,可以在本次手動執行 source /home/oracle/.bash_profile 執行環境變數的載入。但是僅在當前終端視窗有效。

    安裝ORACLE資料庫(oracle使用者)
        進入oracle解壓縮後的安裝目錄,我的目錄是 /mnt/usb/database cd /mnt/usb/database
        鍵入vncserver 如果提示command not found,則在root使用者下使用 yum install tigervnc-server -y進行安裝
        執行 ./runInstaller 進入安裝介面,我之前遇到過無法啟動使用者介面的情況,報的錯誤忘記了,反正能正常進入安裝介面就行了。
        進入安裝介面後,安裝過程和Windows下大致相同。
        如果出現了缺失依賴包可以點選右上角的ignore all忽略所有
        其中如果報錯誤:Error in invoking target ‘agent nmhs’ of makefile ‘/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk’ 解決方案是: 保留安裝過程,另外開啟一個終端視窗,將ins_emagent.mk檔案中的(MK_EMAGENT_NMECTL)更改為(MK_EMAGENT_NMECTL) -lnnz11,然後在安裝過程中點選Retry即可。
        在安裝到68%時提示錯誤Error in invoking target 'install' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk'. See '/u01/app/oraInventory/logs/installActions2015-01-22_09-39-03AM.log' for details.
            下載glibc-static-2.17-55.el7.x86_64.rpm安裝,下載地址:
            ------------------------------------------分割線------------------------------------------
            免費下載地址在 http://linux.linuxidc.com/
            使用者名稱與密碼都是www.linuxidc.com
            具體下載目錄在 /2015年資料/1月/22日/RHEL7.0 VNC遠端安裝Oracle 11gR2報錯解決
            該軟體包包含一個靜態連結庫:/usr/lib64/libc.a
            修改/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk,將
            ctxhx: $(CTXHXOBJ)
                  $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
            修改為:
            ctxhx: $(CTXHXOBJ)
                  -static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a
            點選Retry繼續安裝。
        安裝最後步驟按提示在root使用者下執行指令碼.
               # cd /u01/app/oraInventory/
                # sh orainstRoot.sh
                # cd /u01/app/oracle/product/11.2.0/dbhome_1/
                # sh root.sh
                在Enter the full pathname of the local bin directory:[/usr/local/bin]:直接回車即可
配置監聽器
    oracle安裝成功後需要配置監聽器,直接鍵入 netca命令,如果提示bash:netca:command not found ,手工執行source /home/oracle/.bash_profile,就可以進入配置監聽器的使用者介面了,根據需要配置監聽器。 
    1. 配置Listener configuration 
    2. 配置Local Net Service Name configuration

新建資料庫例項
    鍵入 dbca 命令,進行資料庫例項配置
    
    

     

     

     

     

     

     

     測試資料庫
     測試監聽命令
            $ lsnrctl stop
            $ lsnrctl start
    如果在start這個過程中 報The listener supports no services 
    解決辦法:開啟listener.ora 檔案 vim $ORACLE_HOME/network/admin/listener.ora 
    新增內容:
        SID_LIST_LISTENER =  
        (SID_LIST =  
              (SID_DESC =  
              (GLOBAL_DBNAME = oracle11g)
              (SID_NAME = oracle11g)
              )
        )
    其中oracle11g是自己配置的伺服器名稱.
    操作sqlplus
    命令 sqlplus /nolog 進入SQL控制檯
    命令 connect /as sysdba sysdba連線資料庫。如果此時顯示Connected to an idle instance,不用著急,進入第3個步驟
    命令 shutdown immediate ,如果此時報service handle not initialized。在sysdba連線上之後鍵入shutdown abort
    命令 startup.如果此時報錯,請檢查一下.bash_profile下邊的$ORACLE_SID是否和建的資料庫的SID一直,然後儲存為一致之後重新啟動。 
    其他測試命令,比如select userenv(‘language’) from dual,檢視資料庫的dataset編碼,為後續oracle資料庫的匯入做準備。
至此,oracle資料庫已經完全安裝在Linux伺服器上了!