您的位置:首页 > 数据库 > Oracle

Oracle OCP笔记(04)实例的启动关闭

2014-12-20 20:22 260 查看

Oracle OCP笔记(04)实例的启动关闭

1.启动和停止侦听器

侦听器是一个进程,由于监视一个端口的数据库连接请求.

侦听器控制程序lsnrctl位于ORACLE_HOME/bin目录下.

默认的侦听器名称是LISTENER,可以使用netca命令配置侦听器.

启动和停止侦听器语法:

lsnrctl status [listener]

lsnrctl start [listener]

lsnrctl stop [listener]

2.启动和关闭数据库

(1)使用适当的权限进行连接

要启动和关闭数据库,需要先连接进行身份验证。身份验证类型:

·默认为数据字典身份验证

·口令文件身份验证

·操作系统身份验证

普通用户无权限启动或关闭数据库,原因在于普通用户依据数据字典进行身份验证。

从逻辑上讲,只有在打开数据库之后,才能读取到数据字典,因此无法启动实例并打开数据库。

要启动和关闭数据库必须使用一些外部身份验证方式来连接数据库: 操作系统身份验证或口令文件身份验证.

SYSOPER和SYSDBA是具有特殊功能的特殊权限,只有用户使用外部身份验证方式连接时才能启用这些权限.

口令文件位置: $ORACLE_HOME/dbs/orapwSID

使用sqlplus工具或使用Database Control工具来连接和操纵数据库.

sqlplus文件位置: $ORACLE_HOME/bin/

连接语法:

sqlplus /nolog -- 打开sqlplus程序

connect user/pass[@connect_alias] -- 普通用户身份验证

connect user/pass[@connect_alias] as sysdba -- 口令文件身份验证

connect user/pass[@connect_alias] as sysoper -- 口令文件身份验证

connect / as sysdba -- 操作系统身份验证

connect / as sysoper -- 操作系统身份验证

启动并连接数据库的快捷语法: sqlplus / as sysdba

(2)启动(startup)

启动经历三个阶段: 未加载(nomount),加载(mount),打开(open)

·未加载(nomount) -- 启动实例

·读取数据库参数文件

·启动后台进程并按参数文件中的定义分配内存

·将进展情况写入警告日志文件中.

·加载(mount) -- 读取控制文件,

·确定数据文件和重做日志文件的名称和位置

·确定数据库名

·确定最新系统更改号.

·打开(open) -- 打开数据库

·所有联机数据文件的头与控制文件信息比较

·所有文件同步后,数据库打开.

shutdown -> nomount -- 读取初始化参数文件,实例被构建在内存中,启动某些后台进程,将进展情况写入警告日志文件中,参数文件找不到则不能到nomount.

nomount -> mount -- 定位并读取控制文件,控制文件损坏和丢失则不能到mount,可以在nomount状态修复控制文件.

mount -> open -- 打开数据文件和重做日志文件,数据文件和重做日志文件存在问题或不同步则不能到open状态,可以在mount状态修复.

启动语法:

startup [nomount|mount|open]

startup -- 经历nomount、mount、open阶段

startup nomount

alter database mount

alter database open

执行startup命令时,Oracle会尝试定位参数文件:

$ORACLE_HOME/dbs/spfileSID.ora

$ORACLE_HOME/dbs/spfile.ora

$ORACLE_HOME/dbs/initSID.ora

初始化参数control_files指示控制文件的位置,控制文件指示数据文件和重做日志文件的位置.

(3)关闭(shutdown)

关闭的四个参数(normal,transactional,immediate,abort)

·normal: 默认选项,不许可新的用户连接,但允许继续当前的连接,所有用户退出时,数据库才能真正关闭.

·transactional: 不许可新的用户连接,不存在某个事务中的会话将被终止,处于事务中的会话完成事务后终止.所有会话终止,数据库将被关闭。

·immediate: 不许可新的用户连接,当前所有连接的会话都被终止,任何活动的事物都将回滚,随后数据库被关闭

·abort: 相当于断电,实例被立即终止.

关闭语法:

shutdown [normal|transactional|immediate|abort]

normal、immediate和transactional关闭模式通常称为干净的、一致的或有序的关闭。在所有会话终止后,PMON进程会回滚任何未结束的事务。接下来,CKPT进程发布一个检查点,从而促使DBWn进程将所有被更新的数据从数据库高速缓冲区写入数据文件,同时LGWR进程也将仍然存在于内存当中的所有变化矢量转储到日志文件,随后文件头被更新,文件句柄被关闭。这意味着数据库处于一致的状态:所有已提交的事务都位于数据文件中,不存在需要回滚的、被挂起的未提交事务,并且所有数据文件和日志文件同步。

abort模式通常被称为无序的关闭,并且会使数据库处于不一致的状态: 因为已提交的事务只存在于内存中,而DBWn进程还未将它们写入数据文件,所以这些事务极有可能丢失,同样,数据文件中的未提交事务也可能尚未回滚。也就是可能丢失了已提交的事务,也可能存储了未提交的事务。这些讹误必须通过实例恢复来修复。abort模式相当于服务器断电和重启。

startup force = shutdown abort + startup
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: