centos 7 安装oracle 11g,oracle静默安装
一、系统等基础环境
1. 安装系统
2. 安装一些常用的命令工具:
yum -y install rsync zip unzip telnet
yum install lvm* //磁盘采用逻辑卷方式
3. 对磁盘进行分区/dev/sdb(200G用来存放数据库数据)
fdisk /dev/sdb
pvcreate /dev/sdb1
vgcreate oradata /dev/sdb1
lvcreate -L 198G -n lvoradata oradata
mkfs.ext4 /dev/oradata/lvoradata
mkdir /oradata
mount /dev/oradata/lvoradata /oradata
vi /etc/fatab //将挂载信息写在文件后面
/dev/oradata/lvoradata /oradata ext4 defaults 0 0
使用命令df -h 查看磁盘相关信息
4. 关闭selinux
vi /etc/selinux/config
SELINUX=disabled
5. 设置主机名 /etc/hostname,如oracle
6. 添加host记录
7. 重启 reboot
二、开始安装oracle软件
1. 将软件安装包存放目录 /data/oracle/oraclesetup
2. 解压
unzip linux.x64_11gR2_database_1of2.zip && unzip linux.x64_11gR2_database_2of2.zip
3. 安装依赖包
yum install -y gcc make binutils gcc-c++ compat-libstdc++-33elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio libaio-develnumactl-devel sysstat unixODBC unixODBC-devel pcre-devel libXtst.so.6
yum install libXp*.x86_64 libXt*.x86_64 libxtst*.x86_64 -y
4. 添加用户和用户组
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
5. 修改内核参数文件 vi /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 8589934592
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
其中kernel.shmmax = 8589934592 为本机物理内存的一半,单位为byte。
6. 修改文件/etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
7. 修改文件/etc/pam.d/login,添加
session required /lib64/security/pam_limits.so
session required pam_limits.so
8. 修改文件/etc/profile,添加
##ORACLE
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
9. 创建安装目录和设置目录权限
mkdir -p /data/oracle/product/11.2.0
mkdir /data/oracle/oradata //数据库文件,生产一般是放在存储上的
mkdir /data/oracle/inventory
mkdir /data/oracle/fast_recovery_area
chown -R oracle:oinstall /data/oracle
chmod -R 775 /data/oracle
chown -R oracle:oinstall /oradata //数据库文件,这里存储是挂在这个目录
10. 设置oracle用户变量,编辑文件.bash_profile,添加
ORACLE_BASE=/data/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0
ORACLE_SID=orcl
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
注意,粗体处必须与创建的数据库实例名称一致,否则数据库启动后无法访问。
11. 编辑配置文件/data/oracle/oraclesetup/database/response/db_install.rsp静默安装响应文件
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=oracle
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/data/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/data/oracle/product/11.2.0
ORACLE_BASE=/data/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=false
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true
12. 静默安装:
./runInstaller -silent -responseFile /data/oracle/oraclesetup/database/response/db_install.rsp -ignorePrereq
安装成功后,切换root用户执行
#sh /data/oracle/inventory/orainstRoot.sh
#sh /data/oracle/product/11.2.0/root.sh
13. 以静默方式配置监听
su - oracle
export DISPLAY=10.7.230.198:0.0
netca -silent -responseFile /data/oracle/oraclesetup/database/response/netca.rsp
运行成功后会生成配置文件
使用命令查看服务状态
lsnrctl status
netstat -natp
配置监听过程报错及处理步骤:
报libXext.so.6
14. 以静默方式建立新库,同时也建立一个对应的实例。
编辑配置文件/data/oracle/oraclesetup/database/response/dbca.rsp
GDBNAME = "orcl"
SID = "orcl"
TEMPLATENAME = "General_Purpose.dbc"
SYSPASSWORD = "chenzm123"
SYSTEMPASSWORD = "chenzm123"
SYSMANPASSWORD = "chenzm123"
DBSNMPPASSWORD = "chenzm123"
DATAFILEDESTINATION = /oradata
RECOVERYAREADESTINATION=/data/oracle/fast_recovery_area
【RECOVERYAREADESTINATION=
/oradata/fast_recovery_area //正式配置在/oradataCHARACTERSET = "ZHS16GBK"
TOTALMEMORY = "12000" //物理内存的80%
开始安装数据库实例
dbca -silent -responseFile /data/oracle/oraclesetup/database/response/dbca.rsp
lsnrctl status //查看实例状态
15 . 设置oracle 开机启动
编辑配置文件/data/oracle/product/11.2.0/bin/dbshut
将ORACLE_HOME_LISTNER=$1修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
修改/data/oracle/product/11.2.0/bin/dbstart
将ORACLE_HOME_LISTNER=$1修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
修改/etc/oratab文件
将
orcl:/data/oracle/product/11.2.0:N中最后的N改为Y,成为
orcl:/data/oracle/product/11.2.0:Ydbshut //测试数据库关闭
dbstart // 测试数据库启动
添加启动脚本/etc/init.d/oracle
#!/bin/bash
#oracle: Start/Stop Oracle Database 11g R2
#chkconfig: 345 90 10
#description: The Oracle Database is an Object-Relational Database ManagementSystem.
#
. /etc/rc.d/init.d/functions
LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/data/oracle/product/11.2.0
ORACLE_USER=oracle
case "$1" in
start)
if [ -f $LOCKFILE ]; then
echo $0 already running.
else
echo -n $"StartingOracle Database:"
su - $ORACLE_USER -c"$ORACLE_HOME/bin/lsnrctl start"
su - $ORACLE_USER -c"$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
su - $ORACLE_USER -c"$ORACLE_HOME/bin/emctl start dbconsole"
touch $LOCKFILE
fi
;;
stop)
if [ ! -f $LOCKFILE ]; then
echo $0 already stopping.
else
echo -n $"StoppingOracle Database:"
su - $ORACLE_USER -c"$ORACLE_HOME/bin/lsnrctl stop"
su - $ORACLE_USER -c"$ORACLE_HOME/bin/dbshut"
su - $ORACLE_USER -c"$ORACLE_HOME/bin/emctl stop dbconsole"
rm -f $LOCKFILE
fi
;;
restart)
$0 stop
sleep 5
$0 start
;;
status)
if [ -f $LOCKFILE ]; then
echo $0 started.
else
echo $0 stopped.
fi
;;
*)
echo "Usage: $0[start|stop|status]"
exit 1
esac
exit 0
编辑启动脚本/etc/init.d/oracle,设置脚本开机启动
reboot 查看oracle是否正常。
我告诉你msdn版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!