原文鏈接: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登錄成功!