之前对Oracle也没有什么了解,只是DBA给我们一个用户,然后我们连上去就OK,总是搞不明白。今天有空来看看Oracle的启动过程,还是有很多东西值得我们来仔细研究的:
Oracle的启动过程总共分三步:
1 启动Oracle的实例;
2 挂载Oracle数据库;
3 打开数据库;
启动Oracle实例到nomount状态:
SQL> startup nomount
ORACLE 例程已经启动。
Total System Global Area 293601280 bytes
Fixed Size 1248600 bytes
Variable Size 109052584 bytes
Database Buffers 176160768 bytes
Redo Buffers 7139328 bytes
SQL>
在这个情况下,Oracle都做了哪些工作呢:只是去寻找一个叫做spfile,或者是pfile的文件,然后根据这个文件去创建实例,分配内存;那么你肯定是要问,那我如何才可以知道我载入的那个文件呢:
SQL> show parameter spfile; NAME TYPE ------------------------------------ ---------------------- VALUE ------------------------------ spfile string D:\ORACLE\PRODUCT\10.2.0\DB_1\ DATABASE\SPFILEGJSID.ORA SQL> 看到了吧,Oracle载入的就是在这个目录下的SPFILE.ora。那pfile和spfile之间有什么区别呢:pfile其实和spfile是一样的内容,只不过spfile在文件头的时候,有些我也不太明白的东西。
可以用以下的命令来实现pfile和spfile的转换:
SQL> create pfile from spfile; 文件已创建。 SQL>
接下来呢,就到了挂载Oracle数据库的时候:
SQL> alter database mount; 数据库已更改。 那这个过程中,Oracle做了哪些工作,其实是根据刚刚spfile里面的内容来寻找一个叫做控制文件的东东control file,你能搞明白么,在Oracle中,共有三个一模一样的控制文件,就是为了防止有控制文件损坏。
这个时候你可以通过以下的命令来查看加载的控制文件:
SQL> select * from v$controlfile; STATUS NAME IS_ BLOCK_SIZE FILE_SIZE_BLKS ------- ---------------------------------------- --- ---------- -------------- D:\ORACLE\DATA\GJSID\CONTROL01.CTL NO 16384 430 D:\ORACLE\DATA\GJSID\CONTROL02.CTL NO 16384 430 D:\ORACLE\DATA\GJSID\CONTROL03.CTL NO 16384 430 SQL> show parameter control_file; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ control_file_record_keep_time integer 7 control_files string D:\ORACLE\DATA\GJSID\CONTROL01 .CTL, D:\ORACLE\DATA\GJSID\CON TROL02.CTL, D:\ORACLE\DATA\GJS ID\CONTROL03.CTL SQL> 看到了吧,这个时候,控制文件就加载到系统视图里了,在没有mount之前,v$controlfile里是没有内容的。
打开数据库,
SQL> alter database open;
这个时候,Oracle会去数据文件头和控制文件头里去检查数据库版本的一致性,和数据的连续性,检查SCN - system changing number。
至此,Oracle就算是启动完成了。如果其中有报错的话,可以去查看在alter_.log. 在其中有比较完整的信息。
全当自己学习Oracle的笔记吧。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
rocky linux mysql8.4主从环境搭建以及数据库备份全过程
mysql8.4 mysqldump 备份脚本
mysql MySQL 慢查询 -
MapReduce 运行全过程解析
(没有隐私的世界)走进MapReduce
数据 mapreduce hdfs -
DNS域名解析全过程
面试题: DNS寻址过程或者DNS解析过程二种方式解析1 递归
域名 网络 DNS 域名服务器 ip地址 -
图解ARM Linux的启动全过程初始化 .net linux 自解压
-
SpringBoot应用接入Prometheus的全过程解析
普罗米修斯:Prometheus是一个开放性的监控解决方案
java 开发语言 数据库 分布式 spring -
lnmp×××全过程
&n
color 160 -
全过程(转载)
(1)关闭window、预览(preview)、浏览器(browser)、黑屏; (2)面向对象(obje
interface browser api 跨平台 object