oracle 10g
一、安裝系統(tǒng)
首先安裝Linux系統(tǒng),根據(jù)Oracle官方文檔的建議,在機(jī)器內(nèi)存小于1G的情況下,swap分區(qū)大小應(yīng)該設(shè)置為內(nèi)存的2倍大,若內(nèi)存大于2G則swap分區(qū)設(shè)置為與內(nèi)存大小一樣。
為防止Oracle安裝過程中出現(xiàn)亂碼,建議使用英文作為系統(tǒng)語言,進(jìn)行Oracle的安裝工作
二、安裝Oracle前的系統(tǒng)準(zhǔn)備工作
1.檢查需要的軟件包
可以使用rpm -qa|grep 軟件包關(guān)鍵詞命令進(jìn)行檢測,一般情況下會需要手動安裝如下的軟件包:
? From RedHat AS5 Disk 1(32 Bit)
? # rpm -Uvh setarch-2*?
? # rpm -Uvh make-3*?
? # rpm -Uvh glibc-2*?
? # rpm -Uvh libaio-0*
? From RedHat AS5 Disk 2(32 Bit)
? # rpm -Uvh compat-libstdc -33-3*?
? # rpm -Uvh compat-gcc-34-3*?
? # rpm -Uvh compat-gcc-34-c -3*?
? # rpm -Uvh gcc-4*?
? # rpm -Uvh libXp-1*
? From RedHat AS5 Disk 3(32 Bit)
? # rpm -Uvh openmotif-2*?
? # rpm -Uvh compat-db-4*
?
[將上面的換成如下:]
在CentOS 6.4 64位系統(tǒng)上安裝Oracle 10g
?
確認(rèn)你的操作系統(tǒng)是34位還是64位,本教程只支持64位安裝!!
命令:$getconf LONG_BIT
A.??????初始化網(wǎng)絡(luò)
1.?設(shè)置網(wǎng)絡(luò)參數(shù)
編輯/etc/sysconfig/network-scripts/ifcfg-eth0,初始化網(wǎng)絡(luò)參數(shù)(根據(jù)實際情況編輯)。
?
編輯/etc/hosts,加入主機(jī)名和IP(主機(jī)名用hostname或者uname –n 命令查看,兩條命令的結(jié)果必須相同)
?
2.?設(shè)置系統(tǒng)服務(wù)
禁用一些不必要的系統(tǒng)服務(wù)
| chkconfig iptables off chkconfig ip6tables off chkconfig cups off chkconfig firstboot off chkconfig wpa_supplicant off chkconfig postfix off |
?
3.?安裝常用軟件及必需軟件
安裝kernel-devel和kernel-headers,并且在更新系統(tǒng)時,禁止更新kernel:
| yum -y install kernel-devel kernel-headers && echo exclude=kernel* >> /etc/yum.conf |
更新系統(tǒng):
| yum -y update |
安裝常用軟件:
| yum -y install autoconf automake binutils-devel bison cpp dos2unix ftp gcc gcc-c++ lrzsz python-devel |
安裝Oracle必需軟件:
| yum -y install compat-db compat-gcc-34 compat-gcc-34-c++ compat-libstdc++-33 glibc-* glibc-*.i686 libXpm-*.i686 libXp.so.6 libXt.so.6 libXtst.so.6 libgcc_s.so.1 ksh libXp libaio-devel numactl numactl-devel unixODBC unixODBC-devel |
如果使用DVD安裝介質(zhì)的話,會很方便。
2.修改Linux發(fā)行版本信息
由于Oracle 10g發(fā)行的時候,RedHat Enterprise Linux 5沒有發(fā)行,所以O(shè)racle 10g并沒有對RedHat Enterprise Linux 5確認(rèn)支持,我們有兩種方法可以讓Oracle 10g支持RedHat Enterprise Linux 5。
方法一:
我們需要手工修改Linux的發(fā)行注記,讓Oracle 10g支持RedHat Enterprise Linux 5。
編輯/etc/redhat-release文件
# vi /etc/redhat-release
將其中的內(nèi)容Red Hat Enterprise Linux Server release 5 (Tikanga)修改為Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
方法二:
還有文章說修改Oracle安裝包中install/oraparam.ini文件的內(nèi)容,也可以讓Oracle 10g支持RedHat Enterprise Linux 5,修改方法如下:
# vi install/oraparam.ini
在其中的Certified Versions段落增加redhat-5
#[Certified Versions]?
Linux=redhat-3,SuSE-9,redhat-4,redhat-5,UnitedLinux-1.0,asianux-1,asianux-2]
再添加?
[Linux-redhat-5.0-optional]?
TEMP_SPACE=80?
SWAP_SPACE=150?
MIN_DISPLAY_COLORS=256
經(jīng)我測試,發(fā)現(xiàn)方法二在安裝之前的系統(tǒng)檢測過程可以通過,但是在安裝過程中的系統(tǒng)支持檢測無法通過,不知道是不是我設(shè)置的有問題,希望有高手可以給我點提示。
3.修改系統(tǒng)內(nèi)核參數(shù)
# vi /etc/sysctl.conf
kernel.shmall = 2097152??????????????????? //? 該參數(shù)表示系統(tǒng)一次可以使用的共享內(nèi)存總量(以頁為單位)。缺省值就是2097152,通常不需要修改kernel.shmmax = 2147483648??????????? //? 該參數(shù)定義了共享內(nèi)存段的最大尺寸(以字節(jié)為單位)。缺省為32M,對于oracle來說,該缺省值太低了,通常將其設(shè)置為2G?
kernel.shmmni = 4096?????????????????????? //? 這個內(nèi)核參數(shù)用于設(shè)置系統(tǒng)范圍內(nèi)共享內(nèi)存段的最大數(shù)量。該參數(shù)的默認(rèn)值是 4096 。通常不需要更改?
kernel.sem = 250 32000 100 128??????? //? 表示設(shè)置的信號量?
fs.file-max = 65536??????????????????????????? //? 表示文件句柄的最大數(shù)量。文件句柄設(shè)置表示在linux系統(tǒng)中可以打開的文件數(shù)量?
net.ipv4.ip_local_port_range = 1024 65000?
net.core.rmem_default=262144??????? //? 默認(rèn)的接收窗口大小?
net.core.rmem_max=262144???????????? //? 接收窗口的最大大小?
net.core.wmem_default=262144????? //? 默認(rèn)的發(fā)送窗口大小?
net.core.wmem_max=262144?????????? //? 發(fā)送窗口的最大大小
修改好內(nèi)核參數(shù)后,執(zhí)行如下命令使新的設(shè)置生效
# /sbin/sysctl -p
4.創(chuàng)建Oracle用戶、組、安裝目錄
在這里我只討論單主機(jī)環(huán)境,不考慮RAC環(huán)境的配置,在以后我會專門寫一篇如何配置Oracle RAC環(huán)境的文章。
(1) 創(chuàng)建Oracle用戶組
# groupadd oinstall?
# groupadd dba
(2) 創(chuàng)建Oracle用戶
# useradd -m -g oinstall -G dba oracle
(3) 設(shè)置Oracle用戶口令
# passwd oracle
(4) 創(chuàng)建Oracle安裝目錄以及數(shù)據(jù)存放目錄
# mkdir -p /DBSoftware/app/oracle?
# mkdir -p /DBData/oradata
(5) 修改目錄權(quán)限
# chown -R oracle:oinstall /DBSoftware/app/oracle/ /DBData/oradata/?
# chmod -R 755 /DBSoftware/app/oracle/ /DBData/oradata/
5.添加以下內(nèi)容到/etc/security/limits.conf
# vi /etc/security/limits.conf
oracle soft nproc 2047?
oracle hard nproc 16384?
oracle soft nofile 1024?
oracle hard nofile 65536
6.添加以下內(nèi)容到/etc/pam.d/login
# vi /etc/pam.d/login
session required /lib/security/pam_limits.so?
session required pam_limits.so
7.添加以下內(nèi)容到/etc/profile
# vi /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
8.配置Linux主機(jī)
檢查/etc/hosts文件中是否有l(wèi)ocalhost的記錄(指向127.0.0.1即可),若沒有的話,在后面配置Oracle監(jiān)聽的時候會出現(xiàn)一些問題,導(dǎo)致無法啟動監(jiān)聽,在此手工添加此記錄即可。
9.配置oracle用戶環(huán)境變量
# su - oracle?
$ vi ~/.bash_profile
增加如下內(nèi)容:
export ORACLE_BASE=/DBSoftware/app/oracle?? // 上面創(chuàng)建的Oracle安裝文件夾?
export ORACLE_SID=orcl?
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin?
export LD_LIBARY_PATH=$ORACLE_HOME/lib
export PATH?
umask 022
保存后使用如下命令,使設(shè)置生效:
$ source ~/.bash_profile
三、安裝Oracle,并進(jìn)行相關(guān)設(shè)置
1.解壓縮安裝文件
Oracle的安裝包有這樣幾種格式:
(1) zip????? 10201_database_linux32.zip
這種格式最好解壓縮,直接使用命令unzip 文件名即可
(2) cpio.gz
這種格式有這樣幾種解壓縮方式
a.? # zcat XXXX.cpio.gz | cpio -idmv?
b.? # gunzip XXXX.cpio.gz解壓出XXXX.cpio文件然后再 # cpio -idvm < XXXX.cpio
解壓縮完成后,設(shè)置oracle帳戶可以操作安裝文件所在的目錄
chown -R oracle:oinstall 安裝文件所在目錄
2. 用oracle帳戶進(jìn)入安裝文件所在目錄,執(zhí)行如下命令即可看到安裝界面:
$ ./runInstaller
如果無法看到安裝界面,請使用root帳戶執(zhí)行如下命令后再運(yùn)行安裝程序:
# export DISPLAY=:0.0?
# xhost +?
$ ./runInstaller
出現(xiàn)安裝界面后,根據(jù)界面提示進(jìn)行相關(guān)的設(shè)置,我的建議是在安裝過程中不創(chuàng)建數(shù)據(jù)庫,只安裝程序,監(jiān)聽和創(chuàng)建數(shù)據(jù)庫等安裝完成后再進(jìn)行相關(guān)的操作。
安裝過程中,需要使用root權(quán)限執(zhí)行兩個腳本。
3. 安裝完成后,將/etc/redhat-release文件中的內(nèi)容修改回Red Hat Enterprise Linux Server release 5 (Tikanga)
4.創(chuàng)建監(jiān)聽以及創(chuàng)建數(shù)據(jù)庫
(1) 創(chuàng)建監(jiān)聽程序
使用Oracle提供的NET CONFIGURATION ASSISTANT創(chuàng)建TNS監(jiān)聽
$ netca
基本上就是一直Next就可以了,當(dāng)然你也可以在這期間修改TNS的監(jiān)聽端口號
TNS監(jiān)聽創(chuàng)建完成后可以使用如下命令進(jìn)行檢查:
# netstat -atln??? 檢查監(jiān)聽端口是否打開?
$ lsnrctl status??? 檢查TNS監(jiān)聽狀態(tài)
確認(rèn)監(jiān)聽已經(jīng)成功啟動后,即可執(zhí)行Database Configure Assistant進(jìn)行數(shù)據(jù)庫的創(chuàng)建,執(zhí)行命令如下:
$ dbca
在創(chuàng)建數(shù)據(jù)庫的過程中,建議將數(shù)據(jù)庫的字符集設(shè)置為Unicode UTF-8,防止出現(xiàn)亂碼。
四、數(shù)據(jù)庫的啟動腳本(轉(zhuǎn)載自[url]http://82584.blog.51cto.com/72584/110131[/url])
# vi /etc/rc.d/init.d/oracle
================================ Script File Start ================================?
?
#!/bin/bash?
#?
# chkconfig: 35 95 1?
# description: init script to start/stop oracle database 10g, TNS listener, EMS?
# match these values to your environment:
export ORACLE_BASE=/DBSoftware/app/oracle?
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export PATH=/u01/app/oracle/bin:$ORACLE_HOME/bin:$PATH?
export ORACLE_SID=orcl?
export ORACLE_USER=oracle
# see how we are called:?
case $1 in?
??? start)?
??????? su - "$ORACLE_USER"<<EOO?
??????? lsnrctl start?
??????? sqlplus /nolog<<EOS?
??????? connect / as sysdba?
??????? startup?
??? EOS?
??? emctl start dbconsole?
??? EOO?
??? touch /var/lock/subsys/$scriptname?
??? ;;?
??? stop)?
??????? su - "$ORACLE_USER"<<EOO?
??????? lsnrctl stop?
??????? sqlplus /nolog<<EOS?
??????? connect / as sysdba?
??????? shutdown immediate?
??? EOS?
??? emctl stop dbconsole?
??? EOO?
??? rm -f /var/lock/subsys/scriptname?
??? ;;?
*)?
echo "Usage: $0 {start|stop}"?
;;?
esac
================================ Script File End ================================
授權(quán) :chown root.root /etc/rc.d/init.d/oracle
修改文件屬性:chmod 755 /etc/rc.d/init.d/oracle
以后啟動/關(guān)閉Oracle可以使用如下命令操作:
# service oracle start???? //? 啟動監(jiān)聽、數(shù)據(jù)庫以及em?
# service oracle stop????? //? 關(guān)閉監(jiān)聽、數(shù)據(jù)庫以及em
當(dāng)然你也可以把Oracle作為系統(tǒng)服務(wù),隨系統(tǒng)啟動等等。
總結(jié)
以上是生活随笔為你收集整理的oracle 10g的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Annotations
- 下一篇: 3.数据类型