实例跟数据库的区别

  实例(instance)是内存中的一块区域和一组后台进程的集合。它的作用是维护数据库文件的。而数据库(database)则是指存放数据的数据库文件。它是一系列格式化的数据的集合。它只有挂载到实例上,才能被访问,维护。

  Oracle启动过程

  要启动一个oracle数据库,首先需要启动一个实例,然后把数据库文件挂载到这个实例,最后把数据库设置成打开模式。这样就完成了一个数据库的启动过程。

  首先,oracle根据环境变量中的ORACLE_SID确定要启动哪一个数据库,然后在$ORACLE_HOME/database/目录下找到初始化参数文件。根据初始化参数文件中的内容,分配系统内存,创建后台进程。这样实例就启动完成了。

  然后根据参数文件中指定的控制文件路径,找到要挂载的数据库的控制文件,控制文件是个二进制文件,不可进行直接读写。实例根据控制文件内容,检查加载数据库文件,重做日志文件,这样,数据库就挂载到实例上了。最后将数据库至于打开状态。

  从上面的过程可以看出,两个文件是非常重要的,他就是

  初始化参数文件跟控制文件。初始化参数文件

  原本oracle使用的pfile文件,是个文本文件。可直接用文件编辑器进行修改。后来,oracle在启动参数文件这部分引入了spfile文件,这是个二进制文件,不可以直接修改。但同时oracle也支持以文本格式的pfile文件为参数进行启动。启动之后可以根据现有的pfile文件对spfile文件进行重建。

  以pfile参数文件启动的命令为

  Startup nomount pfile=’/u01/initoracle.ora’

  即使用pfile=‘’参数对启动参数文件进行指定。

  启动实例后,可用

  Create spfile from pfile=‘/u01/initoracle.ora’

  对spfile文件进行重建。

  当数据库的启动参数文件丢失的时候,可以直接把其他数据库的启动参数文件拷贝过来,然后以文本打开,对其中的参数进行调整,就可以直接使用了。

  参数文件主要是用来启动实例的。它里面的主要参数主要设置了实例内存区各区域的大小。参数文件中另一个比较重要的参数就是控制文件位置。

  当oracle实例启动后,若要挂载数据库,可使用命令

  Alter database mount

  命令对数据库文件进行挂载。这个命令主要是根据参数文件中的控制文件路径找到控制文件,然后根据控制文件的内容,把数据库文件,重做日志文件挂载到实例上。

  控制文件

  是个二进制文件,它里面主要记录了数据库文件的路径以及重做日志文件的路径,以及scn号等信息。因为这个文件很重要,一般数据库中留有这个文件的2-3个备份,并且数据库管理员应该物理的将这个文件备份至不同磁盘,甚至不同主机上。

  一般参数文件中的控制文件路径会不止一个,当挂载数据库的时候,实例会检查所有路径下的参数文件的有效性并核对各个参数文件内容是否一致,若内容有差别或者某个路径下的参数文件失效,则实例会报错,并无法挂载数据库。

  若只是数据库控制文件众多备份中的一个损坏了,那直接从备份的控制文件拷贝过来,并更改好文件名就可以直接使用了。

  对于控制文件的备份还有一种方式,就是登陆数据库,使用命令

  Alter database backup controlfile to trace;

  这条命令就经控制文件中的内容备份到了trace文件中,可通过查看相应的trc文件来进行控制文件的恢复。当然,alert_log中会记录此备份语句的执行,并记录控制文件备份的trc文件的名字。

  此命令对应的trace文件完整的告诉了你如何利用此文件中的信息进行控制文件恢复。首先包括两种方式,resetlog和noresetlog。Resetlog就是重置日志,当重做日志部分不可用或全部不可用的时候使用此方法。Nosetlog就是不重置日志,当日志文件全部可用的时候使用此选项托福答案 www.tfjy386.com

  当然,如果控制文件完全丢失也没有备份,那么只有利用其它数据库中的trace文件中的信息,做一定的修改,然后重建控制文件。

Oracle database启动过程分析的更多相关文章

  1. Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之ORACLE集群概念和原理(二)

    ORACLE集群概念和原理(二) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...

  2. 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之缓存融合技术和主要后台进程(四)

    缓存融合技术和主要后台进程(四) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...

  3. Oracle Database 11g Express Editon介绍及安装

    一.Oracle Database 11g Express版本介绍 公司项目开发中,使用的数据库是Oracle 10g和MySQL 5.5,最新因为开发需要,需要从后台读取一些数据.使用的客户端是PL ...

  4. Oracle Database Server 'TNS Listener'远程数据投毒漏洞(CVE-2012-1675)解决

    环境:Windows 2008 R2 + Oracle 10.2.0.3 应用最新bundle patch后,扫描依然报出漏洞 Oracle Database Server 'TNS Listener ...

  5. Oracle Database 11g Release 2(11.2.0.3.0) RAC On Redhat Linux 5.8 Using Vmware Workstation 9.0

    一,简介 二,配置虚拟机 1,创建虚拟机 (1)添加三块儿网卡:   主节点 二节点 eth0:    公网  192.168.1.20/24   NAT eth0:    公网  192.168.1 ...

  6. 【转】Oracle Database PSU/CPU

    转自: http://www.cnblogs.com/ebs-blog/archive/2011/07/28/2167232.html 1. 什么是PSU/CPU?CPU: Critical Patc ...

  7. Linux环境下Oracle数据库启动停止命令

    切换root至oracle数据库账号 su – oracle 查看数据库服务状态: ps -ef |grep oracle netstat –an|grep 1521 查看数据库监听状态: [orac ...

  8. Oracle Database 11g Express Edition学习笔记

    修改字符集 使用用户system,通过sqlplus程序连接到Oracle数据库,输入以下命令,查看字符集: SQL> select userenv('language') from dual; ...

  9. Oracle Database 11g Express Edition 使用小结(windows)

    如何启动oraclewindows系统服务中有一个服务叫:[OracleService[SID]]SID是你安装oracle xe时候的实例名,如果你没有改默认的是[XE], OracleServic ...

随机推荐

  1. Linux下视频转换工具:转换,切割,连接,

    首先当然是需要安装ffmpeg软件包,可以直接从源中进行安装!但我安装后并不能成功执行后面所需要执行的转换命令,所以我只能重新从源码编译安装ffmpeg: (1)下载ffmpeg源码包,注意版本不能太 ...

  2. POJ2586 Y2K Accounting Bug(贪心)

    题目链接. 题目大意: 题目相当晦涩难懂啊. 一年的12个月,每5个月统计一次,如从1~5,2~6,3~7,...,8~12共统计了8次,已知每次都deficit,问这一年有没有盈利的可能. 一个月s ...

  3. 使用 CustomScript 扩展程序自动执行 Linux 虚拟机自定义任务

    NingKuangWSSC WS ARD 高级项目经理 您可能已经从Windows扩展程序博客中了解了针对 Windows 虚拟机的 CustomScript扩展程序,现在的好消息是,这一扩展程序也已 ...

  4. Qt入门(7)——QApplication类

    QApplication类管理图形用户界面应用程序的控制流和主要设置.它包含主事件循环,在其中来自窗口系统和其它资源的所有事件被处理和调度.也用于处理应用程序的初始化和结束,并且提供对话管理.它也处理 ...

  5. POJ 1734 Sightseeing trip

    题目大意: 求一个最小环. 用Floyd 求最小环算法. #include <iostream> #include <cstdlib> #include <cstdio& ...

  6. C#之VS2010ASP.NET页面调用Web Service和winform程序调用Web Service

    一:用ASP.NET调用Web Service 打开VS2010,打开“文件-新建-网站”,选择“ASP.NET网站” 选好存储位置,语言后点击确定,进入默认页面.然后先添加Web引用,把WebSer ...

  7. Minimum Depth of Binary Tree ——LeetCode

    Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shor ...

  8. openstack 使用集锦

  9. (1.1.9)UVA 10930 A-Sequence(模拟)

    /* * UVA_10930_1.cpp * * Created on: 2013年10月7日 * Author: Administrator */ #include <iostream> ...

  10. 【转】Android:Touch事件分发机制

    Touch事件分发中只有两个主角:ViewGroup和View.Activity的Touch事件事实上是调用它内部的ViewGroup的Touch事件,可以直接当成ViewGroup处理. View在 ...