Centos7 下無圖形界面安裝 Oracle11g


原文鏈接:https://www.cnblogs.com/yejingcn/p/10278473.html

 一、系統要求以及准備

1. 物理內存不小於1G: 查看方式:

# grep MemTotal /proc/meminfo

2. 可用硬盤不小於8G: 查看方式:

# df

3.Swap分區空間不小於2G: 查看方式:

# grep SwapTotal /proc/meminfo

4. 關閉firewalld防火牆

# systemctl status firewalld.service    #查看firewalld防火牆狀態
# systemctl stop firewalld.service      #關閉firewalld防火牆
# systemctl disable firewalld.service   #禁止開機使用firewalld防火牆

5. 修改CentOS系統標識 (由於Oracle默認不支持CentOS)
    修改文件:  /etc/redhat-release
    將文件內容替換為:

redhat-7

6.修改內核參數
   修改文件:  /etc/sysctl.conf
   添加以下內容:

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
kernel.shmall = 2097152
kernel.shmmax = 2147483648
net.ipv4.ip_local_port_range = 9000 65500
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
net.core.rmem_default = 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576

修改完后,啟用新的配置:

# sysctl -p

7. 安裝必須的軟件包

# 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* unzip lrzsz

8. 創建用戶以及組

# groupadd oinstall                         #創建安裝oracle程序用戶組 
# groupadd dba                              #創建DBA用戶組
# useradd -g dba -m oracle                  #創建用戶oracle 並加入到dba組
# usermod -a -G oinstall oracle             #將用戶oracle加入到oinstall組
# passwd oracle                             #修改用戶oracle的密碼
# id oracle                                 #查看用戶oracle的信息

9. 創建安裝目錄

# mkdir -p /data/oracle                         #創建oracle主目錄
# mkdir -p /data/inventory                      #創建oralce配置目錄
# mkdir -p /data/src                            #創建oracle壓縮包解壓目錄
# chown -R oracle:oinstall /data/oracle         #修改目錄權限
# chown -R oracle:oinstall /data/inventory                           
# chown -R oracle:oinstall /data/src
# ll /data #查看目錄權限

10. 修改oracle用戶的安全性能設置
      修改文件:   /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

11. 修改用戶環境變量
      修改文件:   /home/oracle/.bashrc
      追加以下內容

export PATH
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
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.AL32UTF8

      修改完后立即啟用:

# source /home/oracle/.bashrc

12. 解壓縮zip包到/data/src

# unzip linux.x64_11gR2_database_1of2.zip -d /data/src/
# unzip linux.x64_11gR2_database_2of2.zip -d /data/src/
# chown -R oracle:oinstall /data/src/
# ll /data/src/

13. 關閉selinux

 修改文件:  /etc/selinux/config

  保存后需要重啟機器

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled      # ********修改此行******
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 
# reboot

二、安裝Oracle

進入Oracle用戶

# su oracle

1.安裝Oracle主程序

編輯數據庫安裝文件  /data/src/database/response/db_install.rsp

oracle.install.option=INSTALL_DB_SWONLY                # 安裝類型
ORACLE_HOSTNAME=oracle.server                            # 主機名稱
UNIX_GROUP_NAME=oinstall                                   # 安裝組
INVENTORY_LOCATION=/data/inventory                         # INVENTORY目錄
SELECTED_LANGUAGES=en,zh_CN                                # 選擇語言
ORACLE_HOME=/data/oracle/product/11.2.0/db_1               # oracle_home
ORACLE_BASE=/data/oracle                                   # oracle_base
oracle.install.db.InstallEdition=EE                        # oracle版本
oracle.install.db.DBA_GROUP=dba                            # dba用戶組
oracle.install.db.OPER_GROUP=oinstall                      # oper用戶組
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE    # 數據庫類型
oracle.install.db.config.starterdb.globalDBName=orcl       # globalDBName
oracle.install.db.config.starterdb.SID=orcl                # SID
oracle.install.db.config.starterdb.characterSet=AL32UTF8 # 默認數據庫編碼 oracle.install.db.config.starterdb.memoryLimit=800 # 自動管理內存的最小內存(M) oracle.install.db.config.starterdb.password.ALL=oracle # 設定所有數據庫用戶使用同一個密碼 DECLINE_SECURITY_UPDATES=true # 設置安全更新

安裝oracle

$ /data/src/database/runInstaller -silent -responseFile /data/src/database/response/db_install.rsp -ignorePrereq

漫長的等待.............(時間的話看機器性能咯)

當出現如下畫面時候,請照做

  
要執行配置腳本,請執行以下操作:
    1.打開一個終端窗口
    2.以"root"身份登陸
    3.運行腳本
/data/inventory/orainstRoot.sh
/data/oracle/product/11.2.0/db_1/root.sh
4.返回此窗口並按"Enter"鍵繼續

Oracle主程序就安裝完啦.

2.配置Oracle監聽程序

編輯監聽配置文件  /data/src/database/response/netca.rsp
修改以下參數

INSTALL_TYPE=""custom""                               # 安裝的類型
LISTENER_NUMBER=1                                     # 監聽器數量
LISTENER_NAMES={"LISTENER"}                           # 監聽器的名稱列表
LISTENER_PROTOCOLS={"TCP;1521"}                       # 監聽器使用的通訊協議列表
LISTENER_START=""LISTENER""                           # 監聽器啟動的名稱

執行命令:

$ /data/oracle/product/11.2.0/db_1/bin/netca /silent /responseFile /data/src/database/response/netca.rsp

查看監聽程序是否運行

$ netstat -tnulp | grep 1521

關於監聽的開機和關閉

開啟監聽:
/data/oracle/product/11.2.0/db_1/bin/lsnrctl start
關閉監聽:
/data/oracle/product/11.2.0/db_1/bin/lsnrctl stop

 

3.添加數據庫實例

編輯數據庫實例文件  /data/src/database/response/dbca.rsp
修改以下參數

RESPONSEFILE_VERSION ="11.2.0"                              // 不要變哦
OPERATION_TYPE ="createDatabase"                            // 操作為創建實例  
GDBNAME ="orcl"                                             // 數據庫實例名
SID ="orcl"                                                 // 實例名字
TEMPLATENAME = "General_Purpose.dbc"                        // 建庫用的模板文件
SYSPASSWORD = "oracle"                                      // SYS管理員密碼
SYSTEMPASSWORD = "oracle"                                   // SYSTEM管理員密碼
SYSMANPASSWORD= "oracle"
DBSNMPPASSWORD= "oracle"
DATAFILEDESTINATION =/data/oracle/oradata                   // 數據文件存放目錄
RECOVERYAREADESTINATION=/data/oracle/flash_recovery_area    // 恢復數據存放目錄
CHARACTERSET ="AL32UTF8"                                    // 字符集
NATIONALCHARACTERSET= "AL16UTF16" // 字符集
TOTALMEMORY ="1638" // 1638MB,物理內存2G*80%。

 執行命令:

$ /data/oracle/product/11.2.0/db_1/bin/dbca -silent -responseFile /data/src/database/response/dbca.rsp

查看實例是否運行

$ ps -ef | grep ora_ | grep -v grep

修改啟動和關閉實例的程序
修改文件:      /data/oracle/product/11.2.0/db_1/bin/dbstart
      /data/oracle/product/11.2.0/db_1/bin/dbshut

將
ORACLE_HOME_LISTNER=$1
修改為
ORACLE_HOME_LISTNER=/data/oracle/product/11.2.0/db_1

修改文件:  /etc/oratab

將
orcl:/data/oracle/product/11.2.0:N
修改為
orcl:/data/oracle/product/11.2.0:Y

啟動或者關閉實例

啟動實例:
/data/oracle/product/11.2.0/db_1/bin/dbstart
關閉實例:
/data/oracle/product/11.2.0/db_1/bin/dbshut

 

三、收尾工作

1.開機啟動Oracle

Root用戶模式下:

# chmod +x /etc/rc.d/rc.local

修改文件 /etc/rc.d/rc.local
在文件最后追加以下內容:

su oracle -lc "/data/oracle/product/11.2.0/db_1/bin/lsnrctl start"
su oracle -lc "/data/oracle/product/11.2.0/db_1/bin/dbstart"

 

四、安裝出現的問題

 原文寫的挺詳細的,跟着這個步驟一步步做,其他都沒問題,就是在安裝oracle 執行命令時報錯
$ /data/src/database/runInstaller -silent -responseFile /data/src/database/response/db_install.rsp -ignorePrereq

 

$ Exception in thread "main" java.lang.NoClassDefFoundError
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:164)
        at java.awt.Toolkit$2.run(Toolkit.java:821)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:804)
        at com.jgoodies.looks.LookUtils.isLowResolution(Unknown Source)
        at com.jgoodies.looks.LookUtils.<clinit>(Unknown Source)
        at com.jgoodies.looks.plastic.PlasticLookAndFeel.<clinit>(PlasticLookAndFeel.java:122)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:242)
        at javax.swing.SwingUtilities.loadSystemClass(SwingUtilities.java:1783)
        at javax.swing.UIManager.setLookAndFeel(UIManager.java:480)
        at oracle.install.commons.util.Application.startup(Application.java:758)
        at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:164)
        at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:181)
        at oracle.install.commons.base.driver.common.Installer.startup(Installer.java:265)
        at oracle.install.ivw.db.driver.DBInstaller.startup(DBInstaller.java:114)
        at oracle.install.ivw.db.driver.DBInstaller.main(DBInstaller.java:132)

 

查了下:

  1 .用root用戶在系統中設置了DISPLAY環境變量

      執行:unset DISPLAY     然后再執行runInstaller.sh,執行成功

  2.重新啟動系統。以oracle的身份登錄系統,然后執行./runInstaller

跟着1步驟,切換到root執行后,再切回oracle,執行,並沒有用。

 2的話,服務器有很多程序在運行不方便重啟。

最后解決方法: 重新用oracle用戶登錄,而不是在root切到oracle用戶,。。運行通過了!!!!!不清楚到底是1步驟生效了,還是本來直接用oracle用戶直接登錄運行就可以成功,也不想去驗證了。

安裝完成后用system用戶登進去,創建了新用戶 oracle,授予dba權限:

1.創建一個新用戶:create user abc oracle by oracle;

2.授予DBA權限: grant connect,resource,dba to oracle;

 qlsql登錄成功!


免責聲明!

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



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