溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux非圖形界面如何安裝oracle數(shù)據(jù)庫

發(fā)布時間:2021-11-10 11:15:51 來源:億速云 閱讀:128 作者:小新 欄目:關(guān)系型數(shù)據(jù)庫

這篇文章主要介紹了Linux非圖形界面如何安裝oracle數(shù)據(jù)庫,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

注釋:

  一個未開圖形界面的Linux OS,如何安裝oracle軟件及數(shù)據(jù)庫,如下是2大步驟

  1、克隆軟件

  2、手動建庫

一、克隆軟件




1、基本配置


1.1)系統(tǒng)軟件包安裝 

       yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc   libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat unixODBC unixODBC-devel


1.2)用戶創(chuàng)建

          groupadd oinstall

          groupadd dba

          useradd -g oinstall -G dba oracle

          echo 123456 | passwd --stdin oracle


1.3)文件配置


     1.3.1) 環(huán)境變量 

               vi ~oracle/.bash_profile

               export ORACLE_BASE=/data/app/oracle

               export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_1

               export ORACLE_SID=test                                                                                # 最多 8個字符 ; 操作系統(tǒng)和 oracle實例關(guān)聯(lián)的紐帶 ;ORACLE_HOME+ORACLE_SID==>hash==> 共享內(nèi)存段

               export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin                        #      將安裝后的 oracle 命令追加到執(zhí)行搜索路徑

               export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib             #             動態(tài)庫的位置

       export nls_lang="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"       #客戶端字符集設(shè)置

              # 加載配置 :oracle 用戶注銷重新登錄 或 source .bash_profile 


     1.3.2) 主機(jī) 

          echo "10.240.1.7 Database-backup" >>  /etc/hosts    #避免報錯startup noumount時報錯ORA-00000: normal, successful completion


     1.3.3) 軟件目錄 

          mkdir -p /data/app/oracle/product/11.2.0.4/db_1

          chown -R oracle:oinstall /data/app


       1.3.4) 資源限制

             1.3.4,1) vim /etc/sysctl.conf  添加到文件底端

                    kernel.shmall = 2097152                            

                    #Total amount of shared memory available(bytes or pages); 頁的數(shù)量 ;2097152*4096/1024/1024/1024=8G; 如果內(nèi)存大于 8G,必須修改此參數(shù)

                    kernel.shmmax = 2147483648

                    # 要>= 物理內(nèi)存的一半 Maximum size of shared memory segment(bytes); 建議 >=sga_max_size(oracle申請內(nèi)存大小 );

                    # 單個程序內(nèi)存段最大多少 ;4G 的話分為兩段 mem_seg1 mem_seg2,影響效率 ;

                    kernel.shmmni = 4096                 

                    #            Maximum number of shared memory segments system-wide; 頁的大小 ;

                   kernel.sem =250 32000 100 128  
                                       SEMMSL SEMMNS SEMOPM SEMMNI

                                          SEMMSL       Maximum number of semaphores per set; 每個信號對象集的最大信號對象數(shù)

                                          SEMMNS       Maximum number of semaphores system-wide; 系統(tǒng)范圍內(nèi)最大信號對象數(shù) ;SEMMNS = SEMMSL*SEMMNI

                                          SEMOPM        每個信號對象支持的最大操作數(shù)

                                          SEMMNI       Maximum number of semaphore identifiers; 系統(tǒng)范圍內(nèi)最大信號對象集數(shù)

                   fs.file-max                                   #系統(tǒng)中所允許的文件句柄最大數(shù)目

                   net.ipv4.ip_local_port_range          # 應(yīng)用程序可使用的 IPv4 端口范圍

                   net.core.rmem_default                   #套接字接收緩沖區(qū)大小的缺省值

                   net.core.rmem_max                       #套接字接收緩沖區(qū)大小的最大值

                   net.core.wmem_default                  #套接字發(fā)送緩沖區(qū)大小的缺省值

                   net.core.wmem_max                     #套接字發(fā)送緩沖區(qū)大小的最大值


                   #注釋:OS32bit,oracle 最多申請 1.7G; 應(yīng)該裝64bitOS

                   #加載參數(shù) sysctl -p

    

1.3.4 ,2) /etc/security/limits.conf  oracle  linux 上操作的limit

                        [root@dba ~]# grep -v '^#' /etc/security/limits.conf

                       oracle soft nproc 2047      #oracle 在 linux上打開 proc 數(shù)量

                       oracle hard nproc 16384

                       oracle soft nofile 1024          #oracle 在 linux上打開 file 的數(shù)量

                       oracle hard nofile 65536

                       [root@dba ~]# grep 'limit' /etc/pam.d/system-auth

                       session     required      pam_limits.so

            1.3.4,3) 關(guān)閉防火墻、SELINUX 

                         iptables -F

                         更改 /etc/selinux/config 文件 -->SELINUX=disabled


2、克隆 ORACLE_HOME


         2.1)將遠(yuǎn)程ORACLE_HOME完全復(fù)制到本地

                #進(jìn)入到本地ORACLE_HOME路徑 

                su - oracle

                cd /data/app/oracle/product/11.2.0.4/

                #將遠(yuǎn)程ORACLE_HOME完全復(fù)制到本地

                scp  -pr oracle@10.240.1.8:/data/app/oracle/product/11.2.0.4/db_1/   .


       2.2)執(zhí)行clone.pl 克隆腳本更改參數(shù)配置(ORACLE_SID、ORACLE_HOME)

     $ cd /data/app/oracle/product/11.2.0.4/db_1/clone/bin

               $ ls
                  clone.pl prepare_clone.pl

               #注意每個參數(shù)后,等號后不能有空格,否則被識別成無效選項
               $ perl clone.pl  ORACLE_SID=test ORACLE_BASE=/data/app/oracle ORACLE_HOME=/data/app/oracle/product/11.2.0.4/db_1/ ORACLE_HOME_NAME=OraDb11g_home1     

                    .......最后提示如下信息表示,克隆成功...

                    The following configuration scripts need to be executed as the "root" user.

                    /data/app/oracle/product/11.2.0.4/db_1/root.sh

                    To execute the configuration scripts:

                    1. Open a terminal window

                    2. Log in as "root"

                    3. Run the scripts

                              The cloning of OraDb11g_home1 was successful.
                              ...................




 二、手動建庫




1、配置參數(shù)文件 (測試環(huán)境簡單參數(shù),若有需求,可補(bǔ)充 )

         [oracle@Database-backup ~]$ cd $ORACLE_HOME/dbs
         [oracle@Database-backup dbs]$ pwd
         /data/app/oracle/product/11.2.0.4/db_1/dbs
         [oracle@Database-backup dbs]$  

         [oracle@Database-backup dbs]$ cat inittest.ora 

         db_name=test
         db_files = 80
         db_file_multiblock_read_count = 8
         log_checkpoint_interval = 10000
         processes = 50
         parallel_max_servers = 5
         log_buffer = 32768
         max_dump_file_size = 10240    # limit trace file size to 5 Meg each
         global_names = TRUE
         #control_files = (ora_control1, ora_control2)
         sga_max_size=300M
         sga_target=300M
         *.local_listener='(ADDRESS_LIST=(Address=(Protocol=tcp) (Host=10.240.1.7)(Port=1521)))'  #避免啟動數(shù)據(jù)庫時報錯(ORA-00119、ORA-00130 local_listener配置無效)

         [oracle@Database-backup dbs]$


2、啟動數(shù)據(jù)庫到nomount 
       

         #進(jìn)入數(shù)據(jù)庫
         [oracle@Database-backup dbs]$sqlplus / as sysdba   

         #開啟數(shù)據(jù)庫到nomount狀態(tài)

         SQL> startup nomount
         ORACLE instance started.

          Total System Global Area  313159680 bytes
          Fixed Size              2252824 bytes
          Variable Size            104861672 bytes
          Database Buffers       201326592 bytes
          Redo Buffers              4718592 bytes
          SQL>  


3、創(chuàng)建數(shù)據(jù)庫,到open狀態(tài)   --->前提:mkdir -p /data/app/dbf/;chown -R oracle:oinstall /data/app/dbf/
SQL>CREATE DATABASE test

       USER SYS IDENTIFIED BY change_on_install

       USER SYSTEM IDENTIFIED BY manager

       LOGFILE GROUP 1 ( '/data/app/dbf/redo01.log') SIZE 100M,

               GROUP 2 ('/data/app/dbf/redo02.log') SIZE 100 M,

               GROUP 3 ('/data/app/dbf/redo03.log') SIZE 100 M

       MAXLOGFILES 5

       MAXLOGMEMBERS 5

       MAXLOGHISTORY 1

       MAXDATAFILES 100

       MAXINSTANCES 1

       CHARACTER SET ZHS16GBK

       NATIONAL CHARACTER SET AL16UTF16

       DATAFILE '/data/app/dbf/system01.dbf' SIZE 325M REUSE

       EXTENT MANAGEMENT LOCAL

       SYSAUX DATAFILE '/data/app/dbf/sysaux01.dbf' SIZE 325 M REUSE

       DEFAULT TABLESPACE users datafile '/data/app/dbf/users.dbf' size 50m

       DEFAULT TEMPORARY TABLESPACE tempts1

          TEMPFILE '/data/app/dbf/temp01.dbf'

          SIZE 20 M REUSE

       UNDO TABLESPACE undotbs

          DATAFILE '/data/app/dbf/undotbs01.dbf'

          SIZE 200 M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;  


        Database created.


         SQL>  

4、確認(rèn)數(shù)據(jù)庫狀態(tài)

        SQL> select status from v$instance;

         STATUS
         ------------
         OPEN

         SQL> 


5、 將DBF 設(shè)置自動擴(kuò)展,避免稍后執(zhí)行腳本加載數(shù)據(jù)字典表/包/scott用戶 時空間不足

          alter database datafile 1 autoextend on;
          alter database datafile 2 autoextend on;
          alter database datafile 3 autoextend on;
          alter database datafile 4 autoextend on;


6、創(chuàng)建數(shù)據(jù)字典/包/scott用戶

          數(shù)據(jù)字典視圖      : @?/rdbms/admin/catalog.sql

          系統(tǒng)包/存儲過程 : @?/rdbms/admin/catproc.sql

          用戶PROFILE表  : @?/sqlplus/admin/pupbld.sql


以上已完成安裝oracle軟件及數(shù)據(jù)庫.


問題整理和完善


1、***** sqlplus / as sysdba 提示未找到libclntsh.so.11.1文件

          [oracle@Database-backup ~]$ sqlplus / as sysdba
          sqlplus: error while loading shared libraries: libclntsh.so.11.1: cannot open shared object file: No such file or directory     

          [oracle@Database-backup ~]$cd $ORACLE_HOME/lib/

          [oracle@Database-backup lib]$ ls libclntsh.so*

          libclntsh.so       libclntsh.so.10.1 -->只有10.1 cp -rp 連帶屬性完全復(fù)制一份,正常若有l(wèi)ibclntsh.so.11.1文件可能是權(quán)限問題。 
          [oracle@Database-backup lib]$ cp -rp  libclntsh.so.10.1 libclntsh.so.11.1
          [oracle@Database-backup lib]$ sqlplus / as sysdba

          ... 正常.


2、用于sys密碼登錄

          orapwd file=orapwtest password=test

3、ORA-00904: "wm_concat":invalid identifier
        執(zhí)行創(chuàng)建WMSYS用戶腳本
        SQL>@?/rdbms/admin/owmctab.plb
        SQL>@?/rdbms/admin/owmaggrs.plb
        SQL>@?/rdbms/admin/owmaggrb.plb

4、創(chuàng)建數(shù)據(jù)庫時報錯

     ERROR at line 1:
     ORA-01092: ORACLE instance terminated. Disconnection forced
     ORA-01501: CREATE DATABASE failed
     ORA-01519: error while processing file '?/rdbms/admin/dtxnspc.bsq' near line 5
     ORA-00604: error occurred at recursive SQL level 1
     ORA-30012: undo tablespace 'UNDOTBS02' does not exist or of wrong type
     Process ID: 35451
     Session ID: 2661 Serial number: 1

     原因:參數(shù)文件和創(chuàng)建數(shù)據(jù)庫腳本的默認(rèn)undo空間不一致。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Linux非圖形界面如何安裝oracle數(shù)據(jù)庫”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI