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

 

转自:https://www.cnblogs.com/muhehe/p/7944887.html

posted @ 2019-07-03 16:51  小时候挺菜  阅读(561)  评论(0编辑  收藏  举报