oracle优先站点的原理_深入理解 Oracle 启动原理

当oracle启动时,初始化参数文件的加载顺序为:spfilesid.ora、spfile.ora、initsid.ora

数据库处于SHUTDOWN状态:数据库处于停止状态。不能接受外界数据请求。使用操作系统命令ps –ef | grep ora看不到任何数据库进程的存在,启动脚本问dbstart

数据库处于NOMOUNT状态:数据库后台进程(ps -ef | grep ora_可查看)已经建立。并根据参数文件中关于SGA的相关参数,建立共享内存区和缺省的oracle数据库进程。并同时检查相关初始化参数的正确性,可以进行登入

数据库处于MOUNT状态:数据库读取控制文件中的内容,并按照控制文件中指定的参数找到相应的数据文件,并启动数据库的归档或非归档状态。数据库在此状态检查各个数据文件的一致性。如果出现数据文件损坏,要求用户进行恢复

数据库处于OPEN状态:数据库在此状态检查各个数据文件的一致性。如果出现数据文件损坏,要求用户进行恢复

相关命令

dbstart

shutdown normal

shutdown transactional

shutdown immediate

shutdown abort

startup nomount;

alter database mount

alter database open

一、状态解析

1.shutdown 状态

$ ps -ef | grep oracle

oracle 4524 1 0 00:54 ? 00:00:39 /data/oracle/product/11.2.0/db_1/bin/emagent

root 12825 974 0 13:49 ? 00:00:00 sshd: oracle [priv]

oracle 12832 12825 0 13:49 ? 00:00:00 sshd: oracle@pts/0

oracle 12833 12832 0 13:49 pts/0 00:00:00 -bash

oracle 13825 12833 0 13:54 pts/0 00:00:00 ps -ef

oracle 13826 12833 0 13:54 pts/0 00:00:00 grep --color=auto oracle

$ ipcs -a

------ Message Queues --------

key msqid owner perms used-bytes messages

------ Shared Memory Segments --------

key shmid owner perms bytes nattch status

0x011268f0 458753 root 600 1000 8

------ Semaphore Arrays --------

key semid owner perms nsems

2.nomount

读取参数文件 SPFILE ---- 分配 SGA ---- 启动后台进程 --- 打开告警文件和跟踪文件

在启动实例时,将为实例创建一系列后台进程和服务进程,并且在内存中创建 SGA 区等内存结构。在实例启动的过程中只会使用到初始化参数文件,数据库是否存在对实例的启动没有影响。如果初化参数设置有误,实例将无法启动

$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Sun Mar 26 14:05:14 2017

Copyright (c) 1982, 2009, Oracle. All rights reserved.

Connected to an idle instance.

SQL> startup nomount

ORACLE instance started.

Total System Global Area 3273641984 bytes

Fixed Size 2217792 bytes

Variable Size 2432698560 bytes

Database Buffers 822083584 bytes

Redo Buffers 16642048 bytes

select * from v$bgporcess;

select * from v$instance;

v$parameter、v$sga、v$process、v$session、v$instance等等

例如:

show parameter control_files; //通过参数文件获得控制文件的位置

show sga;

SELECT * from v$sgastat //SGA 分为不同的池

show parameter background_dump_dest; //打开告警文件和跟踪文件,启动过程可以查看alert_orcl.log

3.mount

装载数据库就是把数据库文件和实例关联起来,包括以下三个步骤

Oracle根据参数文件 SPFILE 中的参数找到控制文件 ---》 打开控制文 ---》 从控制文件获得数据字典和重做日志文件的名字及位置

但此时还不能查询数据库文件,如表和视图。所以对于普通用户而言,这个时候数据库还是不可用的。只有等到经历了最后一步 打开数据库 之后,才能使用数据库

select * from v$tablespace;命名空间

select * from v$datafile;数据文件

select * from v$database;数据库信息

v$controlfile、v$database、v$datafile、v$logfile

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值