[ORACLE实例与数据库详解]:
在实际的开发应用中,关于Oracle数据库,经常听见有人说建立一个数据库,建立一个Instance,启动一个
Instance之类的话。 其实问他们什么是数据库,什么是Instance,很可能他们给的答案就是数据库就是
Instance,Instance就是数据库啊,没有什么区别。在这里,只能说虽然他们Oracle用了可能有了一定的经
验,不过基础的概念还是不太清楚。
什么是数据库,其实很简单,数据库就是存储数据的一种媒介。比如常用的文件就是一种,在Oracle10G中,
数据的存储有好几种。第一种是文件形式,也就是在你的磁盘中创建一批文件,然后在这些文件中存储信息
。第二种就是磁盘阵列形式,这个是什么意思呢,这个就是说明数据库不是存放为某个文件,而是把一个或
者多个磁盘格式化成Oracle的一种格式了,等于整个磁盘就是存放Oracle数据库的,不能作为别的用途。这
样的优点是存储性能高,因为不再借助别的文件格式了,而是把整个磁盘都成为Oracle最适应的文件系统格
式。当然还可能有别的形式,比如网络什么的。不过我们最常用的还是文件格式的,在文件格式中,数据库
指的就是那些数据文件,控制文件以及REDO文件等等一系列文件。
而什么是Instance呢,Instance其实就是指的操作系统中一系列的进程以及为这些进程所分配的内存块。在
Oracle中,我们可以新建一个Oracle的Instance,这个时候虽然有了进程还有SGA等一系列的内存快,但是这
个时候并没有把数据库文件读取进来。所以只是一个实例,在后来,你可以通过命令手动或者自动地把数据
库文件加载进我们的数据库Instance中,这个时候的数据库才可以让我们真正的开始访问操作。
所以说,数据库的应用如果想实现,数据库和数据库Instance是缺一不可的,如果只有数据库的那些文件,
那么,只能代表数据在这个文件中,但是我们无法直接进行操作。而如果只有数据库Instance,那么我们虽
然可以急性操作,但是也不知道操作哪些数据,操作生成的数据也无法保存等等。所以,当一个Oracle
Instance真正Load了一个Oracle Database了以后,数据库才可以被我们使用。
在这里要注意一点的是,Oracle的实例在启动以后,只能load一次数据库,如果想把数据库与Instance断开
,然后再重新挂在一个数据库Instance,那么就需要你首先把数据库Instance进程结束,然后重新建立这个
instance的一个进程,再load另外一个数据库。否则肯定要抛除ORA-16169错误,说数据库已经被打开。因为
一个数据库Instance在其生存期中最多只能load和打开一个instance。
ORACLE实例 = 进程 + 进程所使用的内存(SGA)实例是一个临时性的东西,你也可以认为它代表了数据库某一
时刻的状态!
数据库 = 重做文件 + 控制文件 + 数据文件 + 临时文件数据库是永久的,是一个文件的集合。
ORACLE实例和数据库之间的关系
1. 临时性和永久性
2. 实例可以在没有数据文件的情况下单独启动 startup nomount , 通常没什么意义
3. 一个实例在其生存期内只能装载(alter database mount)和打开(alter database open)一
个数据库
4. 一个数据库可被许多实例同时装载和打开(即RAC),RAC环境中实例的作用能够得到充分的体现!
[ORACLE实例与数据库启动方式]:
1、AIX5.3用oracle用户登陆。
2、登陆sqlplus。
$sqlplus /nolog
3、链接数据库实例hrbhouse。
SQL> conn sys/vhfs@hrbhouse
as sysdba
Connected to an idle instance.
#查看状态
SQL> show instance
instance "local"
SQL> show sga
ORA-01034: ORACLE not available
#数据库为启动
4、启动实例hrbhouse下的数据库。
SQL> startup
ORACLE instance started.
Total System Global Area 935329792 bytes
Fixed Size 2025304 bytes
Variable Size 247466152 bytes
Database Buffers 683671552 bytes
Redo Buffers 2166784 bytes
Database mounted.
Database opened.
#停止实例hrbhouse下的数据库
SQL> shutdown
Database closed.
Database dismounted.
ORACLE instance shut down.
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/allenky/archive/2009/03/10/3975346.aspx
分享到:
相关推荐
ORACLE实例与数据库之间人关系详解文档
详解_数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名
每个 Oracle数据库对应唯一的一个实例名SID,Oracle数据库服务器启动后,一般至少有以下几个用户:Internal,它不是一个真实的用户名,而是具有SYSDBA优先级的Sys用户的别名,它由DBA用户使用来完成数据库的管理任务...
让很多人受益匪浅,Oracle数据库自9i版本以后,10g,11g版本推荐使用CBO优化器,所以,本文主要结合一系列实例,详细讲解如何在CBO模式下进行Oracle数据库优化,其中主要包括收集数据库统计系统、收集列直方图、分析...
oracle体系结构图文详解。 oracle实例=SGA区+后台进程 oracle服务器=oracle实例+oracle数据库 数据库实例启动实质上即为:分配SGA区,启动后台进程
单实例数据库转换为 Oracle RAC 10g的实际操作步骤详解。
Oracle数据库Sql语句详解大全,详细介绍oracle数据库的sql各种写法,非常适合初学者快速入门使用。
ADO.NET & Oracle 10g 数据库应用程序开发实例详解, 很适合刚才接触.NET的爱好者。
主要介绍了Python使用cx_Oracle模块操作Oracle数据库,结合实例形式较为详细的分析了cx_Oracle模块的下载、安装及针对Oracle数据库的连接、执行SQL语句、存储过程等相关操作技巧,需要的朋友可以参考下
oracle12C安装 详解图解,根据实际安装步骤,数据库软件安装,实例创建,数据库创建三个部分,
详解Oracle数据库的安装、建置,以及安全认证方式;深入剖析Oracle的网络联机架构与设定,包含各类“网络服务组态文件”;详细介绍Oracle数据库的备份与恢复,并列举多项功能强大的复原管理工具;针对数据库、实体...
下面先给大家列出oracle手动创建数据库步骤如下所示: 1.编写初始化参数文件 2.设置操作系统环境变量 3.创建实例 4.以管理员身份连接数据库 5.启动实例 6.create database 创建数据库 7.运行数据字典脚本 8.Oracle的...
详解Oracle数据库的安装、建置,以及安全认证方式;深入剖析Oracle的网络联机架构与设定,包含各类“网络服务组态文件”;详细介绍Oracle数据库的备份与恢复,并列举多项功能强大的复原管理工具;针对数据库、实体...
Oracle_RMAN_详解与实例 1. 检查数据库模式: 2.连接到target数据库 3.用list backupset 命令查看有没有备份的东西 4. 常用备份命令: .......
导出数据 1)按用户导 2)并行进程parallel 3)按表名导 4)按查询条件导 5)按表空间导 6)导整个数据库 还原数据 1)导到指定用户下 2)改变表的owner 3)导入表空间 4)导入数据库 5)追加数据
详解数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名[参考].pdf
Oracle,PLSQL课件详解,适合初学者,配备实例,Oracle的帮助文档,帮你全面了解Oracle。全英文编写,在学习数据库之余亦可以提高英语水平
Oracle 12c数据库实例启动和关闭详解.pdf Oracle 12c利用Create database手工创建数据库.pdf Oracle 12c体系结构(一).pdf Oracle 12c体系结构(二).pdf Oracle 12c实验-段和高水位线.pdf Oracle 12c实验-管理表...
书中深入分析了Oracle数据库体系结构,包括文件、内存结构以及构成Oracle数据库和实例的底层进程,利用具体示例讨论了一些重要的数据库主题,同时分析了数据库中的物理结构,如表、索引和数据类型,并介绍采用哪些...
存储过程(Stored Procedure),就是作为可执行对象存放在数据库中的一个或多个SQL命令。用户通过指定存储过程的名字并给出参数来执行它。