Linux系統安裝Oracle 11g數據庫


下圖為oracle數據庫安裝導圖:

 

 

 

安裝步驟:

1、下載oracle 11g 安裝包

  因為我centos7為64位操作系統,所以這里下載的也是64位版本的oracle。

  下載地:http://www.oracle.com/technetwork/indexes/downloads/index.html#database

 

 

 

下載后:

  2、安裝前的准備

   2.1、創建組與用戶 

[root@localhost zhuzi]# groupadd oinstall #創建oinstall組
[root@localhost zhuzi]# groupadd dba  #創建dba組
[root@localhost zhuzi]# useradd -g oinstall -g dba -m oracle #創建oracle用戶並將用戶加入到dba組與oinstall組
[root@localhost zhuzi]# passwd oracle #設置oracle用戶密碼

 

 

   2.2、創建oracle安裝目錄

 

[root@localhost zhuzi]# mkdir -p /data/oracle #oracle根目錄
[root@localhost zhuzi]# mkdir -p /data/database #用於存放Oracle解壓后的安裝包
[root@localhost zhuzi]# mkdir -p /data/oraInventory #數據庫配置文件目錄
[root@localhost zhuzi]# chown -R oracle:oinstall  /data #修改目錄所有者為oracle

 

  2.3、關閉防火牆

     1)、首先關閉selinux,修改/etc/selinux/config文件,將SELINUX=disabled。修改好后如下圖所示,這個如果修改好后,需要重啟才能生效: 

    2)、關閉防火牆,並設置開機不啟動防火牆。設置好后不需要重啟,會立即生效。

 

[root@localhost zhuzi]# systemctl stop firewalld.service   #關閉防火牆
[root@localhost zhuzi]# systemctl disable firewalld.service #設置開機不啟動防火牆

 

   2.4、優化系統內核參數    

    1)、編輯/etc/sysctl.conf文件,在文件尾添加如下內容:

 

net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744 #設置最大打開文件數
fs.aio-max-nr = 1048576
kernel.shmall = 2097152 #共享內存的總量,8G內存設置:2097152*4k/1024/1024
kernel.shmmax = 2147483648 #最大共享內存的段大小
kernel.shmmni = 4096 #整個系統共享內存端的最大數
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范圍
net.core.rmem_default = 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576

 

    2)、使配置修改內核的參數生效:

[root@localhost zhuzi]# sysctl -p

 

 

   2.5、對oracle用戶設置限制  

[root@localhost zhuzi]# vi /etc/security/limits.conf

     在文件后半部分,添加如下內容中斜體部分內容,保存退出。

 

@student - maxlogins 4
 
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
 
End of file

 

  2.6、設置用戶變量

[root@localhost ~]# vi /home/oracle/.bash_profile

     在文件末尾添加如下內容:

 

export ORACLE_BASE=/data/oracle #oracle數據庫安裝目錄
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 #oracle數據庫路徑
export ORACLE_SID=orcl #oracle啟動數據庫實例名
export ORACLE_UNQNAME=orcl
export ORACLE_TERM=xterm #xterm窗口模式安裝
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系統環境變量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系統環境變量
export LANG=C #防止安裝過程出現亂碼
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #設置Oracle客戶端字符集,必須與Oracle安裝時設置的字符集保持一致 

 


       使配置的環境變量生效:

[root@localhost ~]# source /home/oracle/.bash_profile

   2.6、配置yum源

    1). 備份

      mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

    2).下載新的 CentOS-Base.repo 到 /etc/yum.repos.d/,這里使用阿里的yum源。

      CentOS 7命令為:

      wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

    3)、yum clean all  #清空yum緩存

    4)、yum makecache #重建緩存

    5)、yum repolist  #查看配置目錄資源數

   2.7、安裝依賴包

[root@localhost ~]# yum -y install binutils* compat-libcap1* compat-libstdc++* gcc* gcc-c++* glibc* glibc-devel* ksh* libaio* libaio-devel* libgcc* libstdc++* libstdc++-devel* libXi* libXtst* make* sysstat* elfutils* unixODBC*

  centos7需要的安裝包,可以在Oracle上查看:https://docs.oracle.com/cd/E11882_01/install.112/e47689/pre_install.htm#LADBI1085
  我的版本當然對應的是這個版本:Oracle Linux 7 and Red Hat Enterprise Linux 7
  它沒有要求說要安裝elfutils和unixODBC包,但是等安裝Oracle檢查安裝前准備時,會提示說缺少這兩個包,所以一並安裝

 3、開始安裝Oracle

前面設置很多內容,保險起見,重啟一次系統。

[root@localhost ~]# reboot

 將步驟1中下載的兩個oracle安裝文件,上傳至/usr/local/src目錄中。我使用的xshell工具,root用戶直接在命令窗口cd /usr/local/src ,然后鼠標拖住那兩個安裝包至命令窗口就可以自動上傳。

 

 

 用root用戶解壓這兩個文件到/data/database 目錄下,設置所屬用戶與組,再切換至oracle用戶加載一下環境變量,開始安裝。

 

[root@localhost src]# unzip linux.x64_11gR2_database_1of2.zip -d /data/database/ #解壓第一個壓縮包
[root@localhost src]# unzip linux.x64_11gR2_database_2of2.zip -d /data/database/ #解壓第二個壓縮包
[root@localhost src]# chown -R oracle:oinstall /data #指定文件夾及子目錄的所屬用戶與組
[root@localhost src]# su oracle #切換至oracle用戶
[oracle@localhost src]$ cd #進入家目錄
[oracle@localhost ~]$ source .bash_profile #加載環境變量
[oracle@localhost ~]$ cd /data/database/database/ #進入oracle安裝程序存放的目錄
[oracle@localhost database]$ ./runInstaller #執行oracle安裝命令,然后彈出下圖安裝窗口。

 

下面為貼圖部分,修改后與下面圖保持一致即可。

 1)、將勾去掉,這樣就不自動更新軟件了。

  2)、提示你沒有提供電子郵件,這里選擇yes,繼續就行。

 

 

 

 

 3)、這里選擇第二項,僅安裝數據庫軟件。

 

 

 

 

 

 4)、這里選擇第一個選項,單實例數據庫。第二個為安裝集群的意思。

 

 

 

 

5)、選擇語言,默認下一步。

6)、第一個為企業版,默認直接下一步。

  

  7)、前面咱們准備階段,已經在環境變量里配置好了路徑,這里就是讀取咱們前面配置的路徑,所以直接下一步。不用修改。

 

  8)、指定配置文件存放路徑,這個也不需要修改,也是讀取了咱們前面配置到環境變量里的路徑。所以直接下一步。

  9)、關於權限的問題,這里直接都是默認就行。下一步。

 

  10)、這里會檢查系統資源與依賴包是否都滿足,第一個提示swap大小不符合,這里擴展一下swap大小,可以參考https://www.cnblogs.com/find-syc/p/12615991.html,其他問題,選中缺失的依賴包,如果下方詳情欄里Expected value中有括號中標注(i386)或(i686),是在提示缺少32位的依賴包,但是實際上已經安裝了64位的依賴包,忽略它們,pdksh包已經安裝,就是之前安裝的ksh依賴包。

  

11)、點擊finish完成。

  

  

 報錯解決:

1)、該軟件包包含一個靜態鏈接庫,地址是:/usr/lib64/libc.a
修改/data/oracle/product/11.2.0/db_1/ctx/lib/ins_ctx.mk,將
ctxhx: $(CTXHXOBJ)
       $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
修改為:
ctxhx: $(CTXHXOBJ)
       -static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/libc.a
點擊Retry繼續安裝。
2)、”Error in invoking target 'agent nmhs' of makefile '/data/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk.' 
解決方法:在makefile中添加鏈接libnnz11庫的參數
修改/data/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk,將
$(MK_EMAGENT_NMECTL)修改為:$(MK_EMAGENT_NMECTL) -lnnz11
點擊Retry繼續安裝。
有時候安裝界面出現的灰色豎線無法拉開,可以重新運行./runInstaller,在重復上述步驟以后,第11步做完直接按照上面兩個問題的解決辦法修改兩個mk文件,修改好安裝時就不會報錯了。mk文件是makefile文件,要以tab鍵開頭,所以直接復制上面的修改語句會報錯,要把
-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/libc.a的前面的空格修改成tab鍵,不然會報錯。
3)安裝Database Configuration Assistant會需要挺長的時間,當安裝完成后會彈出一個對話框,點擊"Password management...",將豎線拉成對話框,給SYS、System、Scoot、SH設置密碼,它們的默認密碼分別是SYS:change_on_install、System:manager、Scoot:tiger、SH:sh,分別輸入進對應的密碼輸入框中,在Scoot、SH設置密碼之前,點擊對號就可以為它們設置密碼了。
4)最后等進度在100%的時候,會出現一個豎線,把它拉開,按照里面的提示以root權限進入提示的地址,運行上面提示的兩個sh文件,第二個sh文件要你選地址直接回車就好了。
 
12)、用root用戶,依次執行下面兩條命令。

 

[root@localhost zhuzi]# /data/oraInventory/orainstRoot.sh [root@localhost zhuzi]# /data/oracle/product/11.2.0/db_1/root.sh #這條命令執行后需要再按一次回車鍵才會結束。 

 

點擊右下角close按鈕,完成安裝。

 

 

4、配置監聽,在oracle用戶下執行命令。

[oracle@localhost database]$ netca #創建監聽

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

在不修改端口的情況下,第一個監聽程序,一路回車,就配置好了。

 

5、創建數據庫

[oracle@localhost database]$ dbca #創建數據庫

 

 

 

 

 選擇第二項,意思是自定義數據庫。

 

 

下面為輸入想要創建數據庫的名字,這里我輸入的為orcl,你可以隨意,但是上下內容要一致。

 

 

 

 

 

 第二項為對所有賬戶使用相同的管理密碼,這里需要填寫一下想設置的密碼。

 

這里提示我密碼太簡單,我們直接yes忽略他的提示。

 

 

 指定新建數據庫的存放位置,這里我們選第二項,填寫上之前建立的目錄。

 

這里取消閃回功能,你也可以打開,看需求。

 

 

下面為一些數據庫組件的選擇,這里就全部清空選擇。直接下一步。

 

 

 

 

一些配置參數,內存,字符集等等,直接默認下一步。

 

 

 

 

 

 

 

 

 

 

 接下來,等待安裝結束,測試一下,有沒有安裝成功。

 

 安裝結束,點擊Exit按鈕。

~~~~~~~~~~~~~~~~~~~~進入測試環節~~~~~~~~~~~~~~~~~~~~~~~~

[oracle@localhost database]$ sqlplus / as sysdba

 

 上圖可以看出,sqlplus已經成功登陸進來了。

SQL> select status from v$instance;

 

 上圖可以看出,數據庫已經是打開狀態的了。輸入exit回車,可以退出sqlplus。

 

 上圖可以看出監聽狀態,至此,oracle數據庫安裝結束。

 

 

安裝完成后的兩個小問題

 

1.Linux下sqlplus不能使用光標箭頭

 

解決辦法:安裝rlwrap包

 

1)下載rlwrap壓縮包(我下載的是rlwrap-0.37.tar.gz);

 

2)yum安裝readline

 

[root@localhost oracle]#yum -y install readline*

 

3)解壓,安裝

 

[root@localhost oracle]#tar -xzvf rlwrap-0.37.tar.gz
[root@localhost oracle]#cd rlwrap-0.37.tar.gz
[root@localhost oracle]#./configure
[root@localhost oracle]#make
[root@localhost oracle]#make install

 

4)切換到oracle用戶下,編輯bash_profile文件

 

[oracle@localhost ~]vi .bash_profile

 

在最后添加

 

alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'

 

保存退出,執行source .bash_profile使其生效。

 

或者直接不修改bash_profile文件,直接在輸入sqlplus命令前加上rlwrap即可(我修改了bash_profile文件,重啟系統還是要重新輸入source命令使其生效,我之后直接在sqlplus命令前加rlwrap)。

 

這樣在sqlplus中就可以使用上下左右鍵來查看歷史紀錄了。

 

2.vim中文亂碼

 

設置~下或者oracle用戶下的.vimrc文件,加上fileencodings、enc、fencs,代碼如下:

 

vim ~/.vimrc    #或者vim /home/oracle(用戶名)/.vimrc
#添加如下代碼
set fileencodings=utf-8,gb2312,gb18030,gbk,ucs-bom,cp936,latin1
set enc=utf8
set fencs=utf8,gbk,gb2312,gb18030

 

 參考:https://www.cnblogs.com/muhehe/p/7816808.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM