1. 程式人生 > >CentOS 6.10 上安裝oracle10g(64位)

CentOS 6.10 上安裝oracle10g(64位)

作業系統:CentOS release 6.10 (Final) 64位 oracle版本:ORA10g_Linux_64.ISO 一、下載必須安裝包: # yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat # yum install libXp # yum -y install libXp.i686 # yum -y install libXt.i686 # yum -y install libXtst.i686

二、 修改 sysctl.conf 配置檔案: # vi /etc/sysctl.conf

#kernel.shmall = 2097152 #kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 4194304 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 262144 立即執行修改: # sysctl -p

三、 修改 limits.conf 配置檔案 # vi /etc/security/limits.conf oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536

四、 建立相應的使用者名稱和使用者組,複製安裝檔案:

複製安裝檔案到/home/oracle目錄下 mount -o loop ORA10g_Linux_64.ISO /media/cdrom/ # mkdir /home/oracle/inst # cp -R /media/cdrom/* /home/oracle/inst/ # umount /media/cdrom #修改oracle目錄的屬主 # chown -R oracle:dba /home/oracle

五、 修改 /etc/profile 限制其他使用者使用:

# 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 fi

六、修改Linux 發行版本. # vim /etc/redhat-release 註釋第一行,增加 redhat-4

七、 配置Oracle使用者環境變數: su - oracle #vi .bash_profile 新增以下內容: TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR   export ORACLE_BASE=/home/oracle export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1 export TNS_ADMIN=$ORACLE_HOME/network/admin export ORACLE_SID=YKSJ export ORACLE_TERM=xterm export PATH=$PATH:$ORACLE_HOME/bin   export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

#export NLS_LANG=american_america.ZHS16GBK #export LANGUAGE=zh_CN.GN2312:zh_CN #export LANG=zh_CN.GB18030

八、 使配置生效 # source /home/oracle/.bash_profile

九、編輯安裝需要的應答檔案 vi  enterprise.rsp

修改以下這些專案的值

ORACLE_HOME=/home/oracle/product/10.2.0/db_1 #用於描述 ORACLE_HOME 的名字 ORACLE_HOME_NAME="XXXXHome" COMPONENT_LANGUAGES={"zh_CN"} #安裝型別,企業版 INSTALL_TYPE="EE" #dba的使用者組 s_nameForDBAGrp=dba #operator 的使用者組 s_nameForOPERGrp=dba #安裝型別配置,3為只安裝伺服器軟體 n_configurationOption=3

開始安裝 ./runInstaller -ignoreSysPrereqs -silent -responseFile .../enterprise.rsp

Oracle Database 10g 的 安裝 已成功。 請檢視 '/home/oracle/oraInventory/logs/silentInstall2018-09-27_11-16-11AM.log' 以獲取詳細資料。

Oracle系統初始化 root  使用者登陸,執行$ORACLE_HOME/root.sh (/home/oracle/product/10.2.0/db_1/root.sh)

十、安裝監聽 防火牆配置 iptables -I INPUT 1 -p tcp -i lo  --dport 1521 -j ACCEPT iptables -I OUTPUT 1 -p tcp -o lo  --sport 1521 -j ACCEPT service iptables save

root 使用者修改  /etc/hosts  檔案,新增 

127.0.0.1 localhost

x.x.x.x    主機名

vi  netca.rsp SHOW_GUI=false 修改 LOG_FILE=

執行 $ORACLE_HOME/bin/netca  /silent  /responseFile <netca.rsp>

監聽程式控制完成。 監聽程式已成功啟動。 監聽程式配置完成。 預設本地命名配置完成。 成功完成 Oracle Net Services 配置。退出程式碼是0 ,安裝需要好幾分鐘。

修改dbstart vi $ORACLE_HOME/bin/dbstart ORACLE_HOME_LISTNER=$ORACLE_HOME #(/home/oracle/product/10.2.0/db_1)

十一、安裝資料庫例項 #cat /etc/group |grep dba dba:x:501: #vi /etc/sysctl.conf 新增 vm.hugetlb_shm_group = 501 sysctl -p

編輯Oracle安裝目錄裡response子目錄下的dbca.rsp檔案 GDBNAME="SID" SID="SID" SYSPASSWORD="password" SYSTEMPASSWORD="password" CHARACTERSET="ZHS16GBK" NATIONLCHARACTERSET="UTF8" TEMPLATENAME = "General_Purpose.dbc" MEMORYPERCENTAGE = "40"  

$ORACLE_HOME/bin/dbca -silent -responseFile <dbca.rsp> 100% 已完成 有關詳細資訊, 請參閱日誌檔案 "/home/oracle/product/10.2.0/db_1/cfgtoollogs/dbca/xxxx/xxxx1.log"。

切換root執行 # $ORACLE_BASE/oraInventory/orainstRoot.sh 如果檔案不存在的話,自己建立一個 #vi $ORACLE_BASE/oraInventory/orainstRoot.sh #!/bin/sh if [ -d "/etc" ]; then chmod 755 /etc; fi if [ -f "/home/oracle/oraInventory/oraInst.loc" ]; then cp /home/oracle/oraInventory/oraInst.loc /etc/oraInst.loc; else INVPTR=/etc/oraInst.loc INVLOC=/home/oracle/oraInventory GRP=dba PTRDIR="`dirname $INVPTR`"; # 建立軟體產品清單位置指標檔案 if [ ! -d "$PTRDIR" ]; then  mkdir -p $PTRDIR; fi echo "建立 Oracle 產品清單指標檔案($INVPTR)"; echo    inventory_loc=$INVLOC > $INVPTR echo    inst_group=$GRP >> $INVPTR chmod 644 $INVPTR # 如果產品清單目錄不存在, 建立產品清單目錄 if [ ! -d "$INVLOC" ];then  echo "建立 Oracle 產品清單目錄($INVLOC)";  mkdir -p $INVLOC; fi fi echo "更改許可權/home/oracle/oraInventory 到 770."; chmod -R 770 /home/oracle/oraInventory; if [ $? != 0 ]; then  echo "OUI-35086: 警告: chmod/home/oracle/oraInventory 到 770 失敗!"; fi echo "更改組名/home/oracle/oraInventory 到 dba."; chgrp dba /home/oracle/oraInventory; if [ $? != 0 ]; then  echo "OUI-10057: 警告: chgrp of/home/oracle/oraInventory 到 dba 失敗!"; fi echo "指令碼的執行已完成"

使資料庫例項能夠自動啟動

十二、開機自動執行 vi /etc/oratab SID:/home/oracle/product/10.2.0/db_1:Y

vi /etc/rc.d/rc.local su - oracle -c "/home/oracle/product/10.2.0/db_1/bin/dbstart start" su - oracle -c "/home/oracle/product/10.2.0/db_1/bin/lsnrctl start"

十三、重啟伺服器,檢視啟動結果

tail  /home/oracle/product/10.2.0/db_1/startup.log