您的位置:首页 > 其它

ORALCE体系结构---实例的工作流程

2016-12-07 00:00 169 查看

实例的管理:

一.启动和关闭

1.sqlplus:
startup //启动
shutdown immediate //关闭
selert open_mode v$database
2. grid---database:
srvctl startup database -d sidname(实例名) //打开实例
srvctl status database -d sidname //查看实例状态
srvtcl stop database -d sidname //关闭实例

查看帮助
[oracle@up12 ~]$ srvctl
[oracle@up12 ~]$ srvctl start -h
[oracle@up12 ~]$ vim /home/oracle/.db
[oracle@up12 ~]$ srvctl status database -d maxdb

3. grid---grid

srvctl startup database -d sidname(实例名) //打开实例
srvctl status database -d sidname //查看实例状态
srvtcl stop database -d sidname //关闭实例
crs_start ora.maxdb.db //打开实例
crs_status -all //查看状态
crs_stop ora.maxdb.db

[oracle@up12 ~]$ . /home/oracle/.grid
[oracle@up12 ~]$ crs_stat

[oracle@up12 ~]$ crs_start ora.maxdb.db //crs_stop ora.maxdb.db
CRS-5702: Resource 'ora.maxdb.db' is already running on 'up12'
CRS-0223: Resource 'ora.maxdb.db' has placement error.

一.实例启动的阶段

1.sqlplus
启动三个阶段---startup 是一步完成三个步骤
a.nomunt ----实例启动阶段(参数文件)
start nomount;
根据参数文件的位置启动实例,
根据参数文件中定义的数据库名字,内存的分配,权限,位置,个数,将启动信息写到用户日志和告警日志,启动后台进程初始化部分视图(v$prameter,v$spprameter)。

b.mount---数据库装载阶段(参数文件,控制文件)
alter database mount; //如果不成功则为控制文件有问题 --初始化一部分试图,写入告警日志和用户日志
根据参数文件中定义的控制文件个数,位置来装载数据库。

c.open ---数据库打开阶段(参数文件,控制文件,数据文件,日志文件)
alter database open; //如果不成功一定会丢数据

根据控制文件中,定义的数据库名,数据文件和日志文件的名字位置,个数,(判断验证控制文件中记录的SCN号和数据文件,日志文件是否一致,如果一致,数据库打开,如果不一致,启动时做实例恢复)

通讯有问题---日志文件有问题
xx数据块有问题---数据文件有问题

三.实例关闭的阶段
1.close ---关闭数据库
alter dabatabse close;
关闭数据文件和日志文件

2.dismount---卸载数据库
alter database dismount;
将实例与数据库断开连接

3.shutdown--关闭实例
shutdown

四.实例关闭的模式--工作中一般用第二、三种
1.shutdown normal --正常关闭
old connect---等待
ckpt ---保证三个文件SCN号一致,项目中不推荐使用,关闭时间长
2.shutdown immediate--- 一致性关闭
用户的事务如果没有完成,就会对进行回滚
会触发ckpt
3.shutdown transactional---居于事务的关闭方式
old connct---等待事务的结束就关闭
ckpt
4.shutdown abort----强制关闭
新的连接不能连接,老的连接直接终端。当前面三种方式不能关闭时,我们使用这种方式关闭,一般是数据库出现了物理问题

五.生命周期

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