文档章节

Oracle浅谈第六回

ChyiHuang
 ChyiHuang
发布于 2017/05/16 16:07
字数 1435
阅读 31
收藏 0

Oracle的实例是由实例和一组数据库文件组成的,实例则是Oracle开辟的内存区和一组后台进程组成的。

体验过Oracle内存区后,我们来体会一下后台进程,因为Windows环境中Oracle是多线程形式的,所以我们登录Linux/Unix环境,UNIX环境下是多进程的,方便查看。

方框标记的部分是刚才熟悉的几个进程,Oracle还有其他很多相关的进程,可以看出Oracle的实例名叫itemtest,具体可以在数据库中查看到,如下:

LOCAL=NO的部分,这表示是非Oracle本身的后台进程,是别的用户通过监听,连接该数据库进行访问的

LOCAL=NO的这些进程如果被杀了,数据库不会崩溃,只是某些应用正好连上来操作数据库,被强制提出数据库了,而那些LGWR和DBWR进程被杀了,那么数据库机会立即崩溃,操作一定要小心,这里少了一个进程,即ARCH,这是归档进程,当日志循环写入过程中会出现下一个日志已经被写过的情况,再继续写将会覆盖其内容,需要将这些即将被覆盖的内容写出到磁盘里去形成归档日志文件,这样日志记录就不会丢失,将来数据库就可以从这些日志文件和归档文件中进行数据库的恢复处理。不过这个归档并非是必要的,因为有的数据库只是用来测试的,对安全性要求不高,此时就可以考虑把归档进程给关闭,数据库少做一件事,效率就会提升。

查看归档进程是否打开:

Database log mode 表示当前数据库时非归档的。

更改数据库的归档模式比较麻烦,需要重启数据库,将数据库置于mount状态后,输入alter database archivelog(如果是归档改为非归档,这里是alter database noarchivelog),然后在开启数据库alter database open,才可以将数据库改为归档,具体步骤如下:

现在ARCH进程也可以查询到了,发现ARCH这个进程是允许多进程的,

数据库时如何启动和关闭的,这可以说是数据库最常见的操作了,下面我们来看一下数据库启动的具体步骤,首先看体系结构图的数据库部分

参数文件和控制文件和数据库的启动与关闭时息息相关的,数据库的启动可以分为三个阶段,分别是nomount、mount和open,我们在启动的时候直接输入startup启动,也可以分成startup nomount、startup mount和alter database open三步分别启动,下面一次描述三个步骤:

    1. startup nomount阶段:

        Oracle必须读取到数据库的参数文件(PFILE或者SPFILE),如果读不到参数文件,数据库根本无法启动成功,如果读取到参数文件,将会完成一个重要的事,就是根据参数上的内存分配策略分配相应的内存区域,并启动相应的后台进程,换而言之,就是创建了instance实例,

        为了保证数据库可以动态的修改参数,从Oracle9i 起,Oracle引进了SPFILE参数来替代之前仅有的单一PFILE的一种情况,具体在数据库开启后可以执行如下命令来了解,如下就表示是SPFILE启动的。

一般来说,Oracle9i 后的版本数据库是这样一个情况,首先查找spfile文件,查找不到了在查找INIT.ORA文件,在查不到就报错了,nomount失败。

    2. startup mount 阶段

        实例已经创建,Oracle继续根据参数文件上描述的控制文件的名称和位置,去查找控制文件,一旦找到立即锁定该控制文件,控制文件里记录了数据库中数据文件、日志文件、检查点信息等非常重要的信息,所以Oracle成功锁定控制文件就表示数据库mount成功,为实例和数据库之前桥梁的搭建打下了基础。

    3. alter database open 阶段

        根据控制文件记录的信息,定位到数据库文件、日志文件等,从而正式开通了实例和数据库之间的桥梁。

总结起来,nomount阶段仅需要一个参数文件就可以启动成功,mout阶段能够正常读取到控制文件才能成功,而open阶段需要保证所有的数据文件和日志文件等需要和控制文件里记录的名称和位置一致,能被锁定访问的同时还要保证没有损坏,否则数据库的open阶段就不可能成功。

文件的体会:

    没有参数文件,实例无法创建,数据库无法nomount成功;没有控制文件,数据库无法mount;没有数据文件数据库无法打开使用(此外,没有了数据文件,那数据没有地方保存,数据库也就失去意义了);没有日志和归档文件数据库就失去了保护伞,数据库变得很不安全。因此,所有的这些文件都非常重要。

    下面我们来感受一下Oracle数据库中的这些参数文件、控制文件、数据文件、日志文件、归档文件存在数据库主机的什么位置,又都是通过什么方法查询到的:

    

 

 

 

 

 

 

 

 

 

 

 

© 著作权归作者所有

ChyiHuang
粉丝 3
博文 54
码字总数 51006
作品 0
朝阳
程序员
私信 提问
《浅谈JavaScript系列》系列技术文章整理收藏

《浅谈JavaScript系列》系列技术文章整理收藏 1浅谈JavaScript中面向对象技术的模拟 2浅谈javascript函数劫持[转自xfocus]第1/3页 3浅谈javascript 面向对象编程 4老鱼 浅谈javascript面向对...

开元中国2015
2015/07/27
1K
0
Oracle数据库学习的福利来啦——最佳入门经验分享

适用人群:从事数据库技术实施或售后工程师,准备参加OCA,OCP认证考试 通过学习对Oracle数据库的相关基础知识进行梳理,最终共同提炼出必须最先掌握的那部分知识,无论你是数据库开发、管理、...

让往事随风
2016/04/13
79
0
Oracle 10g 表空间物理位置转移

上周五花了多个小时,专门来明白了下ORACLE表空间转移的知识,由于测试站点ORACLE所在的硬盘只剩下十几M的空间了。于是我将表空间转移到另外一个硬盘,流程如下:   操作环境:   数据库...

阿莱倪士
2013/06/08
109
0
细说JavaScript数据类型及转换

细说JavaScript数据类型及转换 JavaScript数据类型 1.Boolean(布尔) 布尔:(值类型)var b1=true;//布尔类型 2.Number(数字) 数值:(值类型)var n1=3.1415926;//数值类型 n1.toFixed...

开元中国2015
2015/07/13
103
1
Oracle ORA-01033 错误的解决办法

Oracle数据库,输入登录名和密码后,提示如下错误:ora-01033:oracle initialization or shutdown in progress; 第一种解决方法: 第一步,运行cmd -- 注意【以管理员身份打开DOS窗口,要不...

Sheamus
2015/06/10
620
0

没有更多内容

加载失败,请刷新页面

加载更多

SIPC的保全存证变现应用才是先见之明

Facebook发起的Libra在接连退群后终于在联盟链上线前官宣成立联盟,同时Telegram公链TON在主网上线前被美国SEC要求退回私募非法所得。两个都拥有活跃用户数上亿的社交平台,一个以1000万美元...

SimpleChain
15分钟前
1
0
Node_初步了解(3)回调,作用域,上下文

本文转载于:专业的前端网站➧Node_初步了解(3)回调,作用域,上下文 1. 1 //回调:回调是异步编程最基本的方法,node.js需要按顺序执行异步逻辑的时候,一般采用后续传递的方式,将后续逻辑...

前端老手
15分钟前
1
0
好程序员Java教程分享Java的五大特点

好程序员Java教程为大家分享Java的五大特点希望对初学者有所帮助。 一、Java的(五大)特点: 1.简单性 相对于c语言来说 c语言的核心 指针(保存地址)*p Java中没有指针的概念(使用的是引用概念...

好程序员官网
17分钟前
1
0
移动端rem适配各种屏幕字体

在页面中引入这个js文件,可以实现各个屏幕的字体自适应: (function (doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientationchange' in window ? 'orientationchange' : ......

流年那么伤
18分钟前
2
0
2019我最喜爱的绿色应用活动投票开始,谁能突出重围?

在去年第一届软件绿色联盟开发者大会上,共有36个绿色应用荣获“2018年度我最喜爱的绿色应用”奖项。活动得到了消费者、开发者与应用厂商的一致好评,刚过完十一假期就有小伙伴们后台留言,问...

软件绿色联盟
29分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部