一、配置系統(tǒng)參數(shù)
在安裝oracle前我們需要對(duì)用到的系統(tǒng)參數(shù)進(jìn)行配置
1、修改系統(tǒng)內(nèi)核參數(shù)
修改sysctl.conf文件
在文件/etc/sysctl.conf中添加以下內(nèi)容:
kernel.sem = 250 32000 100 128
kernel.shmall = 2097152
kernel.shmmax = 2147483648
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 的值是物理內(nèi)存的一半。 如果服務(wù)器是4G內(nèi)存,那么他的值是2147483648
參數(shù)說(shuō)明: kernel.shmmni:整個(gè)系統(tǒng)共享內(nèi)存段的最大數(shù)目
fs.file-max:系統(tǒng)中所允許的文件句柄最大數(shù)目
net.core.rmem_default:套接字接收緩沖區(qū)大小的缺省值
net.core.rmem_max:套接字接收緩沖區(qū)大小的最大值
net.core.wmem_default:套接字發(fā)送緩沖區(qū)大小的缺省值
net.core.wmem_max:套接字發(fā)送緩沖區(qū)大小的最大值
net.ipv4.ip_local_port_range:應(yīng)用程序可使用的IPv4端口范圍
修改完成之后使內(nèi)核參數(shù)生效
sysctl –p輸出:

2、修改hosts文件
在/etc/hosts下添加以下的內(nèi)容
192.168.100.197 oracle oracle.localdomain rhel6.localdomain
必須將主機(jī)名對(duì)應(yīng)到主機(jī)真實(shí)ip192.168.100.197地址,否則oracle有可能將監(jiān)聽程序僅僅建立在127.0.0.1上。主機(jī)名可根據(jù)個(gè)人喜好進(jìn)行設(shè)置。
3、創(chuàng)建用戶和用戶組
[root@rhel6 ~]# groupadd dba
[root@rhel6 ~]# groupadd oinstall
[root@rhel6 ~]# useradd -g oinstall -G dba oracle
[root@rhel6 ~]# passwd oracle
創(chuàng)建oracle用戶時(shí),所屬組為oinstall和dba,并使用passwd oracle為oracle用戶設(shè)置密碼
4、新建安裝目錄
我們將oracle安裝在home/app/oracle下,需要在home下新建目錄
mkdir -p /home/app/oracle
mkdir -p /home/app/oraInventory (日志目錄)
5、設(shè)置目錄的所有權(quán)和權(quán)限
root@ubuntu:~# chmod -R 755 /home/app(權(quán)限)
root@ubuntu:~# chown -R oracle:oinstall /home/app/oracle (所有權(quán))
root@ubuntu:~# chown -R oracle:oinstall /home/app/oraInventory (所有權(quán))
6、配置oracle用戶環(huán)境變量
[oracle@linux02 ~]$ su oracle (切換到oracle用戶下)
[oracle@linux02 ~]$ vi .bash_profile
(.bash.profile是在/home/oracle下的是隱藏文件注意用ls –a 查看)
在其中添加以下的內(nèi)容
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/home/app/oracle; export ORACLE_BASE (對(duì)應(yīng)用戶創(chuàng)建的oracle目錄)
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:/bin:/usr/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
(ORACLE_SID的值可自己定,這里設(shè)為orcl,在后續(xù)安裝時(shí)的ORACLE_SID也應(yīng)設(shè)置為orcl:)
完成之后立刻是環(huán)境變量生效source .bash_profile
檢查環(huán)境變量是否生效 env |grep ORA

7、修改/etc/security/limits.conf文件
在文件【/etc/security/limits.conf】最后添加以下內(nèi)容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
8、修改/etc/pam.d/login文件
在文件【/etc/pam.d/login】最后添加以下內(nèi)容:
session required pam_limits.so
9、修改/etc/profile文件
在文件【/etc/profile】最后添加以下內(nèi)容:
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
10、防火墻設(shè)置
在文件【/etc/sysconfig/iptables】?jī)?nèi)增加以下內(nèi)容:
-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遠(yuǎn)程訪問(wèn)端口默認(rèn)是1521,OEM端口1158,若自定義新端口,請(qǐng)開放相應(yīng)端口。
(新開放端口的配置必須緊跟著放在端口22的配置后面)
重啟防火墻:[root@oracle sysconfig]# 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 ]
二、oracle軟件安裝
1、啟動(dòng)oracle安裝
找到解壓包后database里runInstaller選擇在終端中打開,待安裝文件檢查結(jié)束后出現(xiàn)圖形界面安裝:

2、配置安全更新
取消勾選,不接收安全更新,然后點(diǎn)擊【next】,彈出提示窗口,選擇【yes】:


3、選擇安裝選項(xiàng)
提供了3個(gè)安裝選項(xiàng):
創(chuàng)建和配置數(shù)據(jù)庫(kù)
僅安裝數(shù)據(jù)庫(kù)軟件
升級(jí)現(xiàn)有數(shù)據(jù)庫(kù)
這里我們選擇第一個(gè)【創(chuàng)建和配置數(shù)據(jù)庫(kù)】,然后點(diǎn)擊【next】:

4、選擇系統(tǒng)類
桌面類:如果要在筆記本或桌面類系統(tǒng)中安裝,則選擇此選項(xiàng),此選項(xiàng)包括啟動(dòng)數(shù)據(jù)庫(kù)并允許采用最低配置。
服務(wù)器類:如果要在服務(wù)器類系統(tǒng)中進(jìn)行安裝(如在生產(chǎn)數(shù)據(jù)中心內(nèi)部署Oracle時(shí)使用的內(nèi)容),則選擇此選項(xiàng),此選項(xiàng)允許使用更多高級(jí)配置選項(xiàng)。
為了能使用更多高級(jí)配置選項(xiàng),我們選擇【服務(wù)器類】,然后點(diǎn)擊【Next】:

5、節(jié)點(diǎn)選擇
單實(shí)例數(shù)據(jù)庫(kù)安裝
Real Application Clusters數(shù)據(jù)庫(kù)安裝
選擇【單實(shí)例數(shù)據(jù)庫(kù)安裝】,然后點(diǎn)擊【Next】:

6、選擇安裝類型
包含2個(gè)選項(xiàng):
典型安裝:使用基本配置執(zhí)行完整的Oracle Database安裝
高級(jí)安裝:可以選擇高級(jí)選項(xiàng),例如:為SYS、SYSMAN、SYSTEM和DBSNMP賬戶使用不同口令,選擇數(shù)據(jù)庫(kù)字符集,產(chǎn)品語(yǔ)言,自動(dòng)備份,定制安裝及備用存儲(chǔ)選項(xiàng)(例如自動(dòng)存儲(chǔ)管理)。
選擇【高級(jí)安裝】,然后點(diǎn)擊【Next】:

7、選擇產(chǎn)品語(yǔ)言
默認(rèn)已添加了【English】,在左側(cè)語(yǔ)言列表中找到簡(jiǎn)體中文【Simplified Chinese】這樣的話我們可以在window系統(tǒng)中遠(yuǎn)程訪問(wèn),并添加到右側(cè),然后點(diǎn)擊【Next】:

8、選擇數(shù)據(jù)庫(kù)版本
包含3個(gè)選項(xiàng):
企業(yè)版:具有可伸縮性、高性能、高可用性和安全功能的自行管理的數(shù)據(jù)庫(kù),能夠滿足大多數(shù)高標(biāo)準(zhǔn)的關(guān)鍵任務(wù)應(yīng)用程序的需求。
標(biāo)準(zhǔn)版:標(biāo)準(zhǔn)版是尋求低成本解決方案的工作組、部門和中小企業(yè)的理想選擇。
標(biāo)準(zhǔn)版1:標(biāo)準(zhǔn)版1是尋求低成本解決方案的工作組、部門和中小企業(yè)的理想選擇。
選擇【企業(yè)版】,然后點(diǎn)擊【Next】:

9、指定安裝目錄
設(shè)置Oracle基目錄為新建的目錄:/home/app/oracle,則軟件位置會(huì)自動(dòng)為:/home/app/oracle/product/11.2.0/dbhome_1,然后點(diǎn)擊【Next】:

10、創(chuàng)建產(chǎn)品清單
設(shè)置Oracle清單目錄新建的目錄:/home/app/ oraInventory,選擇組"oinstall",然后點(diǎn)擊【Next】:

11、選擇配置類型
包含2個(gè)選項(xiàng):
一般用途/事務(wù)處理:為一般用途或高事務(wù)處理量應(yīng)用而設(shè)計(jì)的啟動(dòng)數(shù)據(jù)庫(kù)。
數(shù)據(jù)倉(cāng)庫(kù):為數(shù)據(jù)倉(cāng)庫(kù)應(yīng)用程序而優(yōu)化的啟動(dòng)數(shù)據(jù)庫(kù)。
這里我選擇【一般用途/事務(wù)處理】,然后點(diǎn)擊【Next】:

12、制定數(shù)據(jù)庫(kù)標(biāo)識(shí)符
指定Oracel全局?jǐn)?shù)據(jù)庫(kù)名和服務(wù)標(biāo)識(shí)符為:orcl(在前面提到),然后點(diǎn)擊【Next】:

13、制定配置選項(xiàng)
在【內(nèi)存】頁(yè)中勾選【啟用自動(dòng)內(nèi)存管理】,在【字符集】頁(yè)中選擇【使用Unicode】,然后點(diǎn)擊【Next】:


14、制定管理選項(xiàng)
選擇【使用Database Control管理數(shù)據(jù)庫(kù)】,然后點(diǎn)擊【Next】:

15、指定數(shù)據(jù)庫(kù)存儲(chǔ)選項(xiàng)
選擇【文件系統(tǒng)】,并設(shè)置路徑為:/home/app/oracle/oradata,然后點(diǎn)擊【Next】:

16、指定恢復(fù)選項(xiàng)
選擇【不啟用自動(dòng)備份】,然后點(diǎn)擊【Next】:

17、指定方案口令
這里我選擇【對(duì)所有賬戶使用相同口令】,然后輸入密碼(rootadmin),當(dāng)然你也可以為不同用戶設(shè)置不同密碼。然后點(diǎn)擊【Next】:


18、特權(quán)操作系統(tǒng)組
設(shè)置數(shù)據(jù)庫(kù)管理員組為【dba】,數(shù)據(jù)庫(kù)操作者組為【oinstall】。然后點(diǎn)擊【Next】:

19、執(zhí)行先決條件檢查
若提示有程序包不存在,我們可以通過(guò)yum進(jìn)行安裝,然后點(diǎn)擊【Next】:

Package 包直接yum install 安裝 pdksh從網(wǎng)上down rpm包
20、概要
查看安裝概要,若無(wú)問(wèn)題,則可點(diǎn)擊【Finish】結(jié)束配置,開始進(jìn)行安裝:

21、軟件安裝及配置數(shù)據(jù)庫(kù)



22、運(yùn)行配置腳本
軟件及數(shù)據(jù)庫(kù)配置完成后,需要運(yùn)行配置腳本:

打開命令終端,切換到root用戶,并執(zhí)行腳本:
[root@oracle tmp]# /home/app/oraInventory/orainstRoot.sh

[root@oracle ~]# /home/app/oracle/product/11.2.0/dbhome_1/root.sh

/usr/local/bin

執(zhí)行完成后,切換到圖形安裝界面,點(diǎn)擊【OK】

這樣oracle數(shù)據(jù)庫(kù)就安裝完成了
三、配置優(yōu)化與測(cè)試(root)
1、修改/etc/oratab文件
root@oracle ~]# vi /etc/oratab
orcl:/home/app/oracle/product/11.2.0/dbhome_1:Y (將N改為Y)
2、修改dbstart和dbshut文件
進(jìn)入dbstart和dbshut所在的bin目錄
root@oracle ~]# cd /home/app/oracle/product/11.2.0/dbhome_1/bin/
[root@oracle bin]# vi dbstart
ORACLE_HOME_LISTNER=$ORACLE_HOME (將$1改為$ORACLE_HOME)
[root@oracle bin]# vi dbshut
ORACLE_HOME_LISTNER=$ORACLE_HOME (將$1改為$ORACLE_HOME)
3、建立啟動(dòng)腳本
在/etc/rc.d/init.d/目錄下新建一個(gè)oracle文件
在其中添加以下內(nèi)容:
#!/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
4、設(shè)置腳本權(quán)限
[root@oracle init.d]# chmod 755 oracle
5、建立oracle服務(wù)
[root@oracle ~]# chkconfig --add oracle
[root@oracle ~]# chkconfig oracle on
6、測(cè)試連接
[oracle@oracle ~]$ sqlplus "/as sysdba"
SQL*Plus: Release 11.2.0.1.0 Production on Tue Jan 5 16:49:24 2016
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
7、啟動(dòng)oem客戶端
[oracle@oracle ~]$ 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.
8、登錄Oracle企業(yè)管理器(OEM)
打開系統(tǒng)的FireFox瀏覽器,并輸入OEM的URL:https://oracle:1158/em,遠(yuǎn)程訪問(wèn)的話輸入的URL:https://192.168.100.197:1158/em輸入sys用戶和密碼(rootadmin),以SYSDBA身份登錄,登錄成功的頁(yè)面如下:

四、安裝過(guò)程中常見的問(wèn)題
yum源的配置
Redhat自身的源存在一些問(wèn)題,我安裝過(guò)程中使用的是163的源。
1、 確認(rèn)RedHat的版本
cat /etc/redhat-release或者uname -m
系統(tǒng):rhel-server-6.2-i386
2、 找到對(duì)應(yīng)的redhat6.2的源rpm包
把下面4個(gè)rpm文件wget下載下來(lái)備用
http://mirrors.163.com/centos/6/os/i386/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm
http://mirrors.163.com/centos/6/os/i386/Packages/yum-3.2.29-69.el6.centos.noarch.rpm
http://mirrors.163.com/centos/6/os/i386/Packages/yum-metadata-parser-1.1.2-16.el6.i686.rpm
http://mirrors.163.com/centos/6/os/i386/Packages/yum-plugin-fastestmirror-1.1.30-30.el6.noarch.rpm
3、 卸載自帶的yum
rpm -aq|grep yum|xargs rpm -e --nodeps
4、 按照下面的順序安裝rpm包
rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm
rpm -ivh yum-metadata-parser-1.1.2-16.el6.i686.rpm
rpm -ivh yum-3.2.29-40.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm
(最后兩個(gè)安裝包要放在一起同時(shí)安裝,否則會(huì)提示相互依賴,安裝失敗)
5、 添加163的yum源
# cd /etc/yum.repos.d/
# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
# vi CentOS6-Base-163.repo
編輯文件,把文件中的$releasever全部替換成redhat的版本號(hào)也就是6最后保存。
6、 導(dǎo)入key
# rpm --import http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6
7、 清理yum緩存
# yum clean all
# yum makecache #將服務(wù)器上的軟件包信息緩存到本地,以提高搜索安裝軟件的速度
# yum install vim* #測(cè)試yum是否可用
至此,Redhat6可以使用CentOS的yum源在線安裝軟件了!
需要安裝的依賴包
在安裝oracle的過(guò)程中會(huì)check,我們發(fā)現(xiàn)會(huì)少一些依賴包我們可以通過(guò)yum install進(jìn)行安裝
compat-libstdc++-33-3.2.3-69.el6.i686
elfutils-libelf-devel-0.161-3.el6.i686
gcc-c++-4.4.7-16.el6.i686
libstdc++-devel-4.4.7-16.el6.i686
libaio-devel-0.3.107-10.el6.i686
unixODBC-2.2.14-14.el6.i686
unixODBC-devel-2.2.14-14.el6.i686
pdksh-5.2.14
Swap 空間不夠問(wèn)題
1、用dd指令建了一個(gè)swapfile;
[root@oracle image]# dd if=/dev/zero of=/tmp/swap bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 32.223 s, 33.3 MB/s
2、用mkswap將swapfile格式化為swap文件格式
[root@oracle image]# mkswap /tmp/swap
mkswap: /tmp/swap: warning: don't erase bootbits sectors
on whole disk. Use -f to force.
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=4ae3030b-bedc-45c5-84e5-6193af42e7a3
3、用swapon啟動(dòng)該文件
[root@oracle image]# swapon /tmp/swap
[root@oracle image]# free -m
total used free shared buffers cached
Mem: 2022 1967 54 0 29 1680
-/+ buffers/cache: 258 1764
Swap: 3039 0 3039
bash:sqlplus:command not found 的問(wèn)題
1、 檢查.base_profile中PATH是否配置正確
2、 切換到root給sqlplus建立一個(gè)索引
root登陸之后切換到oracle用戶上,輸入
su oracle
第二步:連接
在oracle用戶下,輸入
sqlplus /nolog
第三步:使用管理員權(quán)限
輸入
connect /as sysdba
第四步:?jiǎn)?dòng)/關(guān)閉服務(wù)
輸入
startup
關(guān)閉
Shutdown
監(jiān)聽器
lsnrctl start 啟動(dòng)
lsnrctl stop 關(guān)閉
lsnrctl status 狀態(tài)
[root@oracle ~]# ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
Oralce數(shù)據(jù)庫(kù)的啟動(dòng)
新聞熱點(diǎn)
疑難解答
圖片精選