最近由於需要安裝了幾臺服務器 ,由於網上找不到一些過程中遇到的問題,所以把解決方法寫出來吧 !
首先安裝數據庫服務器 如題裝的是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下)
然後重新加載監聽重啓就可以了 lsnrctl reload lsnrctl stop lsnrctl start