导航:首页 > IDC知识 > oracle服务器组成

oracle服务器组成

发布时间:2020-12-11 21:10:47

1、oracle数据库的结构是什么?

Oracle数据库的体系结构包括四个方面:数据库的物理结构、逻辑结构、内存结构及进程。

1. 物理结构

物理数据库结构是由构成数据库的操作系统文件所决定,Oracle数据库文件包括:

数据文件(Data File)
数据文件用来存储数据库中的全部数据,例如数据库表中的数据和索引数据.通常以为*.dbf格式,例如:userCIMS.dbf 。

日志文件(Redo Log File)
日志文件用于记录数据库所做的全部变更(如增加、删除、修改)、以便在系统发生故障时,用它对数据库进行恢复。名字通常为Log*.dbf格式,如:Log1CIMS.dbf,Log2CIMS.dbf 。

控制文件(Control File)
每个Oracle数据库都有相应的控制文件,它们是较小的二进制文件,用于记录数据库的物理结构,如:数据库名、数据库的数据文件和日志文件的名字和位置等信息。用于打开、存取数据库。名字通常为Ctrl*ctl 格式,如Ctrl1CIMS.ctl。

配置文件
配置文件记录Oracle数据库运行时的一些重要参数,如:数据块的大小,内存结构的配置等。名字通常为init*.ora 格式,如:initCIMS.ora 。

2 逻辑结构

Oracle数据库的逻辑结构描述了数据库从逻辑上如何来存储数据库中的数据。逻辑结构包括表空间、段、区、数据块和模式对象。数据库的逻辑结构将支配一个数据库如何使用系统的物理空间.模式对象及其之间的联系则描述了关系数据库之间的设计.

一个数据库从逻辑上说是由一个或多个表空间所组成,表空间是数据库中物理编组的数据仓库,每一个表空间是由段(segment)组成,一个段是由一组区(extent)所组成,一个区是由一组连续的数据库块(database block)组成,而一个数据库块对应硬盘上的一个或多个物理块。一个表空间存放一个或多个数据库的物理文件(即数据文件).一个数据库中的数据被逻辑地存储在表空间上。

表空间(tablespace)
Oracle数据库被划分为一个或多个称为表空间的逻辑结构,它包括两类表空间,System表空间和非System表空间,其中,System表空间是安装数据库时自动建立的,它包含数据库的全部数据字典,存储过程、包、函数和触发器的定义以及系统回滚段。除此之外,还能包含用户数据。。

一个表空间包含许多段,每个段有一些可以不连续的区组成,每个区由一组连续的数据块组成,数据块是数据库进行操作的最小单位。

每个表空间对应一个或多个数据文件,每个数据文件只能属于一个表空间。

数据库块(database block)
数据库块也称逻辑块或ORACLE块,它对应磁盘上一个或多个物理块,它的大小由初始化参数db-block-size(在文件init.ora中)决定,典型的大小是2k。Pckfree 和pctused 两个参数用来优化数据块空间的使用。

区(extent)
区是由一组连续的数据块所组成的数据库存储空间分配的逻辑单位。

段(segment)
段是一个或多个不连续的区的集合,它包括一个表空间内特定逻辑结构的所有数据,段不能跨表空间存放。Oracle数据库包括数据段、索引段、临时段、回滚段等。

模式对象(schema object)
Oracle数据库的模式对象包括表、视图、序列、同意词、索引、触发器、存储.过程等,关于它们将重点在后面章节介绍。

3.Oracle Server系统进程与内存结构

当在计算机服务器上启动Oracle数据库后,称服务器上启动了一个Oracle实例(Instance)。ORACLE 实例(Instance)是存取和控制数据库的软件机制,它包含系统全局区(SGA)和ORACLE进程两部分。SGA是系统为实例分配的一组共享内存缓冲区,用于存放数据库实例和控制信息,以实现对数据库中数据的治理和操作。

进程是操作系统中一个极为重要的概念。一个进程执行一组操作,完成一个特定的任务.对ORACLE数据库治理系统来说,进程由用户进程、服务器进程和后台进程所组成。

当用户运行一个应用程序时,系统就为它建立一个用户进程。服务器进程处理与之相连的用户进程的请求,它与用户进程相通讯,为相连的用户进程的ORACLE请求服务。

为了提高系统性能,更好地实现多用户功能,ORACLE还在系统后台启动一些后台进程,用于数据库数据操作。

系统进程的后台进程主要包括:
SMON 系统监控进程:(system monitor)负责完成自动实例恢复和回收分类(sort)表空间。
PMON 进程监控进程:(PRocess monitor)实现用户进程故障恢复、清理内存区和释放该进程所需资源等。
DBWR 数据库写进程:数据库缓冲区的治理进程。
在它的治理下,数据库缓冲区中总保持有一定数量的自由缓冲块,以确保用户进程总能找到供其使用的自由缓冲块。
LGWR 日志文件写进程:是日志缓冲区的治理进程,负责把日志缓冲区中的日志项写入磁盘中的日志文件上。每个实例只有一个LGWR进程。
ARCH 归档进程:(archiver process)把已经填满的在线日志文件拷贝到一个指定的存储设备上。仅当日志文件组开关(switch)出现时,才进行ARCH操作。ARCH不是必须的,而只有当自动归档可使用或者当手工归档请求时才发出。
RECO 恢复进程:是在具有分布式选项时使用的一个进程,主要用于解决引用分布式事务时所出现的故障。它只能在答应分布式事务的系统中出现。
LCKn 封锁进程:用于并行服务器系统,主要完成实例之间的封锁。
内存结构(SGA)
SGA是Oracle为一个实例分配的一组共享内存缓冲区,它包含该实例的数据和控制信息。SGA在实例启动时被自动分配,当实例关闭时被收回。数据库的所有数据操作都要通过SGA来进行。

SGA中内存根据存放信息的不同,可以分为如下几个区域:Buffer Cache:存放数据库中数据库块的拷贝。它是由一组缓冲块所组成,这些缓冲块为所有与该实例相链接的用户进程所共享。缓冲块的数目由初始化参数DB_BLOCK_BUFFERS确定,缓冲块的大小由初始化参数DB_BLOCK_SIZE确定。大的数据块可提高查询速度。它由DBWR操作。

b. 日志缓冲区Redo Log Buffer:存放数据操作的更改信息。它们以日志项(redo entry)的形式存放在日志缓冲区中。当需要进行数据库恢复时,日志项用于重构或回滚对数据库所做的变更。日志缓冲区的大小由初始化参数LOG_BUFFER确定。大的日志缓冲区可减少日志文件I/O的次数。后台进程LGWR将日志缓冲区中的信息写入磁盘的日志文件中,可启动ARCH后台进程进行日志信息归档。

c. 共享池Shared Pool:包含用来处理的SQL语句信息。它包含共享SQL区和数据字典存储区。共享SQL区包含执行特定的SQL语句所用的信息。数据字典区用于存放数据字典,它为所有用户进程所共享。

Cursors:一些内存指针,执行待处理的SQL语句
其他信息区:除了上述几个信息区外,还包括一些进程之间的通讯信息(如封锁信息);在多线索服务器配置下,还有一些程序全局区的信息,请求队列和响应队列等。 本文来自: http://hi.baidu.com/ipbun/blog/item/3f75d7230a7f5ee698250a7c.html

2、Oracle数据库服务器的两个主要组成部分是什么?

两个主要的组成部分是:数据库和实例Oracle数据库用于存储和检索信息,是数据的集合。包括逻辑结构和物理结构。

3、查看oracle服务器中的所有数据库名命令?

select
name
from
v$database
,直接运行就可以查看了,也可以查看tnsnames.ora
的连接,有个sid,sid就是服务名了!!!

4、oracle服务器上一般都有几个数据库?

首先明确数据库的概念:控制文件+数据文件+日志文件
那么,一台服务器上的数据库内数量没有限制,但一容次只能启动一个
如果说一般生产中使用,当然只有一个了,总不能创建几个动不动切换

如果你说的数据库指的是sqlserver中的库概念,对应的应该是oracle的表空间,同样没有限制,根据业务来规划,一般用来方便管理和平衡IO(如果数据文件放在不同的磁盘上)

5、查看oracle服务器中的所有数据库名命令?

Oracle服务器由数据库和实例组成,实例包括进程和内存结构。
你连接到一个实例专上,只属能查到与该实例对应的数据库。数据库名可以这样简单查询
show parameter db_name
或者楼上的语句也可以,但是都只能获得当前的数据库名。

6、怎么查看oracle数据库服务器的名字

应该是DBMS的服务名把,因为有允许多重驻留的,有多个服务名
1.查看oracle的安装目录,
方法是查看注册表:
如:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ORACLE_HOME REG_SZ E:\ORACLE\ORA92
得到了oracle的安装目录
一般来讲,如果服务器在安装时采用的是默认值那么这个值是:D:\ORACLE\ORA92

2.找到tnsnames.ora文件
在根目录下面找到\network\ADMIN\tnsnames.ora 文件,并打开

3.仔细查看里面的tnsnames.ora 配置
例如
# TNSNAMES.ORA Network Configuration File: d:\oracle\ora92\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
WZZ=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = wzz)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = WZZ)
)
)
其中的service_name就是服务名,例如对如上面的文件 ,服务名就是WZZ

附 C#获取oracle服务器名 :

#region 从注册表中读取安装主目录的值
/// <summary>
/// 从注册表中读取安装主目录的值
/// </summary>
/// <param name="setupKey"></param>
/// <returns></returns>
public static string ReadHomeDirectory(string setupKey)
{
RegistryKey readKey;

try
{
readKey = Registry.LocalMachine.OpenSubKey
("Software\\ORACLE", false);

foreach (string name in readKey.GetValueNames())
{
if (name == setupKey)
{
return readKey.GetValue(name).ToString();
}
}

return null;
}
catch
{
return null;
}
}
#endregion

7、Oracle服务器由什么组成

Oracle数据库服务器 由 数据库和实例组成

8、怎样建立oracle数据库服务器

1 找台服务器,安装oracle服务器端,这个是关键。

2 安装成功后,建立监听,使用本机名或者本机ip都可以。

3 可以使用安装时的orcl数据库的名称,或者新建一个数据库名称。

4 安装oracle客户端,配置好后,进行测试。

9、oracle数据库中,服务器是什么概念?scott是哪儿来的?

一、Oracle服务(器)端
一般ORACLE数据库服务器安装在一台机器上,负责数据存储与管理,装数据库服务器的机器为服务器端。
Oracle服务端提供oracle服务的实例,其是数据库的核心,用于数据库的管理,对象的管理与存储、数据的存储、查询、数据库资源的监控、监听等一些服务。
二、scott用户
对于熟悉Oracle或者接触过Oracle的人,scott这个用户大家一定相当的熟悉。从Oracle第一个商业化版本至今,oracle的默认数据库里都少不了这个名字为scott,密码为tiger的用户,这个scott究竟有何来历,怎么在我们的oracle的版本里一直都不能少呢。
这个就要追朔到Oracle的创业阶段了, 1977年6月,埃里森,Bob Miner和Ed Oates在硅谷共同创办了一家名为软件开发实验室(Software Development Laboratories,SDL)的计算机公司,这个只有三个人的公司就是后来在独领数据库风骚的ORACLE公司的前身。 当时埃里森年界32岁,由于合同的关系还在自己原来的公司里不能出来,只是一个程序员而已。他过不来,总要有写代码的人,公司的第一个程序员出现了,他的名字就是scott,他的猫的名字就叫trigger,可能是为了这个第一位的程序员的缘故吧,所以也就有了scott这个用户,而且一直没有忘怀,留恋至今。

与oracle服务器组成相关的知识