Linux下Oracle數據庫的搭建(新手)

最近由於需要安裝了幾臺服務器 ,由於網上找不到一些過程中遇到的問題,所以把解決方法寫出來吧 !


首先安裝數據庫服務器  如題裝的是Oracle
 
  系統環境是Redhat 6.5 x86 64位虛擬化服務器
 
  首先 要確定需要安裝 的版本  我們要求的是11g  最新的是12c

  硬件要求

   物理內存至少2G

查看命令:

grep MemTotal /proc/meminfo


   交換分區:至少1G,最好是物理內存的2

查看命令:

grep SwapTotal /proc/meminfo


   硬盤空閒區至少4G

查看命令:df -k

  然後 是系統的支持庫 也就是安裝所需包。
  

  • make3.8+

  • binutils-2.15.92+

  • gcc-3.4.6+

  • libaio-0.3+

  • glibc-2.3.4+

  • compat-libstdc++33+

  • elfutils-libelf-0.97+

  • elfutils-libelf-devel-0.97+

  • gilbc-common-2.3+

  • glibc-devel-2.3+

  • glibc-headers-2.3.4

  • gcc-c++3.4

  • libaio-devel-0.3+

  • libgcc-3.4+

  • libstdc++3.4+

  • libstdc++-devel3.4+

  • sysstat-5.0.5+

  • unixODBC2.2.11+

  • unixODBC-devel2.2.11+

  • pdksh-5.2.1.4

  • expat-1.95.7+


後面是系統內核參數

vi 
/etc/sysctl.conf

添加或修改如下的行

本人實際配置環境中,紅色部分是需要修改行,藍色部分爲添加行。

kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144


         查看當前內核參數的值


/sbin/sysctl -p

    
                修改/etc/host.conf

            

增加下面內容,如果沒有oracle 的監聽器無法啓動

        

7.0.0.1 localhost

                爲了提高在linux系統上運行軟件的性能,必須對oracle用戶設置下列shell 限定。
打開文件數和進程數的限制,
加入下面的行到文件/etc/security/limits.conf

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

加入下面的行到文件/etc/pam.d/login

session required /lib/security/pam_limits.so

創建安裝oracle 所需的組和用戶
        以下操作需要使用root賬戶創建。
創建oinstall用戶組

groupadd ointall


創建dba用戶組

groupadd dba


創建oracle用戶

useradd –g oinstall –G dba oracle


初始化oracle用戶密碼

passwd oracle

創建Oracle安裝目錄
    本示例中,Oracle安裝路徑爲:/home/Oracle/product/11.2.0/dbhome
    創建oracle安裝目錄

mkdir –p /home/Oracle/product/11.2.0/dbhome

修改目錄所屬用戶爲oracle用戶

chown –R oracle:oinstall /oracle


修改目錄權限

chmod –R 755 /oracle

設置oracle用戶環境變量
    注意以下命令爲,必需以oracle用戶身分登錄:

su – oracle


修改/home/oracle/.bash_profile文件,添加以下行

export ORACLE_BASE=/home/Oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome
export ORACLE_SID=orcl(實際數據庫實例名)
export PATH=$ORACLE_HOME/bin:$PATH


檢查設置的環境變量

echo $ORACLE_HOME
echo $ORACLE_BASE
echo $ORACLE_SID

用oracle用戶運行runInstaller 安裝

配置oracle爲自啓動服務

以下操作使用root用戶,

1.1 vi /etc/rc.d/init.d/oracle,複製以下內容:

#!/bin/bash

# chkconfig: 2345 66 36

# /etc/rc.d/init.d/oracle

# description: starts the oracle database

#

ORA_HOME=/oracle/product/10.2/db_1

ORA_OWNER=oracle

case "$1" in

  start)

        echo -n "Starting Oracle Databases: "

        echo "---------------------------------------------------------------------------------" >> /var/log/oracle

        date +"! %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle

        echo "---------------------------------------------------------------------------------" >> /var/log/oracle

        su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" >> /var/log/oracle

        echo "Done."

        echo -n "Starting Oracle Listeners: "

        su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >> /var/log/oracle

        echo "Done."

        echo ""

        echo "---------------------------------------------------------------------------------" >> /var/log/oracle

        date +"! %T %a %D : Finished." >> /var/log/oracle

        echo "---------------------------------------------------------------------------------" >> /var/log/oracle

        touch /var/lock/subsys/oracle

        ;;

  stop)

        echo -n "Shutting Down Oracle Listeners: "

        echo "---------------------------------------------------------------------------------" >> /var/log/oracle

        date +"! %T %a %D : Shutting Down Oracle Databases as part of system down." >> /var/log/oracle

        echo "---------------------------------------------------------------------------------" >> /var/log/oracle

        su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >> /var/log/oracle

        echo "Done."

        rm -f /var/lock/subsys/oracle

        echo -n "Shutting Down Oracle Databases: "

        su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" >> /var/log/oracle

        echo "Done."

        echo ""

        echo "---------------------------------------------------------------------------------" >> /var/log/oracle

        date +"! %T %a %D : Finished." >> /var/log/oracle

        echo "---------------------------------------------------------------------------------" >> /var/log/oracle

        ;;

 restart)

        echo -n "Restarting Oracle Databases: "

        echo "---------------------------------------------------------------------------------" >> /var/log/oracle

        date +"! %T %a %D : Restarting Oracle Databases as part of system up." >> /var/log/oracle

        echo "---------------------------------------------------------------------------------" >> /var/log/oracle

        su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" >> /var/log/oracle

        su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" >> /var/log/oracle

        echo "Done."

        echo -n "Restarting Oracle Listeners: "

        su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >> /var/log/oracle

        su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >> /var/log/oracle

        echo "Done."

        echo ""

        echo "---------------------------------------------------------------------------------" >> /var/log/oracle

        date +"! %T %a %D : Finished." >> /var/log/oracle

        echo "---------------------------------------------------------------------------------" >> /var/log/oracle

        touch /var/lock/subsys/oracle

        ;;

  *)

  echo "Usage: oracle { start | stop | restart }"

  exit 1

esac

exit 0

1.2 修改/etc/rc.d/init.d/oracle執行權限

chmod  755 /etc/rc.d/init.d/oracle

1.3 添加oracle服務

chkconig  --add oracle

1.4 設置oracle服務自啓動

chkconfig oracle on

1.5 啓動、關閉、重啓oracle命令

啓動oracle數據庫:

service  oracle  start

關閉oracle數據庫:

service  oracle  stop

重啓oracle數據庫

service  oracle restart


完成之後需要配置監聽 推薦使用圖形化工具  運行 netmgr (在$ORACLE_HOME/bin下)

wKioL1XkIq6zCG4TADdwugzkxXU689.jpg

wKiom1XkIRnyYNGjAFXZqONpem8240.jpg

wKioL1XkIzqT6sxgADvJ6AF5ZWk447.jpg

然後重新加載監聽重啓就可以了
lsnrctl reload
lsnrctl stop
lsnrctl start


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章