我使用以下命令在 Fedora 15 系统上成功安装了 Oracle 11g这指导。不幸的是,与我使用 Windows 时不同,每次重新启动计算机(它是开发计算机,而不是服务器)时,我似乎都需要重新启动数据库。
我不确定这是预期的行为,还是我在安装数据库时搞砸了某些事情。
不管怎样,每次我重新启动机器时我都需要:
- 用于
su
将当前用户更改为oracle
用户。 - 用于
sqplus
启动数据库。
像这样:
(oracle@machine)$ sqplus / as sysdba
SQL> startup
SQL> (Ctrl+D)
- 然后我需要使用启动监听器
lsnrctl
。
再一次:
(oracle@machine)$ lsnrctl start
- 现在企业管理器也应该启动了。
至少:
(oracle@machine)$ emctl start dbconsole
我已从以下位置获取了这些说明这里。
如果这很菜鸟,我很抱歉,我通常有一个 DBA 或系统管理员来为我设置一个环境,但我是在家里做这件事,在那里我没有任何帮助(也许我作为一个开发人员被宠坏了:) )。
我想知道是否可以使用 shell 脚本在 Fedora 15 上自动执行此操作。自动化之后,我想将其挂接到 init 系统上,这样每次启动机器时都会执行它。
答案1
我找到了答案这有关如何在 CentOS 5.3 上安装 Oracle 11g 的指南。我对初始化脚本做了一些小的调整。为了完整起见,我将在此处添加步骤:
- 编辑并将配置文件中的
/etc/oratab
最后一个更改为.N
Y
像这样:
orcl:/u01/app/oracle/product/11.2.0/dbhome_1:N
对此:
orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y
- 创建脚本
/etc/init.d/dbora
。
它应该有这样的内容:
#!/bin/sh
# chkconfig: 345 99 10
# description: Oracle auto start-stop script.
#
# Set ORA_HOME to be equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and dbshut;
#
# Set ORA_OWNER to the user id of the owner of the
# Oracle database in ORA_HOME.
ORA_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
ORA_OWNER=oracle
if [ ! -f $ORA_HOME/bin/dbstart ]
then
echo "Oracle startup: cannot start"
exit
fi
case "$1" in
'start')
# Start the Oracle databases:
# The following command assumes that the oracle login
# will not prompt the user for any values
su - $ORA_OWNER -c "$ORA_HOME/bin/emctl start dbconsole"
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME"
;;
'stop')
# Stop the Oracle databases:
# The following command assumes that the oracle login
# will not prompt the user for any values
su - $ORA_OWNER -c "$ORA_HOME/bin/emctl stop dbconsole"
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME"
;;
esac
- 然后更改脚本权限。
像这样:
chmod 750 /etc/init.d/dbora
- 将其添加到 chkconfig
像这样:
chkconfig --level 345 dbora on
/etc/init.d/dbora start
用和进行测试/etc/init.d/dbora stop
。确保dbora
脚本上的路径正确。
答案2
我认为lsnrctl start
已经包含在dbstart
脚本中了。