linux 下oralce启动和关闭

来源:互联网 发布:中怡康家电市场数据 编辑:程序博客网 时间:2024/05/17 07:22
linux下启动oracle除了命令还需要事先设置相关环境变量,环境变量一般都是安装oralce的时候设置的,现在说说启动oralce的过程:

1)一般通过SSH或者其它远程连接工具,连接oracle数据库所在服务器 linux系统可以在终端中直接用ssh命令建立远程连接: ssh -l user serverIp 如:ssh -l root 192.168.168.168
2) 建立连接后,切换到oracle用户下,su -l oralce,说明此处切换时加 -l 选项,可以加载为oracle用户配置的环境变量,否则执行命令时,可能会提示:command not found。
3) 启动oralce,依次执行如下命令:
    lsnrctl start
    sqlplus /nolog
    SQL> connect sys/123456 as sysdba
    SQL> startup
    其中数据库启动使用startup命令,它有三种情况
    第一种:不带参数,启动数据库实例并打开数据库,以便用户使用数据库,在多数情况下,使用这种方式!
第二种:带nomount参数,只启动数据库实例,但不打开数据库,在你希望创建一个新的数据库时使用,或者在你需要这样的时候使用!
第三种:带mount参数,在进行数据库更名的时候采用。这个时候数据库就打开并可以使用了!
4) 关闭oracle
    sqlplus /nolog
    SQL> connect sys/123456 as sysdba
    SQL> shutdown immediate
    其中shutdown有四个参数,四个参数的含义如下:
    Normal 需要等待所有的用户断开连接
    Immediate 等待用户完成当前的语句
    Transactional 等待用户完成当前的事务
    Abort 不做任何等待,直接关闭数据库
    normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接
immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。
    transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。
    abort 执行强行断开连接并直接关闭数据库。

问题描述:
在oracle用户下输入> lsnrctl start
系统提示:command not found,
去bin文件夹下,输入,提示如下:
[oracle@localhost bin]$ ./lsnrctl

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 28-APR-2009 15:43:05

Copyright (c) 1991, 2005, Oracle.   All rights reserved.

Message 850 not found; No message file for product=network, facility=NL
LSNRCTL> start
Message 1070 not found; No message file for product=network, facility=TNSTNS-12545: Message 12545 not found; No message file for product=network, facility=TNS
TNS-12560: Message 12560 not found; No message file for product=network, facility=TNS
   TNS-00515: Message 515 not found; No message file for product=network, facility=TNS
Linux Error: 2: No such file or directory
LSNRCTL>
问题原因:
出现这种情况,一般是由于oracle的环境变量配置不正确引起的,或者说在切换到oracle用户时,没有把环境变量也切换过来,如用su oracle而不是用su -l oracle命令切换。