在虛擬機器CentOS7中無圖形介面安裝Oracle11G R2版本
① 系統要求以及準備
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"