【收藏整理】Oracle数据库体系架构
原文见http://blog.csdn.net/kele1121/archive/2009/10/30/4742051.aspx与http://www.itpub.net/thread-1105403-1-1.html
所谓
Oracle
的体系架构,是指
Oracle
数据库管理系统的的组成部分和这些组成部分之间的相互关系,包括
内存结构、后台进程、物理与逻辑结构等。
Oracle
数据库的体系很复杂,复杂的原因在于它最大限度的节约
内存,从上图可以看出,它在整体上分实例和数据库文件两部分。
(
1
)首先区分一下数据库的实例(
Instance
)和数据库两个概念:
l
ORACLE
实例
=
进程
+
进程所使用的内存
(SGA)
,实例是一个临时性的东西,你也可以认为它代表了数据库某一时刻的状态!
l
数据库
=
重做文件
+
控制文件
+
数据文件
+
临时文件,数据库是永久的,是一个文件的集合。
ORACLE
实例和数据库之间的关系
1.
临时性
(instance)
和永久性
(
数据库
)
2.
实例(
instance
)可以在没有数据文件的情况下单独启动
startup nomount ,
通常没什么意义
3.
一个实例在其生存期内只能装载
(alter database mount)
和打开
(alter database open)
一个数据库
4.
一个数据库可被许多实例同时装载和打开
(
即
RAC)
,
RAC
环境中实例的作用能够得到充分的体现
!
下面对实例和数据库做详细的诠释:
在
Oracle
领域中有两个词很容易混淆,这就是
“
实例
”
(
instance
)和
“
数据库
”
(
database
)。作为
Oracle
术语,这两个词的定义如下:
数据库
(
database
):物理操作系统文件或
磁盘
(
disk
)的集合。使用
Oracle 10g
的自动存储管理(
Automatic Storage Management
,
ASM
)或
RAW
分区时,数据库可能不作为操作系统中单独的文件,但定义仍然不变。
实例
(
instance
):一组
Oracle
后台进程
/
线程以及一个共享内存区,这些内存由同一个计算机上运行的线程
/
进程所共享。这里可以维护易失的、非持久性内容(有些可以刷新输出到磁盘)。就算没有磁盘存储,数据库实例也能存在。也许实例不能算是世界上
相关文档:
在上篇文章里“走近Oracle数据字典--数据字典表”,我们谈到了数据字典对于我们作为DBA对数据库维护的重要性。数据库的对象信息,比如表,用户,存储过程,函数,视图,索引等等,这些存在在数据库里的对象的信息,都是在数据字典表里进行维护的,我们可以借用一些比较好的Oracle开发工具比如PLSQL dev或者 ......
大家好,我在http://download.csdn.net/source/836323上发的帖子,确实只是个demo,其题库内容见下文,此为最新题库的一部分,正式版题库是175题。需要正式版本的朋友,可以直接联系我或者到www.certinside.cn/1z0-051 上面看看,我们和testinside是一家的,需要的话我可以给你打个折,价格再议。我的QQ:390970748 ......
原帖: http://blog.chinaunix.net/u2/66903/showart_2082884.html
Oracle使用大量不同的审计方法来监控使用何种权限,以及访问哪些对象。审计不会防止使用这些权限,但可以提供有用的信息,用于揭示权限的滥用和误用。
下表中总结了Oracle数据库中不同类型的审计。
审 计 类 型
说 明
语句审计 ......
由于系统移植,原来的数据库编码和时区都换了,原来的一些SQL文也出错了。。
经常崩出"ORA-01846: not a valid day of the week
"错误。
经测试,以下这个简单语句也会错!!
SQL> select next_day(sysdate,'FRIDAY') from DUAL;
select next_day(sysdate,'FRIDAY') from DUAL
ORA-01 ......
DML Error Logging in Oracle 10g
主要在于使用DBMS_ERRLOG.create_error_log 这个包来跟踪dml错误信息
SQL> CREATE TABLE source (
2 id NUMBER(10) NOT NULL,
3 code VARCHAR2(10),
4 description VARCHAR2(50),
5 CONSTRAINT source_pk PRIMARY KEY (id)
6 );
表已创建。
SQL> DECLARE
2 TYPE t_tab IS ......