最近由于需要安装了几台服务器 ,由于网上找不到一些过程中遇到的问题,所以把解决方法写出来吧 !
首先安装数据库服务器 如题装的是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 �Cg oinstall �CG dba oracle
初始化oracle用户密码
passwd oracle
创建Oracle安装目录
本示例中,Oracle安装路径为:/home/Oracle/product/11.2.0/dbhome
创建oracle安装目录
mkdir �Cp /home/Oracle/product/11.2.0/dbhome
修改目录所属用户为oracle用户
chown �CR oracle:oinstall /oracle
修改目录权限
chmod �CR 755 /oracle
设置oracle用户环境变量
注意以下命令为,必需以oracle用户身分登录:
su �C 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