返回 导航

其他

hangge.com

Oracle - 数据库启动、关闭的方法汇总( SQL*Plus、OEM、服务窗口)

作者:hangge | 2020-03-23 08:10
    Oracle 数据库安装完毕后,每次重启系统数据库也会自动启动。如果要执行数据库的定期冷备份、数据库软件的升级时,常需要先关闭数据库。下面介绍几种常用的数据库关闭和启动的方法,包括通过 Windows 服务窗口、使用 SQL*Plus、使用 OEM 控制台等。

一、关闭数据库

1,使用 SQL*Plus 关闭数据库

(1)首先用具有 SYSDBA 或者 SYSOPER 权限的数据库用户账户(如 SYS SYSTEM),以 SYSDBA 的连接身份,启动 SQL*Plus 并同时登录、连接到数据库。
sqlplus sys/root@localhost/orcl as sysdba 

(2)这里我们选择立即关闭数据库:
(1)SHUTDOWN 命令语法如下,其中 NORMAL(正常)为默认选择,即 SHUTDOWN SHUTDOWN NORMAL 作用相同,通常我们会使用该方式正常关闭数据库:
  • SHUTDOWN [NORMAL | TRANSACTIONAL | IMMEDIATE | ABORT]
(2)无论使用哪种选项,SHUTDOWN 命令执行后都会阻止任何用户建立新的连接,区别在于对当前的连接和活动事务处理方式不同(因此关闭数据时间自上而下依次缩短):
  • NORMAL(正常)选项:会等待当前所有在正在连接的用户主动断开连接。正在连接的用户能够继续他们当前的工作,甚至能够提交新的事物。等所有用户都断开连接才关闭数据库。
  • TRANSACTIONAL(事物处理)选项:该选项比 NORMAL 选项稍微主动些。正在连接的用户不能提交新事物,而当前未提交的事务一旦提交完毕,便立刻断开用户的连接。当所有用户都断开连接才关闭数据库。
  • IMMEDIATE(立即)选项:它能在尽可能短的时间内关闭数据库。任何当前未提交的事务均被退回,Oracle 不再等待用户主动断开连接,而是直接关闭数据库。
  • ABORT 选项:如果上面 3 种选项都无法成功关闭数据库,只能用该选项。它会立即结束当前正执行的 SQL 语句,任何未提交的事务均不被退回,不等待用户主动断开连接,直接关闭数据库。
shutdown immediate

(3)SHUTDOWN 语句执行后,数据库将开始执行关闭操作。

2,在 OEM 中关闭数据库

(1)以 SYS 用户、SYSDBA 连接身份登录 OEM

(2)在“一般信息”标题下,单击“关闭”按钮:

(3)在“主机身份证明”栏目输入具有管理权限的操作系统用户名和密码,在“数据库身份证明”栏目中输入具有 SYSDBA 权限的数据库用户的用户名和密码,选中“另存为首选身份证明”的复选框。

(4)设置完毕后单击“确定”按钮打开下图“启动/关闭:确认”页面,点击“高级选项”按钮:

(5)在“启动/关闭:高级关闭选项”页面中可以看到,默认是按“立即”选项关闭数据库的。此时直接点击“确定”按钮返回之前的页面。

(6)单击“”按钮,打开“启动/关闭:活动信息”页面:

(7)此时已经开始关闭数据库,经过一段时间后单击“刷新”按钮,便出现“数据库实例”页面,至此数据库成功关闭。

3,在 Windows 服务窗口中关闭数据库

(1)以系统管理员身份登录 Windows 操作系统,打开“服务”窗口,其中与 Oracle 11g 有关的服务均以 Oracle 为前缀:
与每个数据库的启动和关闭有关的服务如下(SID 表示 Oracle 系统标识符,我这里是 ORCL):
  • OracleDBConsoleSID:对应 OEM 服务
  • OracleServiceSID:对应 Oracle 数据库例程
  • OracleOraDb11g_home1TNSListener:对应 Oracle 数据库数据监听服务。

(2)虽然这 3 个服务都可以单独地启动和关闭,但比较传统的关闭顺序如下(启动次序反之),我们依次右键点击这 3 个服务选择“停止”即可:
  • OracleDBConsoleSID
  • OracleServiceSID
  • OracleOraDb11g_home1TNSListener

二、启动数据库

1,使用 SQL*Plus 启动数据库

(1)首先用 SYSDBA 的连接身份,启动 SQL*Plus 并同时登录、连接到数据库。
sqlplus / as sysdba

(2)然后使用 STARTUP 命令启动数据库:
(1)STARTUP 命令语法如下,其中 OPEN(正常)为默认选择,即正常启动模式:
  • STARTUP [NOMOUNT| MOUNT| OPEN| FORCE][RESTRICT][PFILE='pfile_name']
(2)各个选项的作用和意义如下:
  • NOMOUNT 选项:只创建例程,但不装载数据库。此模式下用户可以与数据库进行通信,但不能使用数据库中的任何文件。使用场景:运行一个创建新数据库的脚本,重建控制文件。
  • MOUNT 选项:不仅创建例程,还装载数据库,但却不打开数据库。该模式下仅数据库管理员可以通过部分命令修改数据库,用户还无法与数据库建立连接或会话。使用场景:重新命名、增加、删除数据文件和重做日志文件,执行数据库的完全恢复,改变数据库的归档模式。
  • OPEN 选项:不仅创建例程,还装载数据库,并且打开数据库。这是正常启动模式,该模式下任何具有 CREATE SESSION 权限的用户都能够连接到数据库,进行常规的数据访问操作。
  • FORCE 选项:该选项首先异常关闭数据库,然后重新启动它,而不需要事先用 SHUTDOWN 语句关闭数据库。相当于 shutdown abort + startup 的组合,即“强制关闭数据库 + 正常启动数据库”。使用场景:正常启动遇到困难时使用,当服务器突然断电时数据库异常中断,可能会是数据库遗留在一个必须使用 FORCE 启动选项的状态。
  • RESTRICT 选项:会将数据库启动到 OPEN 模式,但此时只有拥有 RESTRICTED SESSION 权限的用户才能访问数据库。该选项适合需要在数据库处于 OPEN 模式下执行维护任何,又要保证此时其他用户不能再数据库上建立连接和执行任务。使用场景:执行数据库数据的导出和导入操作,执行数据装载操作(用 SQL*Loader),暂时阻止一般的用户使用数据,进行数据库移植或升级
  • PFILE 选项:数据库例程再启动时必须读取一个初始化参数文件。Oracle 需从初始化参数文件中获得有关例程的参数配置信息。
startup

(3)由于我们 STARTUP 语句没有指定任何选择,则默认使用 OPEN 选项,即正常模式启动数据库。该模式不仅创建例程,还装载数据库,并且打开数据库。

2,在 OEM 中启动数据库

(1)访问 OEM 页面,单击“启动”按钮:

(2)在“主机身份证明”栏目输入具有管理权限的操作系统用户名和密码,在“数据库身份证明”栏目中输入具有 SYSDBA 权限的数据库用户的用户名和密码,选中“另存为首选身份证明”的复选框。

(3)设置完毕后单击“确定”按钮打开下图“启动/关闭:确认”页面,点击“高级选项”按钮:

(4)在“启动/关闭:高级启动选项”页面中,我们可以选择启动模式、初始化参数、以及其他一些启动选择。可以看到默认是按“打开数据库”的启动模式启动数据库的,我们不做修改,直接点击“确定”按钮返回之前的页面。

(5)单击“”按钮,打开“启动/关闭:活动信息”页面:

(6)经过一段时间的多次闪烁后,将出现“登录”页面,表示此刻该数据库已经启动,用户可以登录了。

3,在 Windows 服务窗口中启动数据库

(1)以系统管理员身份登录 Windows 操作系统,打开“服务”窗口,其中与 Oracle 11g 有关的服务均以 Oracle 为前缀:
与每个数据库的启动和关闭有关的服务如下(SID 表示 Oracle 系统标识符,我这里是 ORCL):
  • OracleDBConsoleSID:对应 OEM 服务
  • OracleServiceSID:对应 Oracle 数据库例程
  • OracleOraDb11g_home1TNSListener:对应 Oracle 数据库数据监听服务。

(2)虽然这 3 个服务都可以单独地启动和关闭,但比较传统的启动顺序如下(关闭次序反之),我们依次右键点击这 3 个服务选择“启动”即可:
  • OracleOraDb11g_home1TNSListener
  • OracleServiceSID
  • OracleDBConsoleSID
评论

全部评论(0)

回到顶部