Oracle Installation on CentOS
Oracle11g安裝手冊
|
一、 準備安裝
1.1 系統要求
針對自己服務器系統的版本安裝相應版本的oracle,普遍都是X64位的oracle,可在oracle官方下載安裝包。服務器系統硬件要求,安裝位置大小爲>10G硬盤容量,內存1G即可,虛擬內存爲內存的2倍。
1.2 安裝依賴包
Oracle安裝過程中會檢測一些依賴包的安裝,可以下安裝好這些依賴包,也可等安裝時根據彈出的提示安裝依賴包。可通過yum安裝或者網上找依賴包
[root@oracledb ~]# yum -y install gcc gcc-c++ makebinutilscompat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-commonglibc-devel libaio libaio-devel libgcclibstdc++ libstdc++-develunixODBC unixODBC-devel compat-libstdc++-33* sysstat-*
使用winscp軟件上傳pdksh(oracle依賴包,可在鏈接:https://pan.baidu.com/s/1Sl_ASmh6tqT-7CjtZTuHlQ 密碼:8hva)
1.3 安裝pdksh
使用xshell或者mobaXtrem登錄需要安裝oracle數據庫的服務器,安裝pdksh
[root@oracledb ~]# rpm -ivh pdksh-5.2.14-21.x86_64.rpm
warning: pdksh-5.2.14-21.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 73307de6: NOKEY
Preparing... ########################################### [100%]
1:pdksh ########################################### [100%]
二、 系統參數修改
所有的使用vim編輯後要wq保存並退出
2.1 修改主機名及域名解析
[root@oracledb ~]# hostnameoracledb
[root@oracledb ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4localhost4.localdomain4
::1 localhostlocalhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1oracledb(地址根據實際情況書寫)
2.2 關閉防火牆
[root@oracledb ~]# vim /etc/selinux/config
SELINUX=enforcing--修改爲disabled
[root@oracledb ~]# setenforce 0
2.3 創建oracle用戶賬戶和組
[root@oracledb ~]# mkdir -p /u01/app
[root@oracledb ~]# groupadd -g 200 oinstall
[root@oracledb ~]# groupadd -g 201 dba
[root@oracledb ~]# groupadd -g 201 oper
[root@oracledb ~]# groupadd -g 202 oper
[root@oracledb ~]#useradd -g oinstall -G dba,oper -u 440 oracle
[root@oracledb ~]# passwdoracle
[root@oracledb ~]# chown -R oracle.oinstall /u01
[root@oracledb ~]# chmod -R 775/u01/
[root@oracledb ~]# ls -l /u01/
drwxrwxr-x.2 oracle oinstall 4096 Apr 2817:08 app
drwxrwxr-x.2 oracle oinstall 16384 Apr 1714:53 lost+found
[root@oracledb u01]# id oracle
uid=440(oracle) gid=200(oinstall) groups=200(oinstall),201(dba),202(oper)
2.4 修改內核參數
[root@oracledb ~]# vim /etc/sysctl.conf(末尾添加)
fs.aio-max-nr =1048576
fs.file-max =6815744
kernel.shmall =2097152
kernel.shmmax =536870912
kernel.shmmni =4096
kernel.sem =25032000100128
net.ipv4.ip_local_port_range =900065500
net.core.rmem_default =262144
net.core.rmem_max =4194304
net.core.wmem_default =262144
net.core.wmem_max =1048576
[root@oracledb ~]# sysctl –p(執行使上面修改的參數生效)
2.5 修改資源限制參數
[root@oracledb ~]# vim /etc/security/limits.conf(末尾添加)
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
2.6 修改登錄配置文件
[root@oracledb ~]# vim /etc/pam.d/login
session required pam_selinux.so close
session required pam_loginuid.so
session required pam_limits.so(添加此行參數)
session optional pam_console.so
2.7 編寫用戶腳本
[root@oracledb ~]# 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
2.8 配置環境變量
切換到Oracle用戶下,編輯環境變量,視實際環境而定。
[oracle@oracledb ~]$ vim .bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_SID=PROD
export PATH=$ORACLE_HOME/bin:$PATH
[oracle@oracledb ~]$ source .bash_profile(使配置生效)
三、 使用MobaXterm安裝Oracle 軟件
注意:Oracle軟件由對方提供(請客戶在官方下載安裝包)
3.1 MobaXterm開啓遠程桌面
由於客戶端建議安裝大部分都是Centos系統都是最小化安裝的,所以沒有安裝桌面,這邊使用MobaXterm軟件來實現圖形界面功能。
首先安裝X11
[root@oracledb ~]# yum install-y xorg-x11-xauth xorg-x11-server-utils-*
安裝完成後,開啓訪問權限
[root@oracledb ~]# xhost +
access control disabled, clients can connect fromany host
修改SSH配置文件
[root@oracledb ~]# vim /etc/ssh/sshd_config
X11Forwardingyes(修改爲yes,一般默認爲yes)
[root@oracledb ~]# servicesshd restart(重啓此服務)
3.2 Oralce開始安裝
3.2.1 Email地址
不輸入,直接下一步
3.2.2 跳過軟件更新
3.2.3 安裝數據庫軟件
3.2.4 單實例數據庫
3.2.5 安裝簡體中文
3.2.6 安裝企業版
全部勾選上
3.2.7 安裝目錄
3.2.8 詳細目錄
3.2.9 授權的組
3.2.10 安裝檢測
3.2.11 安裝未安裝的包
安裝顯示爲NO的包,如果沒有則不安裝,再檢測“Check again”如果報“swap 錯誤”,點擊“Ignore All”。然後修改安裝檢測顯示出來的Expected Value值。
[root@oracledb ~]# vim /etc/sysctl.conf
3.2.12 安裝開始
3.2.13 執行腳本
[root@oracledb ~]# /u01/app/oraInventory/orainstRoot.sh
[root@oracledb ~]# /u01/app/oracle/product/11.2.0/dbhome_1/root.sh
3.2.14 安裝完成
四、 數據庫的創建和管理
4.1 執行網絡配置
[oracle@oracledb ~]$ netmgr
添加監聽
添加數據庫服務
保存
4.2 建立數據庫實例
創建實例
調整log的內存大小,建議3個都是200MB
4.3 驗證數據庫
[oracle@oracledb~]$ lsnrctl status99(查看監聽狀)
[oracle@oracledb~]$ lsnrctl start(啓動監聽)
[oracle@oracledb ~]$sqlplus / as sysdba(登錄)
SQL> selectopen_mode,name from v$database;(查看實例)
4.4 開機啓動數據庫服務
編輯dbstart/dbshut
[oracle@oracledb ~]$ vim /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart
[oracle@oracledb ~]$ vim /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbshut
調用自啓動自關閉
[oracle@oracledb ~]$ vim /etc/oratab
PROD:/u01/app/oracle/product/11.2.0/dbhome_1:Y(修改爲Y)
編輯啓動項
[oracle@oracledb ~]$ vim /etc/rc.d/rc.local
su - oracle -lc "/u01/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctlstart"
su - oracle -lc "/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart"
su - oracle -lc "/u01/app/oracle/product/11.2.0/dbhome_1/bin/emctl startdbconsole"
編輯腳本文件
[oracle@oracledb ~]$ vim /etc/rc.d/init.d/oracle
#!/bin/bash
#oracle: Start/Stop Oracle Database 11g R2
#chkconfig: 345 90 10
#description: The Oracle Database is an Object-Relational Database ManagementSystem.
#
./etc/rc.d/init.d/functions
LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0
ORACLE_USER=oracle
case"$1" in
'start')
if [ -f $LOCKFILE ]; then
echo $0 already running.
exit 1
fi
echo -n $"Starting Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"
touch $LOCKFILE
;;
'stop')
if [ ! -f $LOCKFILE ]; then
echo $0 already stopping.
exit 1
fi
echo -n $"Stopping Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
rm -f $LOCKFILE
;;
'restart')
$0 stop
$0 start
;;
'status')
if [ -f $LOCKFILE ]; then
echo $0 started.
else
echo $0 stopped.
fi
;;
*)
echo "Usage: $0 [start|stop|status]"
exit 1
esac
exit 0
修改權限加入啓動項
[oracle@oracledb ~]$ chmod 755/etc/init.d/oracle
[oracle@oracledb ~]$ chkconfig oracle on
重新啓動後驗證實例是否存在
SQL> selectstatus from v$instance