【收藏整理】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或者 ......
近日在学习Oracle 10G的过程中遇到一个问题,关闭数据库(shutdown immediate)后,再重启数据库(startup),启动失败,12514的错误,如果通过sqlplus /nolog进入数据库以后,用conn连接,一样不行。重新打开一个cmd窗口,输入:
sqlplus
用户名:sys@sim as sysdba,密码输入完成后,仍然出现如下错误:
ORA ......
一:
使用Profile对用户Session会话进行资源限制
--但是如果使用了连接池之类的东东,就会出些问题,比如前台连接不上之类的
--http://www.eygle.com/archives/2008/10/profile_session_limit.html
sqlplus "/ as sysdba"
SQL> show parameter resource
SQL> alter system set resource_limit= ......
select trim(leading | trailing | both ' ' from ' abc d ') from dual;
去掉字符串 ' abc d ' 的前面/后面/前后的空格
类似函数:ltrim, ......
1.得到一个表的ddl语句:
SET SERVEROUTPUT ON
SET LINESIZE 1000
SET FEEDBACK OFF
set long 999999 ------显示不完整
SET PAGESIZE 1000 ----分页
EXECUTE DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.S ......