`
gaogengzhi
  • 浏览: 106249 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Ubuntu9.04下Oracle手动启动与自启动脚本

阅读更多
一、启动数据库实例
gengzhi@gengzhi-desktop:~$ su oracle
oracle@gengzhi-desktop:~$ sqlplus " scott/tiger  as sysdba" 
    将出现如下连接数据库信息:
SQL*Plus: Release 10.1.0.2.0 - Production on 星期三 3月 24 16:23:27 2004 
Copyright (c) 1982, 2004, Oracle.  All rights reserved. 
连接到: 
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production 
With the Partitioning, OLAP and Data Mining options 
SQL> 

        表明登录数据库系统成功,运行startup命令启动数据库。
SQL> startup 
ORACLE instance started. 

Total System Global Area 336356520 bytes 
Fixed Size 279720 bytes 
Variable Size 268435456 bytes 
Database Buffers 67108864 bytes 
Redo Buffers 532480 bytes 
Database mounted. 
Database opened. 
SQL> 
        表示数据库正常启动。

二、关闭Oracle10g 数据库
gengzhi@gengzhi-desktop:~$ su oracle
oracle@gengzhi-desktop:~$ sqlplus "scott/tiger as sysdba"  //以sysdba用户登录数据库
       成功登录数据库系统后,运行shudown命令关闭数据库。
SQL> shutdown 


三、启动Oracle10g监听程序
         Oracle的监听程序主要是为客户端的连接提供接口,在控制台窗口键入如下命令:
gengzhi@gengzhi-desktop:~$ su oracle
oracle@gengzhi-desktop:~$ lsnrctl
        将出现如下监听程序信息:
LSNRCTL for 32-bit Windows: Version 10.1.0.2.0 - Production on 24-3月 -2004 16:59:51 
Copyright (c) 1991, 2004, Oracle.  All rights reserved. 
        欢迎来到LSNRCTL, 请键入"help"以获得信息。 
LSNRCTL>
        表明登录监听程序控制台成功,运行start命令启动监听程序。
LSNRCTL> start
        将出现监听程序的一系列启动和配置情况信息列表。信息行的最后一行是“The command completed successfully”字样时,监听程序启动成功。

四、关闭Oracle10g监听程序
        运行stop命令关闭监听程序。
LSNRCTL> stop


五、创建自启动脚本
   
        1、edit /etc/oratab after creating the database, and set the last column to Y
        2、设置环境变量(若以前设置过,此步可省略)
gengzhi@gengzhi-desktop:~$ sudo gedit /etc/profile
添加如下内容:
export ORACLE_HOME=/opt/oracle/product/10.2.0/db_1
export PATH=$PATH:/opt/oracle/product/10.2.0/db_1/bin

        3、创建oracledb脚本到/etc/init.d/oracledb,内容如下
#!/bin/bash
#
# /etc/init.d/oracledb
#
# Run-level Startup script for the Oracle Listener and Instances
# It relies on the information on /etc/oratab

export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/10.2.0/db_1
export ORACLE_OWNR=oracle
export PATH=$PATH:$ORACLE_HOME/bin

if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
    echo "Oracle startup: cannot start"
    exit 1
fi

case "$1" in
    start)
        # Oracle listener and instance startup
        echo -n "Starting Oracle: "
        su $ORACLE_OWNR -c "$ORACLE_HOME/bin/lsnrctl start"
        su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
        touch /var/lock/oracle
        echo "OK"
        ;;
    stop)
        # Oracle listener and instance shutdown
        echo -n "Shutdown Oracle: "
        su $ORACLE_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"
        su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
        rm -f /var/lock/oracle
        echo "OK"
        ;;
    reload|restart)
        $0 stop
        $0 start
        ;;
    *)
        echo "Usage: `basename $0` start|stop|restart|reload"
        exit 1
esac

exit 0

        4、设置权限和自启动
//设置权限
gengzhi@gengzhi-desktop:~$ sudo chmod a+x /etc/init.d/oracledb

//设置每次机器启动时自动运行
root@hardy:~# update-rc.d oracledb defaults 99
 Adding system startup for /etc/init.d/oracledb ...
   /etc/rc0.d/K99oracledb -> ../init.d/oracledb
   /etc/rc1.d/K99oracledb -> ../init.d/oracledb
   /etc/rc6.d/K99oracledb -> ../init.d/oracledb
   /etc/rc2.d/S99oracledb -> ../init.d/oracledb
   /etc/rc3.d/S99oracledb -> ../init.d/oracledb
   /etc/rc4.d/S99oracledb -> ../init.d/oracledb
   /etc/rc5.d/S99oracledb -> ../init.d/oracledb

//增加用户到dba组(user用实际的用户名替代,诸如我的用户名为gengzhi),以便可以用常用用户启动时自动启动Oracle服务器而不用以Oracle用户登录
gengzhi@gengzhi-desktop:~$ sudo usermod -G dba -a user


六、使用企业管理器

        启动控制台
gengzhi@gengzhi-desktop:~$ su oracle
oracle@gengzhi-desktop:~$ emctl start dbconsole 

        访问数据库控制器
        http://localhost.localdomain:1158/em/

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics