一.启动和关闭
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
四.实例关闭的模式--工做中通常用第2、三种
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
sql