一、配置系統參數
在安裝oracle前我們需要對用到的系統參數進行配置
1、修改系統內核參數
修改sysctl.conf文件
在文件/etc/sysctl.conf中添加以下內容:
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 的值是物理內存的一半。 如果服務器是4G內存,那么他的值是2147483648
參數說明: 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端口范圍
修改完成之后使內核參數生效
sysctl –p輸出:
2、修改hosts文件
在/etc/hosts下添加以下的內容
192.168.100.197 oracle oracle.localdomain rhel6.localdomain
必須將主機名對應到主機真實ip192.168.100.197地址,否則oracle有可能將監聽程序僅僅建立在127.0.0.1上。主機名可根據個人喜好進行設置。
3、創建用戶和用戶組
[root@rhel6 ~]# groupadd dba
[root@rhel6 ~]# groupadd oinstall
[root@rhel6 ~]# useradd -g oinstall -G dba oracle
[root@rhel6 ~]# passwd oracle
創建oracle用戶時,所屬組為oinstall和dba,并使用passwd oracle為oracle用戶設置密碼
4、新建安裝目錄
我們將oracle安裝在home/app/oracle下,需要在home下新建目錄
mkdir -p /home/app/oracle
mkdir -p /home/app/oraInventory (日志目錄)
5、設置目錄的所有權和權限
root@ubuntu:~# chmod -R 755 /home/app(權限)
root@ubuntu:~# chown -R oracle:oinstall /home/app/oracle (所有權)
root@ubuntu:~# chown -R oracle:oinstall /home/app/oraInventory (所有權)
6、配置oracle用戶環境變量
[oracle@linux02 ~]$ su oracle (切換到oracle用戶下)
[oracle@linux02 ~]$ vi .bash_profile
(.bash.profile是在/home/oracle下的是隱藏文件注意用ls –a 查看)
在其中添加以下的內容
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/home/app/oracle; export ORACLE_BASE (對應用戶創建的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的值可自己定,這里設為orcl,在后續安裝時的ORACLE_SID也應設置為orcl:)
完成之后立刻是環境變量生效source .bash_profile
檢查環境變量是否生效 env |grep ORA
7、修改/etc/security/limits.conf文件
在文件【/etc/security/limits.conf】最后添加以下內容:
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】最后添加以下內容:
session required pam_limits.so
9、修改/etc/profile文件
在文件【/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
10、防火墻設置
在文件【/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的配置后面)
重啟防火墻:[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、啟動oracle安裝
找到解壓包后database里runInstaller選擇在終端中打開,待安裝文件檢查結束后出現圖形界面安裝:
2、配置安全更新
取消勾選,不接收安全更新,然后點擊【next】,彈出提示窗口,選擇【yes】:
3、選擇安裝選項
提供了3個安裝選項:
創建和配置數據庫
僅安裝數據庫軟件
升級現有數據庫
這里我們選擇第一個【創建和配置數據庫】,然后點擊【next】:
4、選擇系統類
桌面類:如果要在筆記本或桌面類系統中安裝,則選擇此選項,此選項包括啟動數據庫并允許采用最低配置。
服務器類:如果要在服務器類系統中進行安裝(如在生產數據中心內部署Oracle時使用的內容),則選擇此選項,此選項允許使用更多高級配置選項。
為了能使用更多高級配置選項,我們選擇【服務器類】,然后點擊【Next】:
5、節點選擇
單實例數據庫安裝
Real Application Clusters數據庫安裝
選擇【單實例數據庫安裝】,然后點擊【Next】:
6、選擇安裝類型
包含2個選項:
典型安裝:使用基本配置執行完整的Oracle Database安裝
高級安裝:可以選擇高級選項,例如:為SYS、SYSMAN、SYSTEM和DBSNMP賬戶使用不同口令,選擇數據庫字符集,產品語言,自動備份,定制安裝及備用存儲選項(例如自動存儲管理)。
選擇【高級安裝】,然后點擊【Next】:
7、選擇產品語言
默認已添加了【English】,在左側語言列表中找到簡體中文【Simplified Chinese】這樣的話我們可以在window系統中遠程訪問,并添加到右側,然后點擊【Next】:
8、選擇數據庫版本
包含3個選項:
企業版:具有可伸縮性、高性能、高可用性和安全功能的自行管理的數據庫,能夠滿足大多數高標準的關鍵任務應用程序的需求。
標準版:標準版是尋求低成本解決方案的工作組、部門和中小企業的理想選擇。
標準版1:標準版1是尋求低成本解決方案的工作組、部門和中小企業的理想選擇。
選擇【企業版】,然后點擊【Next】:
9、指定安裝目錄
設置Oracle基目錄為新建的目錄:/home/app/oracle,則軟件位置會自動為:/home/app/oracle/product/11.2.0/dbhome_1,然后點擊【Next】:
10、創建產品清單
設置Oracle清單目錄新建的目錄:/home/app/ oraInventory,選擇組"oinstall",然后點擊【Next】:
11、選擇配置類型
包含2個選項:
一般用途/事務處理:為一般用途或高事務處理量應用而設計的啟動數據庫。
數據倉庫:為數據倉庫應用程序而優化的啟動數據庫。
這里我選擇【一般用途/事務處理】,然后點擊【Next】:
12、制定數據庫標識符
指定Oracel全局數據庫名和服務標識符為:orcl(在前面提到),然后點擊【Next】:
13、制定配置選項
在【內存】頁中勾選【啟用自動內存管理】,在【字符集】頁中選擇【使用Unicode】,然后點擊【Next】:
14、制定管理選項
選擇【使用Database Control管理數據庫】,然后點擊【Next】:
15、指定數據庫存儲選項
選擇【文件系統】,并設置路徑為:/home/app/oracle/oradata,然后點擊【Next】:
16、指定恢復選項
選擇【不啟用自動備份】,然后點擊【Next】:
17、指定方案口令
這里我選擇【對所有賬戶使用相同口令】,然后輸入密碼(rootadmin),當然你也可以為不同用戶設置不同密碼。然后點擊【Next】:
18、特權操作系統組
設置數據庫管理員組為【dba】,數據庫操作者組為【oinstall】。然后點擊【Next】:
19、執行先決條件檢查
若提示有程序包不存在,我們可以通過yum進行安裝,然后點擊【Next】:
Package 包直接yum install 安裝 pdksh從網上down rpm包
20、概要
查看安裝概要,若無問題,則可點擊【Finish】結束配置,開始進行安裝:
21、軟件安裝及配置數據庫
22、運行配置腳本
軟件及數據庫配置完成后,需要運行配置腳本:
打開命令終端,切換到root用戶,并執行腳本:
[root@oracle tmp]# /home/app/oraInventory/orainstRoot.sh
[root@oracle ~]# /home/app/oracle/product/11.2.0/dbhome_1/root.sh
/usr/local/bin
執行完成后,切換到圖形安裝界面,點擊【OK】
這樣oracle數據庫就安裝完成了
三、配置優化與測試(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文件
進入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、建立啟動腳本
在/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
4、設置腳本權限
[root@oracle init.d]# chmod 755 oracle
5、建立oracle服務
[root@oracle ~]# chkconfig --add oracle
[root@oracle ~]# chkconfig oracle on
6、測試連接
[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、啟動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企業管理器(OEM)
打開系統的FireFox瀏覽器,并輸入OEM的URL:https://oracle:1158/em,遠程訪問的話輸入的URL:https://192.168.100.197:1158/em輸入sys用戶和密碼(rootadmin),以SYSDBA身份登錄,登錄成功的頁面如下:
四、安裝過程中常見的問題
yum源的配置
Redhat自身的源存在一些問題,我安裝過程中使用的是163的源。
1、 確認RedHat的版本
cat /etc/redhat-release或者uname -m
系統:rhel-server-6.2-i386
2、 找到對應的redhat6.2的源rpm包
把下面4個rpm文件wget下載下來備用
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
(最后兩個安裝包要放在一起同時安裝,否則會提示相互依賴,安裝失敗)
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的版本號也就是6最后保存。
6、 導入key
# rpm --import http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6
7、 清理yum緩存
# yum clean all
# yum makecache #將服務器上的軟件包信息緩存到本地,以提高搜索安裝軟件的速度
# yum install vim* #測試yum是否可用
至此,Redhat6可以使用CentOS的yum源在線安裝軟件了!
需要安裝的依賴包
在安裝oracle的過程中會check,我們發現會少一些依賴包我們可以通過yum install進行安裝
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 空間不夠問題
1、用dd指令建了一個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啟動該文件
[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 的問題
1、 檢查.base_profile中PATH是否配置正確
2、 切換到root給sqlplus建立一個索引
root登陸之后切換到oracle用戶上,輸入
su oracle
第二步:連接
在oracle用戶下,輸入
sqlplus /nolog
第三步:使用管理員權限
輸入
connect /as sysdba
第四步:啟動/關閉服務
輸入
startup
關閉
Shutdown
監聽器
lsnrctl start 啟動
lsnrctl stop 關閉
lsnrctl status 狀態
[root@oracle ~]# ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
Oralce數據庫的啟動
新聞熱點
疑難解答