oracle默认是没有自动翻页的我们需要安装一个软件,这样我们就会很方便的去做一些操作了。
这个软件就是rlwrap-0.30-1.el5.i386.rpm
直接在你的oracle的服务器上面安装就可以了。
rpm –ivh rlwrap-0.30-1.el5.i386.rpm
不过这样需要好后需要rlwrap sqlplus /nolog 这样登录很麻烦是吧,我也是这么感觉的,现在我们去做个别名就好了。
这个是需要用oracle用户去做的在/home/oracle/.bashrc里面,当安装好数据库后基本就不怎么用root用户了,一般的操作都是由oracle用户去操作的。
alias sql='rlwrap sqlplus'
alias sqlplus='rlwrap sqlplus'
alias lsnrctl='rlwrap lsnrctl'
alias rman='rlwrap rman'
这个默认是不会生效的,我们需要加载一下命令是source .bash_profile
我们去试验一下:
好了现在上下翻页了,这样做一下事情就方便多了。
下面我们来让数据库自启动,首先我们看到下面的是数据库的启动和关闭,都需要我们自己去做:
首先我们需要添加一个添加oracle随系统启动的脚本:
启动脚本已随安装的软件安装到系统 不需要自己编写,脚本的位置:
$ORACLE_HOME/bin/dbstart
$ORACLE_HOME/bin/dbshut
启动脚本中有一个路径变量值设置错误 要手动修正
vi $ORACLE_HOME/bin/dbstart oracle用户
ORACLE_HOME_LISTNER=$ORACLE_HOME 78行
要想使dbstart命令生效 还需要修改/etc/oratab里的内容
vi /etc/oratab root执行
ora10g:/u01/oracle/product/10.2.0:Y
之后就可以使用dbstart和dbshut来启停数据库了,我们可以用这俩个命令来写脚本:
用oracle用户直接运行dbstart dbshut 这俩个命令就可以了。
ps -ef | grep ora_ | grep -v grep查看你的数据库是否启动
现在我们去写脚本,先创建一个文本/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
后添加到启动脚本目录:
chmod +x /etc/rc.d/init.d/dbora
chkconfig --add dbora
chkconfig dbora on
也可以使用service调用
service dbora stop
service dbora start
做到这我们就可以让我们的oracle数据库可以自己启动了。