環境:html
Centos7 需帶有GUI圖形界面linux
vmware虛擬機c++
IP:192.168.213.130數據庫
一 下載Oraclevim
官方下載地址:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.htmlcentos
二 設置防火牆,關閉selinuxbash
1.Oracle默認監聽佔用1521端口,讓防火牆打開該端口服務器
# firewall-cmd --add-port=1521/tcp --permanentsession
# firewall-cmd –reloadoracle
2.centos7中selinux默認開啓,虛擬環境關閉便可。
# vim /etc/selinux/config
# setenforce 0 修改成即時生效
三 建立運行Oracle數據庫的用戶和用戶組
[root@oracle ~]# groupadd oinstall
[root@oracle ~]# groupadd dba
[root@oracle ~]# useradd -g oinstall -G dba -m oracle
[root@oracle ~]# passwd oracle
更改用戶 oracle 的密碼 。
新的 密碼:
從新輸入新的 密碼:
passwd:全部的身份驗證令牌已經成功更新。
[root@oracle ~]# id oracle
uid=1001(oracle) gid=1001(oinstall) 組=1001(oinstall),1002(dba)
[root@oracle ~]#
四 修改oracle用戶限制
1.編輯/etc/security/limits.conf文件,修改操做系統對oracle用戶資源的限制。
# vim /etc/security/limits.conf
在文件末尾添加如下內容
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
2.要使limits.conf文件配置生效,必需要確保pam_limits.so文件被加入到啓動文件中。
# vim /etc/pam.d/login 加入如下語句:
session required pam_limits.so
3.編輯 /etc/profile
# vim /etc/profile 將下列內容加入該文件。
if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
五 調整內核參數
編輯/etc/sysctl.conf文件,設置相關參數的系統默認值。若是該文件中已有相關參數的設置,則確保參數值不小於以下對應值;若是尚未相關參數的設置,則按照以下格式添加相應的參數設置行。
fs.file-max = 6815744 fs.aio-max-nr = 1048576 kernel.shmall = 2097152 kernel.shmmax = 2147483648 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 = 1048576
要使 /etc/sysctl.conf 更改當即生效,執行如下命令。 輸入:sysctl -p 顯示以下:
六 建立數據庫軟件目錄和數據文件存放目錄(目錄的位置,根據本身的狀況來定),並改變相應的權限
mkdir -p /opt/oracle/product mkdir -p /opt/oracle/oradata mkdir -p /opt/oracle/oraInventory chown -R oracle:oinstall /opt/oracle chmod -R 775 /opt/oracle/
七 配置oracle用戶的環境變量
1.切換到新建立的oracle用戶下:
[root@oracle ~]# su oracle [oracle@oracle root]$ vim /home/oracle/.bash_profile
2.按i進入編輯模式,增長如下內容
export ORACLE_BASE=/opt/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export ORACLE_SID=orcl export ORACLE_TERM=xterm export TNS_ADMIN=$ORACLE_HOME/network/admin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib export NLS_LANG=AMERICAN_AMERICA.UTF8 export LANG=en_US.UTF8 PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin export PATH
3.執行命令source /home/oracle/.bash_profile,讓配置當即生效。
[oracle@oracle root]$ source /home/oracle/.bash_profile
8、安裝Oracle
1.使用Xftp將下載好的Oracle安裝文件上傳到CentOs上去,我這裏放到了/home/oracle目錄下
2.使用unzip命令解壓oracle安裝文件
[oracle@oracle ~]$ unzip linux.x64_11gR2_database_1of2.zip [oracle@oracle ~]$ unzip linux.x64_11gR2_database_2of2.zip
3.解壓完成後進入其解壓後的目錄database,使用ls命令能夠查看解壓後database所包含的文件,以下圖:
4.執行安裝,輸入命令:./runInstaller -jreLoc /usr/lib/jvm/jre-1.8.0
執行安裝前切換到圖形化桌面,用oracle帳號的登錄
5.取消選中這個界面上的I wish to receive security updates via My Oracle Support複選框,點擊Next
6.在Select Installation Option(選擇安裝選項)界面上,選擇Install database software only選項,點擊Next
Create and configure a database(建立和配置數據庫) 這個選項是默認的安裝選項,它安裝Oracle RAC二進制文件,並根據預先配置的模板建立一個數據庫。這個選項對於初學者很是有用,由於Oracle爲不一樣類型的工做量提供了不一樣模板,如用於OLTP和決策支持系統的不一樣模板。
Install database software only(僅安裝數據庫軟件) 這個選項在集羣中的全部服務器上安裝Oracle RAC軟件。數據庫管理員大多使用這一選項,這樣,在安裝了Oracle RAC二進制文件以後,他們可使用數據庫配置助手來建立數據庫,從而擁有更大的靈活性。
Upgrade an existing database(升級已有數據庫) 這一選項對集羣中的已有Oracle RAC數據庫進行升級。
7.在Grid Installation Options(網格安裝選項)界面上,能夠選擇如下2種選項之一:
Single instance database installation(單實例數據庫安裝) 這一選項容許僅在本地節點上安裝單實例數據庫軟件。
Real Application Clusters database installation(Oracle RAC數據庫安裝) 這一選項容許在集羣中的選定節點上選擇和安裝Oracle RAC二進制文件。
在這個界面上,選擇Single instance database installation選項,點擊Next
8.在Select Product Languages界面,選擇安裝語言(默認狀況下選擇英文),點擊Next
9.在Select Database Edition(選擇數據庫版本)界面,選擇企業版,點擊Next
10.在Specify Installation Location界面,爲Oracle Base和Software Location指定存儲位置,點擊Next
11.選擇清單目錄、指定清單組名稱,點擊Next
12.在Privileged Operating System Groups界面,從提供的值列表中選擇數據庫管理員和數據庫操做員操做系統組,點擊Next
13.安裝到這一步,能夠看到,檢查到有不少的包報錯
切換到root用戶,而後使用命令一個一個的安裝,例如:yum install -y libaio*
(針對pdksh找不到的問題,安裝ksh便可。聽說oracle使用新的ksh了,可是檢查腳本中還使用的是pdksh)
當全部包都安裝完成後,點擊"Check Again"
能夠看到仍是有錯,有些系統報錯是由於現有的包的版本比檢測的要高,Oracle 11g check的時候不識別高版本lib包,咱們把右上角的"Ignore All"勾選上,而後點擊Next
14在Summary界面,點擊Finish
15.安裝過程須要點時間,咱們耐心等候,安裝完成後點擊close,結束
過程當中遇到第一個報錯
注意到日誌有如下錯誤:
INFO: /lib64/libstdc++.so.5: undefined reference to `memcpy@GLIBC_2.14'
INFO: collect2: error: ld returned 1 exit status
INFO: make: *** [ctxhx] Error 1
網上說是glibc的版本2.17太高所致(高於2.14),先安裝軟件包glibc-static-2.17-55.el7.x86_64,該軟件包包含一個靜態連接庫:/usr/lib64/libc.a
修改文件
[root@oracle database]# vim /opt/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/libc.a
修改完後保存,回到安裝頁面點「Retry「,遇到第二個報錯
解決方法:在makefile中添加連接libnnz11庫的參數
修改文件
[root@oracle database]# vim /opt/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk
將
$(MK_EMAGENT_NMECTL)
修改成:
$(MK_EMAGENT_NMECTL) -lnnz11
點擊Retry繼續安裝。
16.執行提示的2個腳本
[root@oracle database]# sh /opt/oracle/oraInventory/orainstRoot.sh [root@oracle database]# sh /opt/oracle/product/11.2.0/dbhome_1/root.sh
運行完成後點擊ok,最後點擊close。結束安裝。