轉自:http://blog.csdn.net/nhm_lxy/article/details/37813789
安裝環境: 虛擬機VMware Workstation 10.0
操作系統: 64位系統,RedHat.Enterprise.Linux.Server-v6.3-x86_x64.ISO
Oracle版本: Linux_x64_Oracle_11gR2_v11.2.0.1.0
安裝過程主要分為以下3步:
- 配置系統參數
- 軟件安裝與數據庫配置
- 配置優化與測試
第1章 配置系統參數
在本章節中主要完成Oracle安裝前的系統參數配置工作。若無特殊說明,均為以root身份在終端上進行操作。
1.1、設置主機和網絡參數
需設置主機名和固定IP,以便oracle監聽程序的建立。
1.1.1、設置主機名
[root@rhel6 ~]# vim /etc/sysconfig/network NETWORKING=yes HOSTNAME= rhel6.localdomain
HOSTNAME(主機名)請根據個人喜好進行設置。
1.1.2、設置網絡參數
[root@rhel6 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" ONBOOT="yes" BOOTPROTO=static IPADDR=192.168.18.101 NETMASK=255.255.255.0 GATEWAY=192.168.18.2 DNS1=192.168.18.2
IPADDR(IP地址)、NETMASK(子網掩碼)、GATEWAY(默認網關)、DNS1(主DNS)請根據實際網絡環境進行設置。
1.1.3、修改 hosts 文件
在文件【/etc/hosts】最后追加以下內容:
[root@rhel6 ~]# vim /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.18.101 oracle oracle.localdomain rhel6.localdomain
注意:必須將主機名對應到主機真實ip地址,否則oracle有可能將監聽程序僅僅建立在127.0.0.1上。主機名可根據個人喜好進行設置。
1.1.4、重啟服務器
[root@rhel6 ~]# reboot
1.2、安裝依賴軟件包
使用RedHat.Enterprise.Linux.Server-v6.3-x86_x64-DVD.iso做yum源安裝依賴軟件包。
1.2.1、新建掛載目錄
[root@rhel6 ~]# mkdir /media/rhel6_dvd
1.2.2、掛載DVD到目錄
[root@rhel6 ~]# mount /dev/cdrom /media/rhel6_dvd
1.2.3、新建使用DVD為源的repo文件
[root@rhel6 ~]# cd /etc/yum.repos.d/ [root@rhel6 yum.repos.d]# vim rhel6.repo [rhel6] name=rhel6 baseurl=file:///media/rhel6_dvd enabled=1 gpgcheck=0
1.2.4、清空 yum 信息
[root@rhel6 yum.repos.d]# yum clean all
1.2.5、更新 yum 信息
[root@rhel6 yum.repos.d]# yum update
1.2.6、安裝依賴軟件包
[root@rhel6 yum.repos.d]# yum install binutils-2.* compat-libstdc++-33* elfutils-libelf-0.* elfutils-libelf-devel-* gcc-4.* gcc-c++-4.* glibc-2.* glibc-common-2.* glibc-devel-2.* glibc-headers-2.* ksh-2* libaio-0.* libaio-devel-0.* libgcc-4.* libstdc++-4.* libstdc++-devel-4.* make-3.* sysstat-7.* unixODBC-2.* unixODBC-devel-2.* pdksh* [root@rhel6 yum.repos.d]# cd
因為版本不同,在 第2章軟件安裝及數據庫配置過程,可能會提示缺少依賴包,忽略后可以正常安裝使用 Oracle。
1.3、修改系統內核參數
1.3.1、修改sysctl.conf文件
在文件【/etc/sysctl.conf】中追加以下內容:
[root@rhel6 ~]# vim /etc/sysctl.conf kernel.sem = 250 32000 100 128 kernel.shmall = 2097152 kernel.shmmax = 1073741824 kernel.shmmni = 4096 fs.aio-max-nr = 1048576 fs.file-max = 6815744 net.core.rmem_default = 4194304 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 net.ipv4.ip_local_port_range = 9000 65500
注意: kernel.shmmax 的值是物理內存的一半。 我的是2G內存,所以是1073741824。
參數說明: kernel.shmmni:整個系統共享內存段的最大數目
fs.file-max:系統中所允許的文件句柄最大數目
net.core.rmem_default:套接字接收緩沖區大小的缺省值
net.core.rmem_max:套接字接收緩沖區大小的最大值
net.core.wmem_default:套接字發送緩沖區大小的缺省值
net.core.wmem_max:套接字發送緩沖區大小的最大值
net.ipv4.ip_local_port_range:應用程序可使用的IPv4端口范圍
1.3.2、使內核參數實時生效
[root@rhel6 ~]# sysctl -p
如果有如下提示錯誤,忽略,因為即使未修改參數也提示有這個錯誤:
error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key
1.4、配置用戶和組
1.4.1、創建用戶和用戶組
[root@rhel6 ~]# groupadd dba [root@rhel6 ~]# groupadd oinstall [root@rhel6 ~]# useradd -g oinstall -G dba oracle [root@rhel6 ~]# passwd oracle
1.4.2、修改/etc/security/limits.conf文件
在文件【/etc/security/limits.conf】最后添加以下內容:
[root@rhel6 ~]# vim /etc/security/limits.conf oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
1.4.3、修改/etc/pam.d/login文件
在文件【/etc/pam.d/login】最后添加以下內容:
[root@rhel6 ~]# vim /etc/pam.d/login
session required pam_limits.so
1.4.4、修改/etc/profile文件
在文件【/etc/profile】最后添加以下內容:
[root@rhel6 ~]# 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 umask 022 fi
1.5、配置安裝目錄和環境變量
1.5.1、新建安裝目錄
本文將Oracle安裝在目錄【/home/app/oracle】中,若需安裝在其他位置,請自行修改。
[root@rhel6 ~]# mkdir -p /home/app/oracle
[root@rhel6 ~]# mkdir -p /home/app/oraInventory
1.5.2、設置目錄所有權和權限
[root@rhel6 ~]# chown -R oracle:oinstall /home/app/oracle [root@rhel6 ~]# chown -R oracle:oinstall /home/app/oraInventory [root@rhel6 ~]# chmod -R 775 /home/app
1.5.3、配置Oracle用戶環境變量
在終端上切換到oracle用戶,在文件【/home/oracle/.bash_profile】最后添加以下內容:其中ORACLE_SID的值可自己定,這里設為orcl,在第2章安裝時的ORACLE_SID也應設置為orcl:
[root@rhel6 ~]# su - oracle [oracle@rhel6 ~]# vim .bash_profile TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR ORACLE_BASE=/home/app/oracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME ORACLE_SID=orcl; export ORACLE_SID ORACLE_TERM=xterm; export ORACLE_TERM PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH; export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi umask 022
1.5.4、使環境變量生效
[oracle@rhel6 ~]# source ~/.bash_profile
1.6、防火牆設置
1.6.1、開放Oracle遠程端口
在文件【/etc/sysconfig/iptables】內增加以下內容:
[oracle @rhel6 ~]# su - root [root@rhel6 ~]# vim /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 1158 -j ACCEPT
Oracle遠程訪問端口默認是1521,OEM端口1158,若自定義新端口,請開放相應端口。
注意:新開放端口的配置必須緊跟着放在端口22的配置后面。
1.6.2、重啟防火牆
[root@rhel6 ~]# service iptables restart
iptables: Flushing firewall rules: [ OK ] iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Unloading modules: [ OK ] iptables: Applying firewall rules: [ OK ] |
1.6.3、查看防火牆狀態
[root@rhel6 ~]# service iptables status Table: filter Chain INPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:1521 6 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT) num target prot opt source destination 1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT) num target prot opt source destination
第2章 軟件安裝與數據庫配置
2.1、准備Oracle安裝文件
2.1.1、上傳安裝文件包
可從Oracle官網下載安裝文件:linux.x64_11gR2_database_1of2.zip和linux.x64_11gR2_database_2of2.zip。
並上傳到RHEL6系統中的【home/oracle】,具體上傳方法此處不再贅述,請各位童鞋自己查閱相關資料。本文采用的是SSH Secure Shell的File Transfer Client進行上傳。
2.1.2、解壓安裝文件包
切換到oracle用戶,GNOME圖形界面登錄,然后進行解壓。
[oracle@rhel6 ~]# cd /home/oracle
[oracle@rhel6 oracle]# unzip linux.x64_11gR2_database_1of2.zip && unzip linux.x64_11gR2_database_2of2.zip
2.2、安裝Oracle軟件和數據庫
2.2.1、啟動Oracle安裝
[oracle@rhel6 ~]# cd /home/oracle/database [oracle@rhel6 database]# ./runInstaller Starting Oracle Universal Installer... Checking Temp space: must be greater than 120 MB. Actual 35279 MB Passed Checking swap space: must be greater than 150 MB. Actual 4095 MB Passed Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed Preparing to launch Oracle Universal Installer from /tmp/OraInstall2013-11-03_05-54-11PM. Please wait ...
待安裝文件檢查結束后,即出現圖形界面。
2.2.2、圖形界面安裝
2.2.2.1、Step01.配置安全更新
取消勾選,不接收安全更新,然后點擊【Next】,彈出提示窗口,選擇【Yes】
2.2.2.2、Step02.選擇安裝選項
包含3個安裝選項:
- 創建和配置數據庫
- 僅安裝數據庫軟件
- 升級現有數據庫
這里我們選擇【創建和配置數據庫】,然后點擊【Next】:
2.2.2.3、Step03.選擇系統類
包含2個選項:
- 桌面類:如果要在筆記本或桌面類系統中安裝,則選擇此選項,此選項包括啟動數據庫並允許采用最低配置。
- 服務器類:如果要在服務器類系統中進行安裝(如在生產數據中心內部署Oracle時使用的內容),則選擇此選項,此選項允許使用更多高級配置選項。
為了能使用更多高級配置選項,我們選擇【服務器類】,然后點擊【Next】:
2.2.2.4、Step04.節點選擇
包含2個選項:
- 單實例數據庫安裝
- Real Application Clusters數據庫安裝
選擇【單實例數據庫安裝】,然后點擊【Next】:
2.2.2.5、Step05.選擇安裝類型
包含2個選項:
- 典型安裝:使用基本配置執行完整的Oracle Database安裝
- 高級安裝:可以選擇高級選項,例如:為SYS、SYSMAN、SYSTEM和DBSNMP賬戶使用不同口令,選擇數據庫字符集,產品語言,自動備份,定制安裝及備用存儲選項(例如自動存儲管理)。
選擇【高級安裝】,然后點擊【Next】:
2.2.2.6、Step06.選擇產品語言
默認已添加了【English】,在左側語言列表中找到簡體中文【Simplified Chinese】,並添加到右側,然后點擊【Next】:
2.2.2.7、Step07.選擇數據庫版本
包含3個選項:
- 企業版:具有可伸縮性、高性能、高可用性和安全功能的自行管理的數據庫,能夠滿足大多數高標准的關鍵任務應用程序的需求。
- 標准版:標准版是尋求低成本解決方案的工作組、部門和中小企業的理想選擇。
- 標准版1:標准版1是尋求低成本解決方案的工作組、部門和中小企業的理想選擇。
選擇【企業版】,然后點擊【Next】:
2.2.2.8、Step08.指定安裝位置
設置Oracle基目錄為1.5.1中新建的目錄:/home/app/oracle,則軟件位置會自動為:/home/app/oracle/product/11.2.0/dbhome_1,然后點擊【Next】:
2.2.2.9、Step09.創建產品清單
設置Oracle清單目錄為1.5.1中新建的目錄:/home/app/ oraInventory,選擇組"oinstall",然后點擊【Next】:
2.2.2.10、Step10.選擇配置類型
包含2個選項:
- 一般用途/事務處理:為一般用途或高事務處理量應用而設計的啟動數據庫。
- 數據倉庫:為數據倉庫應用程序而優化的啟動數據庫。
這里我選擇【一般用途/事務處理】,然后點擊【Next】:
2.2.2.11、Step11.指定數據庫標識符
指定Oracel全局數據庫名和服務標識符為:orcl(在第1.5.3節提到),然后點擊【Next】:
2.2.2.12、Step12.指定配置選項
在【內存】頁中勾選【啟用自動內存管理】,在【字符集】頁中選擇【使用Unicode】,然后點擊【Next】:
2.2.2.13、Step13.指定管理選項
選擇【使用Database Control管理數據庫】,然后點擊【Next】:
2.2.2.14、Step14.指定數據庫存儲選項
選擇【文件系統】,並設置路徑為:/home/app/oracle/oradata,然后點擊【Next】:
2.2.2.15、Step15.指定恢復選項
選擇【不啟用自動備份】,然后點擊【Next】:
2.2.2.16、Step16.指定方案口令
這里我選擇【對所有賬戶使用相同口令】,然后輸入密碼,當然你也可以為不同用戶設置不同密碼。然后點擊【Next】:
2.2.2.17、Step17.特權操作系統組
設置數據庫管理員組為【dba】,數據庫操作者組為【oinstall】。然后點擊【Next】:
2.2.2.18、Step18.執行先決條件檢查
若提示有程序包不存在,是因為1.2節的yum源安裝軟件包的版本不一樣,所有可選擇【忽略全部】,然后點擊【Next】:
2.2.2.19、Step19.概要
查看安裝概要,若無問題,則可點擊【Finish】結束配置,開始進行安裝:
2.2.2.20、Step20.安裝產品
2.2.2.20.1、軟件安裝及配置數據庫
2.2.2.20.2、運行配置腳本
軟件及數據庫配置完成后,需要運行配置腳本:
打開命令終端,切換到root用戶,並執行腳本:
[oracle@rhel6 ~]# su - root Password: [root@rhel6 ~]# /home/app/oraInventory/orainstRoot.sh Changing permissions of /home/app/oraInventory. Adding read,write permissions for group. Removing read,write,execute permissions for world. Changing groupname of /home/app/oraInventory to oinstall. The execution of the script is complete. [root@rhel6 ~]# /home/app/oracle/product/11.2.0/dbhome_1/root.sh Running Oracle 11g root.sh script... The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /home/app/oracle/product/11.2.0/dbhome_1 Enter the full pathname of the local bin directory: [/usr/local/bin]: /usr/local/bin Copying dbhome to /usr/local/bin ... Copying oraenv to /usr/local/bin ... Copying coraenv to /usr/local/bin ... Creating /etc/oratab file... Entries will be added to the /etc/oratab file as needed by Database Configuration Assistant when a database is created Finished running generic part of root.sh script. Now product-specific root actions will be performed. Finished product-specific root actions.
執行完成后,切換到圖形安裝界面,點擊【OK】
2.2.2.21、Step21.安裝完成
到此,Oracle11g數據庫軟件和配置數據庫已完成。並顯示了Oracle企業管理器(OEM)的URL:https://oracle:1158/em,使用方法請看第3章。
第3章 配置優化與測試
3.1、設置Oracle和OEM隨機啟動
本小節以root身份進行操作。
3.1.1、修改/etc/oratab文件
[root@rhel6 ~]# vim /etc/oratab orcl:/home/app/oracle/product/11.2.0/dbhome_1:Y (將N改為Y)
3.1.2、修改dbstart和dbshut文件
[root@rhel6 ~]# cd /home/app/oracle/product/11.2.0/dbhome_1/bin [root@rhel6 bin]# vim dbstart ORACLE_HOME_LISTNER=$ORACLE_HOME (將$1改為$ORACLE_HOME) [root@rhel6 bin]# vim dbshut ORACLE_HOME_LISTNER=$ORACLE_HOME (將$1改為$ORACLE_HOME)
3.1.3、建立啟動腳本
[root@rhel6 bin]# cd [root@rhel6 ~]# vim /etc/rc.d/init.d/oracle #!/bin/bash # chkconfig: 2345 99 10 # description: Startup Script for oracle Databases # /etc/rc.d/init.d/oracle export ORACLE_BASE=/home/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export ORACLE_SID=orcl export PATH=$PATH:$ORACLE_HOME/bin case "$1" in start) echo "-----startup oracle-----" >> /var/log/oraclelog su oracle -c "$ORACLE_HOME/bin/dbstart" su oracle -c "$ORACLE_HOME/bin/emctl start dbconsole" touch /var/lock/subsys/oracle echo "-----startup oracle successful-----" >> /var/log/oraclelog echo "OK" ;; stop) echo "-----shutdwn oracle-----" >> /var/log/oraclelog su oracle -c "$ORACLE_HOME/bin/dbshut" su oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole" rm -f /var/lock/subsys/oracle echo "-----shutdown oracle successful-----" >> /var/log/oraclelog echo "OK" ;; *) echo "Usage: 'basename $0' start|stop" exit 1 esac exit 0
3.1.4、設置腳本權限
[root@rhel6 ~]# chmod 755 /etc/rc.d/init.d/oracle
3.1.5、建立Oracle服務
[root@rhel6 ~]# chkconfig --add oracle
[root@rhel6 ~]# chkconfig oracle on
3.2、測試連接
本小節以oracle身份進行操作。
3.2.1、連接數據庫
[oracle@rhel6 ~]# sqlplus "/as sysdba" SQL*Plus: Release 11.2.0.1.0 Production on Sun Nov 10 16:20:48 2013 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 -64bit Production SQL> startup ORA-01081: cannot start already-running ORACLE -shut it down first
在3.1.5中已啟動Oracle服務,會自動啟動數據庫,故這里提示不能啟動已運行的ORACLE。
3.2.2、啟動OEM客戶端
[oracle@rhel6 ~]# emctl start dbconsole Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0 Copyright (c) 1996, 2009 Oracle Corporation. All rights reserved. https://oracle:1158/em/console/aboutApplication -An instance of Oracle Enterprise Manager 11g Database Control is already running.
在3.1.5中已啟動Oracle服務,會自動啟動OEM,故這里OEM實例已運行。
3.3、登錄Oracle企業管理器(OEM)
打開系統的FireFox瀏覽器,並輸入OEM的URL:https://oracle:1158/em,輸入sys用戶和密碼,以SYSDBA身份登錄:
登錄成功后,即可看到詳細頁面:
因我們在1.6.1中已開放了OEM的外部訪問端口1158,因此也可以從其他可訪問本數據庫服務器的機器中訪問OEM。因我們安裝Oracle時安裝了簡體中文語言包,所以在我的中文Windows系統中訪問OEM時,是中文界面:
3.4、配置PL/SQL Developer
到這里,在Redhat.Enterprise.Linux_v6.3_x64位系統中安裝和配置Oracle_11gR2_v11.2.0.1.0已經全部完成。但這只是安裝了數據庫,而要進行數據庫開發,還得有相應的開發工具,這里推薦使用PL/SQL Developer,目前最新版本是10.0,具體的安裝文件請各位自己網上找,下載好后進行安裝,需要強調一點:安裝路徑中不能有括號,不要安裝在C:/Program Files (x86)目錄下面。
客戶機上用PL/SQL Developer連接Oracle數據庫,需要oci,有2種方式:
- Oracle的完整客戶端:注意PL/SQL Developer目前不支持64位的oci,若使用此方式則建議安裝32位版的完整客戶端。若客戶機已經安裝了64位版的完整客戶端,則可參照使用下面的方法進行配置連接。
- Oracle的即時客戶端:此方法最方便快捷,我在這也只介紹此方式。
3.4.1、下載Oracle客戶端
下載地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html,點擊連接會進入下載頁面,選擇Instant Client for Microsoft Windows (32-bit)進行下載。
3.4.2、配置Oracle客戶端
下載之后將其解壓,不需要進行安裝,我這里將其解壓到D:/Oracle/App/product/11.2.0目錄下,然后在instantclient_11_2目錄下新建兩層文件夾/NETWORK/ADMIN,再在ADMIN文件夾下面新建個文本文件,改名為tnsnames.ora,並向文件中添加如下內容:
ORCL_101 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.18.101)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
連接名orcl_101可以自定義。
當然以上的內容也可以從前面安裝Oracle數據庫的RedHat Linux服務器內的文件中拷貝:/home/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora。
3.4.3、配置PL/SQL Developer
安裝PL/SQL Developer完成之后運行,此時出現的登錄窗體不進行登錄,點擊Calcel按鈕,這時會在無登錄狀態下進入,依次選擇Tools ——> Preferences,會打開配置界面,左側選擇Connection,在右側紅框內設置instantclient_11_2目錄:
3.4.4、驗證PL/SQL Developer
重新啟動PL/SQL Developer,並進行登錄(scott/tiger):
登錄成功后,寫一條Sql語句進行驗證,查詢可以看到下面的效果,說明連接成功。