inventory_loc=$ORACLE_BASE/oraInventory
inst_group=oinstall
EOF
chmod 664 /etc/oraInst.loc
sysctl -p
3. 准备oracle软件应答文件
根据rsp模板创建
su - oracle
cp /tmp/database/response/db_install.rsp ./ //假定oracle安装文件解压到/tmp目录下
vi db_install.rsp //参考文件内说明修改,也可以参考http://loofeer.blog.51cto.com/707932/1119713
chmod 640 db_install.rsp //避免文件被非授权访问
4.准备创建数据库应答文件
cp /tmp/database/response/dbca.rsp ./ //假定oracle安装文件解压到/tmp目录下
vi dbca.rsp 修改以下内容
GDBNAME = "ora11g"
SID = "ora11g"
SYSPASSWORD = "oracle11"
SYSTEMPASSWORD = "oracle11"
如果需要使用Oracle Enterprise Manager,则还需要修改以下参数如下:
EMCONFIGURATION="LOCAL"
SYSMANPASSWORD = "oracle11"
DBSNMPPASSWORD = "oracle11"
5.准备监听应答文件
cp /tmp/database/response/netca.rsp ./ //假定oracle安装文件解压到/tmp目录下
vi netca.rsp修改以下内容
INSTALL_TYPE=""custom""
6.安装oracle11g
cd /tmp/database
./runInstaller -silent -responseFile /home/oracle/db_install.rsp
安装说明:
a. 选项-silent表示静默安装,免安装交互,大部分安装信息也不输出
b. 选项-responseFile指定应答文件,要求用绝对路径
c. 执行./runInstaller -help可以查看安装帮助
d. 若忽略-silent选项,将会允许交互,对于应答文件中未设置的项可以再手工指定
e. 若添加-noconfig选项,可以忽略应答文件中的安装类型,而仅安装数据库软件
安装后运行
/DataBase/oracle/product/11.2.0/dbhome/root.sh
7.创建数据库
cd
dbca -silent -cloneTemplate -responseFile ./dbca.rsp
8.创建监听
netca /silent /responseFile /home/oracle/netca.rsp
9.开启oracle监听
lsnrctl start
dbstart $ORACLE_HOME
10.创建oracle服务脚本(可以看情况修改)
vi /etc/init.d/oracle
#!/bin/bash
#### 2013.1.18 by larry ####
# chkconfig: 35 90 10
# description: Oracle Database Service Daemon.
ORCL_BASE="/DataBase/oracle"
ORACLE_HOME=/DataBase/oracle/product/11.2.0/dbhome
ORACLE_OWNER=oracle
case "$1" in
start)
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start" #//.....
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME" #//.......
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl start dbconsole" #//..OEM...
;;
stop)
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl stop dbconsole" #//..OEM...
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME" #//.......
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop" #//.....
;;
status)
if(pgrep "tnslsnr" && netstat -anpt | grep ":1521") &> /dev/null
then
echo "Oracle 11g Net Listener is running."
else
echo "Oracle 11g Net Listener is not running."
fi
if(netstat -anpt | grep ":1158" && netstat -anpt | grep ":5520") &> /dev/null
then
echo "Oracle 11g Enterprise Manager is running."
else
echo "Oracle 11g Enterprise Manager is not running."
fi
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
;;
esac
exit 0
11.为系统添加服务
chkconfig --add oracle
12. 通过脚本控制Oracle服务
service oracle status/stop/start/restart