linux 下oralce启动和关闭
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命令切换。 |