Linux下启动/关闭Oracle
一、Linux下启动Oracle
Linux下启动Oracle分为两步:
1)启动监听;
2)启动数据库实例;
1.登录服务器,切换到oracle用户,或者以oracle用户登录
[admin@dataserver ~]$ su - oracle 密码: [oracle@dataserver ~]$
2.打开监听服务
[oracle@localhost ~]$ lsnrctl start
可以通过lsnrctl status命令查看Oracle监听器运行状况
[oracle@localhost ~]$ lsnrctl status
3.以SYS用户身份登录Oracle
[oracle@localhost ~]$ sqlplus /nolog SQL*Plus: Release 11.2.0.1.0 Production on Fri Dec 1 23:29:19 2017 Copyright (c) 1982, 2009, Oracle. All rights reserved. SQL> conn /as sysdba Connected to an idle instance.
切换用户:
CONN 用户名/密码 [AS SYSDBA],如果是sys用户一定要写上AS SYSDBA
4.通过startup命令启动实例
SQL> startup ORACLE instance started. Total System
... ...
Database mounted. Database opened. SQL>
二、Linux下关闭Oracle
1.关闭数据库实例
SQL> shutdown Database closed. Database dismounted. ORACLE instance shut down.
SQL> quit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
2.关闭监听器
[oracle@localhost ~]$ lsnrctl stop
三、数据库启动分为三个步骤:
SQL> startup nomount; //启动实例,不加载数据库 SQL> alter database mount; //加载数据库(挂起) SQL> alter database open; //打开数据库
等同于 SQL> startup
startup:
不带参数: 启动数据库实例并打开数据库,这种情况下用户才能使用数据库
nomount:只启动数据库实例,但不打开数据库
mount: 加载数据库。(挂起)
1、startup nomount -- 启动实例,不加载数据库(模式一)
nomount:在这一阶段,只需要读取initSID.ora文件,启动数据库实例,创建后台进程。在initSID.ora文件中,可以定位 SPFILEORAC.ora文件,这是参数文件,通过它可以初始化SGA和启动后台进程。并可以定位控制文件位置。在此阶段,可以执行的操作有:重建控 制文件,重建数据库。
2、alter database mount -- 加载数据库(模式二)
mount:在nomount阶段,可以通过读取控制文件来转换到mount阶段。在数据库加载阶段(mount),所有的数据文件和联机日志文件的名称和位置都从控制文件中读取,但是并没有真正查找这些文件。在此阶段,可以执行的操作有:数据库日志归档、数据库介质恢复、使数据文件联机或脱机、重定位 数据文件和联机日志文件。
3、alter database open -- 打开数据库(模式三)
open:通过查找定位并打开数据文件和联机日志文件来切换到open阶段。此时数据库可用,可以建立会话。
四、数据库的关闭也分三个步骤:
SQL> shutdown immediate;(推荐)
SQL> alter database close; //关闭数据库(CLOSE 关闭数据文件) SQL> alter database dismount; //卸载数据库(关闭控制文件 DISMOUNT), SQL> shutdown //关闭Oracle实例(SHUTDOWN)
也可以查询oracle的进程:
ps -ef|grep ora_dbw0_$ORACLE_SID
然后kill掉
kill -9 PID
shutdown的参数
normal 等待所有连接用户断开后才执行关闭数据库任务(等待所有的用户断开连接)
immediate 等待用户执行完正在执行的语句后就断开连接,并不允许新用户连接。
transactional 等待用户执行完当前事务后断开连接,并不允许新的用户连接数据库。
abort 不等待,强行断开连接并直接关闭数据库。
三、数据库重启:(也就是启动的force模式)(模式四)
SQL> startup force //不建议使用
这种模式将终止实例并重新启动数据库(open),这种模式具有一定的强制性(比如在其他启动模式失效的时候可以尝试这种模式)
方式2:(推荐)
SQL> shutdown immediate
SQL> startup open