一. 部署環境步驟 1.1 軟體環境 操作系統:CentOS release 6.5oracle安裝包:linux.x64_11gR2_database_1of1.zip;linux.x64_11gR2_database_1of2.zip 1.2 配置主機名 1.3 配置網路 1.4 配置系統內核參 ...
操作系統:CentOS release 6.5
oracle安裝包:linux.x64_11gR2_database_1of1.zip;linux.x64_11gR2_database_1of2.zip
1.2 配置主機名
# vim /etc/sysconfig/network HOSTNAME= oracle235 # 或者執行 hostname oracle235
1.3 配置網路
# vim /etc/hosts 192.168.1.235 oracle235
1.4 配置系統內核參數
配置 /etc/sysctl.conf :添加如下內容:
fs.aio-max-nr = 1048576 fs.file-max = 6815744 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 = 1048586
註意上述參數中,需要根據實際情況修改 kernel.shmmax 參數的值,可以直接設置為物理記憶體大小。
執行命令使之生效:
# /sbin/sysctl -p
1.5 設置 Shell對Oracle用戶的限制
配置 /etc/security/limits.conf 文件:增加如下內容
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 2047 oracle hard nofile 65536
接著,修改 /etc/pam.d/login,在文件最後添加如下內容:
session required /lib64/security/pam_limits.so
最後,修改 /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
所有修改完畢,重啟所有 Linux 系統
1.6 創建grid/Oracle用戶和組
# /usr/sbin/groupadd oinstall # /usr/sbin/groupadd dba # /usr/sbin/groupadd oper # /usr/sbin/useradd -g oinstall -G dba,oper oracle # passwd oracle
創建 oracle 軟體安裝目錄
# mkdir -p /u01/oraInventory # chown -R oracle:oinstall /u01/ # chmod -R 775 /u01/
配置 oracle 用戶的環境變數
export ORACLE_BASE=/u01/app
export ORACLE_HOME=$ORACLE_BASE/oracle
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export NLS_LANG=AMERICAN_AMERICA.UTF8
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
alias sqlplus='rlwrap sqlplus'
1.7 安裝 oracle 安裝包的依賴
binutils-2.17.50.0.6 compat-libstdc++-33-3.2.3 compat-libcap1 elfutils-libelf-0.125 elfutils-libelf-devel-0.125 elfutils-libelf-devel-static-0.125 gcc-4.1.2 gcc-c++-4.1.2 glibc-2.5-24 glibc-common-2.5 glibc-devel-2.5 glibc-headers-2.5 kernel-headers-2.6.18 ksh-20060214 libaio-0.3.106 libaio-devel-0.3.106 libgcc-4.1.2 libgomp-4.1.2 libstdc++-4.1.2 libstdc++-devel-4.1.2 make-3.81 sysstat-7.0.2 unixODBC-2.2.11 unixODBC-devel-2.2.11
執行命令 查看是否遺漏包;
rpm -q binutils compat-libstdc++-33 compat-libcap1 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel
安裝依賴包
yum install -y binutils compat-libstdc++-33 compat-libcap1 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel
二. 用xshell打開圖形界面
可以採用 VNC 或者 xshell 軟體登錄 linux 界面去安裝 Oracle Grid Infrastructure 軟體。本例採用 xshell 軟體
2.1 安裝與下載圖形界面GNOME
yum groupinstall "Desktop" yum groupinstall "X Window System"
2.2 修改 /etc/gdm/custom.conf
[daemon] [security] AllowRemoteRoot=true [xdmcp] Port=177 Enable=true [gui] [greeter] [chooser] [debug]
2.3 啟動xshell工具
三. 安裝Oracle資料庫圖解
3.1 安裝 Oracle 軟體
進入 linux 桌面;打開終端;用 oracle 用戶登錄。進入 oracle 安裝包目錄;執行命令
./runInstaller
下麵是每一步都圖解演示:點擊 next 按鈕
跳過軟體更新;點擊next按鈕
選擇只安裝資料庫軟體
選擇單實例安裝
選擇Languages
選擇"Enterprise Edition"
選擇oracle軟體安裝路徑
安裝前環境監測
安裝Oracle軟體
接下來的時間慢慢等待 Oracle 軟體安裝;在安裝過程中要用 root 用戶執行兩個腳本;如下截圖
3.2 配置Oracle資料庫
Oracle伺服器軟體已經安裝完成;接下來需要配置Oracle資料庫;在終端下執行命令
dbca
執行dbca之後;會彈出資料庫配置助手;如下圖所示:
跳過軟體更新;點擊 next 按鈕
選擇定製;可以根據業務定製
經過漫長的等待;Oracle安裝就完成
四. Oracle網路配置
資料庫啟動之後,要想提供對外服務。還需要配置 Oracle 的監聽器配置文件 listener.ora(可以使用 netca 命令創建);而遠程客戶端則需要配置 tnsnames.ora 文件。與伺服器建立網路連接。
4.1 伺服器監聽文件 listener.ora
我們先看下資料庫SID和SERVICE_NAME。
SQL> show parameter instance_name; NAME TYPE VALUE -------------- --------- --------------- service_names string ora235 SQL> alter system set service_names='lottu' scope=both; System altered. SQL> show parameter service_name; NAME TYPE VALUE -------------- --------- --------------- service_names string lottu
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.235)(PORT = 1521)(IP = FIRST))) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = ora235) (GLOBAL_DBNAME = lottu) (ORACLE_HOME =/u01/app/oracle) ) )
再啟動監聽
lsnrctl start
T235= (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.235)(PORT = 1521)) (CONNECT_DATA = (SID = ora235) ) (HS = OK) ) # 或者用 (SERVICE_NAME = lottu) 替換 (SID = ora235)
測試是否配置OK?
[oracle@oracle235 admin]$ tnsping T235 TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 03-AUG-2018 23:48:59 Copyright (c) 1997, 2013, Oracle. All rights reserved. Used parameter files: Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.235)(PORT = 1521)) (CONNECT_DATA = (SID = ora235)) (HS = OK)) OK (0 msec)
這樣就可以通過客戶端連接 Oracle 伺服器。
五. Oracle開機自啟動
預設 Oracle 資料庫是不會隨著機器重啟或者開機啟動 Oracle 服務。
5.1 修改Oracle系統配置文件
用 root 用戶修改文件 /etc/oratab ;將 N 改成 Y;本例如下
$ORACLE_SID:$ORACLE_HOME:<N|Y>:
ora235:/u01/app/oracle:Y
5.2 在 /etc/init.d/ 下創建文件oracle
#!/bin/bash #chkconfig:345 61 61 #description:oracle # # Set ORA_HOME to be equivalent to the $ORACLE_HOME # from which you wish to execute dbstart and dbshut; # # Set ORA_OWNER to the user id of the owner of the # Oracle database in ORA_HOME. ORA_HOME=/u01/app/oracle ORA_OWNER=oracle if [ ! -f $ORA_HOME/bin/dbstart ] then echo "Oracle startup: cannot start" exit fi case "$1" in 'start') # Start the Oracle databases: echo "Starting Oracle Databases ... " echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" >>/var/log/oracle echo "Done" # Start the Listener: echo "Starting Oracle Listeners ... " echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Starting Oracle Listeners as part of system up." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >>/var/log/oracle echo "Done." echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Finished." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle touch /var/lock/subsys/oracle ;; 'stop') # Stop the Oracle Listener: echo "Stoping Oracle Listeners ... " echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Stoping Oracle Listener as part of system down." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >>/var/log/oracle echo "Done." rm -f /var/lock/subsys/oracle # Stop the Oracle Database: echo "Stoping Oracle Databases ... " echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Stoping Oracle Databases as part of system down." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" >>/var/log/oracle echo "Done." echo "" echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Finished." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle ;; 'restart') $0 stop $0 start ;; esac
5.3 添加服務
# chmod 755 /etc/init.d/oracle # chkconfig --level 35 oracle on # ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle # ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle
5.4 測試啟動和關閉 Oracle
[root@oracle235 ~]# service oracle stop Stoping Oracle Listeners ... Done. Stoping Oracle Databases ... Done. [root@oracle235 ~]# service oracle start Starting Oracle Databases ... Done Starting Oracle Listeners ... Done.
本課程總共有 12 課;是給公司員工培訓所編輯。未完待續...