ORALE安装成功后,需要进行优化一下,可以让ORACLE数据库随着系统启动而自动开启和关闭!
具体步骤如下:
说明:ORACLE版本是
第一步:安装软件添加翻查历史功能
但这个环境过于简单 没有上下键翻查历史命令的功能
[iyunv@dba ~]# rpm -ivh rlwrap-0.30-1.el5.i386.rpm
切换到oracle用户 添加命令别名
#su - oracle
vim .bashrc
alias sql='rlwrap sqlplus'
alias sqlplus='rlwrap sqlplus'
alias lsnrctl='rlwrap lsnrctl'
alias rman='rlwrap rman'
:wq
加载 source .bash_profile
第二步:连接数据库 连接oracle的方法:
[oracle@dba ~]$ sql /nolog SQL*Plus: Release 10.2.0.1.0 - Production on Fri Feb 25 05:24:37 2011 Copyright (c) 1982, 2005, Oracle. All rights reserved. - SQL> conn / as sysdba
Connected.
SQL> show user
USER is "SYS"
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
[oracle@dba ~]$
第三:数据库的启动和关闭
启动
[oracle@dba ~]$ sql /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Feb 25 07:03:34 201
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn / as sysdba
Connected to an idle instance.
SQL> show user
USER is "SYS"
SQL> startup
ORACLE instance starte
Total System Global Area 285212672 bytes
Fixed Size 1218992 bytes
Variable Size 83887696 bytes
Database Buffers 197132288 bytes
Redo Buffers 2973696 bytes
Database mounted.
Database opened.
SQL>
————————————————————————————————
关闭
[oracle@dba ~]$ sql / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Feb 25 07:04:30 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> show user
USER is "SYS"
SQL> shut immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> exit
第四:添加oracle随系统启动的脚本
启动脚本已随安装的软件安装到系统 不需要自己编写
脚本位置:
$ORACLE_HOME/bin/dbstart
$ORACLE_HOME/bin/dbshut
启动脚本中有一个路径变量值设置错误 要手动修正
[oracle@dba ~]$ sed -n '78p' $ORACLE_HOME/bin/dbstart
ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle
[oracle@dba ~]$ sed -i 's!/ade/vikrkuma_new/oracle!$ORACLE_HOME!' $ORACLE_HOME/bin/dbstart
[oracle@dba ~]$ sed -n '78p' $ORACLE_HOME/bin/dbstart
ORACLE_HOME_LISTNER=$ORACLE_HOME
[oracle@dba ~]$
注意:先修改错误,再运行脚本
要想使dbstart命令生效 还需要修改/etc/oratab里的内容
[oracle@dba ~]$ grep $ORACLE_SID /etc/oratab
ora10g:/u01/oracle/product/10.2.0:N
[oracle@dba ~]$
改成
ora10g:/u01/oracle/product/10.2.0:Y
$ ./ORACLE_HOME/bin/dbstart 运行dbstart命令
$ ./ORACLE_HOME/bin/dbshut
之后就可以使用dbstart和dbshut来启停数据库了
[oracle@dba ~]$ ps -ef | grep ora_ | grep -v grep
[oracle@dba ~]$ dbstart
Processing Database instance "ora10g": log file /u01/oracle/product/10.2.0/startup.log
[oracle@dba ~]$ ps -ef | grep ora_ | grep -v grep
oracle 12359 1 0 07:24 ? 00:00:00 ora_pmon_ora10g
oracle 12361 1 0 07:24 ? 00:00:00 ora_psp0_ora10g
oracle 12363 1 1 07:24 ? 00:00:00 ora_mman_ora10g
oracle 12365 1 0 07:24 ? 00:00:00 ora_dbw0_ora10g
oracle 12367 1 1 07:24 ? 00:00:00 ora_lgwr_ora10g
oracle 12369 1 0 07:24 ? 00:00:00 ora_ckpt_ora10g
oracle 12371 1 3 07:24 ? 00:00:00 ora_smon_ora10g
oracle 12373 1 0 07:24 ? 00:00:00 ora_reco_ora10g
oracle 12375 1 1 07:24 ? 00:00:00 ora_cjq0_ora10g
oracle 12377 1 7 07:24 ? 00:00:00 ora_mmon_ora10g
oracle 12379 1 0 07:24 ? 00:00:00 ora_mmnl_ora10g
oracle 12381 1 0 07:24 ? 00:00:00 ora_d000_ora10g
oracle 12383 1 0 07:24 ? 00:00:00 ora_s000_ora10g
oracle 12388 1 1 07:24 ? 00:00:00 ora_qmnc_ora10g
oracle 12394 1 12 07:24 ? 00:00:00 ora_j000_ora10g
[oracle@dba ~]$ dbshut
[oracle@dba ~]$ ps -ef | grep ora_ | grep -v grep
[oracle@dba ~]$
第五:借助这两个命令结合shell_script写个自己的脚本
先用ROOT用户建立/etc/rc.d/init.d/dbora 文件 ,然后再
[iyunv@dba ~]# chmod +x /etc/rc.d/init.d/dbora
[iyunv@dba ~]# chkconfig --add dbora
[oracle@dba ~]$ cat /etc/rc.d/init.d/dbora
#!/bin/bash
# chkconfig: 35 85 90
# description: Oracle auto start-stop script.
# AUTH:seker
. /etc/init.d/functions
start(){
if ps aux | grep ora_ | grep -v grep &>/dev/null
then
echo -n $"cannot start database: database is already running."
failure $"cannot start database: database is already running."
echo
exit 1
else
echo -n $"Starting Database: "
daemon su - $ORA_OWNER -c "dbstart" && touch /var/lock/subsys/`basename $0`
echo
fi
}
stop(){
if ps aux | grep ora_ | grep -v grep &>/dev/null
then
echo -n $"Stoping Database: "
daemon su - $ORA_OWNER -c "dbshut" && rm -f /var/lock/subsys/`basename $0`
echo
else
echo -n $"cannot stop database:Database is not already running."
failure $"cannot stop database:Database is not already running."
echo
exit 1
fi
}
ORA_OWNER=oracle
case "$1" in
start)
start
;;
stop)
stop
;;
emstart)
su - $ORA_OWNER -c 'emctl status dbconsole &>/dev/null && echo "OEM is already running" || emctl start dbconsole'
;;
emstop)
su - $ORA_OWNER -c 'emctl status dbconsole &>/dev/null && emctl stop dbconsole || echo "OEM is not running"'
;;
isqlstart)
su - $ORA_OWNER -c 'ps aux | grep 'isqlplus/config/server.xml' | grep -v grep &>/dev/null || isqlplusctl start'
;;
isqlstop)
su - $ORA_OWNER -c 'ps aux | grep 'isqlplus/config/server.xml' | grep -v grep &>/dev/null && isqlplusctl stop || echo "isqlplus is not running"'
;;
lsnstart)
su - $ORA_OWNER -c 'lsnrctl status &>/dev/null && echo "listen is already running" || lsnrctl start &>/dev/null'
;;
lsnstop)
su - $ORA_OWNER -c 'lsnrctl status &>/dev/null && lsnrctl stop &>/dev/null || echo "lsnrctl is not already running"'
;;
*)
echo "USAGE: $0 {start|stop|lsnstart|lsnstop|emstart|emstop|isqlstart|isqlstop}"
echo -e "\tstart : database start"
echo -e "\tstop : database stop"
echo -e "\tlsnstart : listen start"
echo -e "\tlsnstop : listen stop"
echo -e "\temstart : OEM start"
echo -e "\temstop : OEM stop"
echo -e "\tisqlstart : isqlplus start"
echo -e "\tisqlstop : isqlplus stop"
esac
[oracle@dba ~]$
添加到启动脚本目录
[iyunv@dba ~]# chmod +x /etc/rc.d/init.d/dbora
[iyunv@dba ~]# chkconfig --add dbora
也可以使用service调用
[iyunv@dba ~]# service dbora stop
[iyunv@dba ~]# service dbora start
|