`
onlylovexue
  • 浏览: 30238 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
最近访客 更多访客>>
社区版块
存档分类
最新评论

Oracle基本常识概括

阅读更多
oracle体系结构是指Oracle实例和Oracle数据库组成,Oracle实例实现对数据库的管理和控制功能,Oracle数据库是指一系列物理结构和逻辑结构,主要由一系列操作系统文件组成,实现保存各种数据的功能

Oracle是个多进程的系统 在windows下表现为单进程多线程系统  在linux下表现为多进程系统

数据库文件可以分为:数据文件,控制文件(保存一些初始化参数和用户口令),重做日志文件(出现故障时使用)  以上都是操作系统文件

Oracle实例是一些内存结构和Oracle进程组成的:内存结构分为:sga(系统全局区),pga(进程全局区) 和 用户全局区

sga:是共享全局区。可以被所有的进程访问,又可以分为:数据库高速缓冲区,重做日志缓冲区,共享池,大型缓冲池,java缓冲池,固定缓冲区。

pga:是非共享全局区,保存着某个进程的数据和控制信息,每个进程都有自己的pga,只有进程本身才能访问自己的PGA,主要用来存储oracle

服务器进程和后台进程的数据和控制信息

Oracle进程可以分为:服务器进程(接受用户请求,通知Oracle实例进行相应的操作)和后台进程(主要实现I/O操作,系统维护等)和从属进 程(slave process)。

在专用服务器模式下,一个用户对应一个服务器进程,  在共享服务器模式下,多用户对应一个服务器进程。

Oracle服务器工作原理:当服务器进程接到sql语句后,检查共享池里是否有相应sql解析后的代码,如果没有就解析,把解析优化后的sql存放在共享池中的库高速缓存中。然后服务器进程调用后台进程进行数据的读取,然后把数据块调到SGA的高速缓存中,用户进程就可以进行读取了,用户进程是通过实例还对数据库进行操作的。
--------------------------------------------------------
数据字典:数据字典缓冲在共享池中的数据字典高速缓冲区中
它由一些保存Oracle服务器所有信息的基表和视图组成,所有的用户包括DBA都只能读取而不能修改

作用:当用户修改表时,这是就修改了数据库的组成,于是在数据字典中的模式对象结构信息也要更改,数据库字典保存着数据文件,控制文件,重做日志文件的物理结构定于 和 表,视图,索引等的逻辑结构定于。

数据库字典视图:select *  from user_tables|all_tables|dba_tables

动态性能表:用来描述服务器的运行状态。只有sys用户 通过动态性能表的视图才能访问,
动态性能视图:select *  from v$sga(类似于show sga);  select *  from v$instance;
--------------------------------------------------------
单节点服务器:只有一个实例    多节点服务器:一个服务器有多个实例
---------------------------------------------------------
SGA:
  1.show parameters sag_max_size  2.select name,type,value from v$parameter where name='sga_max_size' (查找字典动态性能表来显示,注意name值是小写)

  1.数据缓冲区: 是在数据库运行时可以动态改变的
    数据高速缓冲区的数据块:由于采取了非标准的数据块,Oracle在读取非标准数据块的表空间时,不能将该表空间里的数据块读到高速缓冲区里,而只能装入到非标准数据块的高速缓冲区中。标准数据块的大小是在创建数据库是设定的 ,DB_BLOCK_SIZE是固定的,非标准数据块是在创建表空间时设定的,如果表空间采用非标准数据块,也必须为其设定相应的非标准的高速缓冲区:DB_2K_CACHE_SIZE=64M(数据块大小为2K的非标准缓冲区大小为64M)
     select name,value from v$parameter where name='db_2k_cache_size'

  2.重做日志缓冲区:是运行后静态不可改变的
   当重做日志缓存被填满到一定比例时,LGWR后台进程就会把其写入到重做日志文件中
 
  3.共享池缓冲区:是在数据库运行时可以动态改变的
    主要包括 库高速缓冲区,数据字典高速缓冲区
    库高速缓冲区:包括共享SQL区(缓存经过解析后的sql语句)和共享PL/SQL区(缓存经过编译后的和解析后的存储过程和函数等)

  4.java池
      用于存储java中的方法和对象
  
-------------------------------------------
服务器进程: 

服务器进程用来处理连接到该实例上的用户进程的请求,服务器进程可以是专用的服务器进程(在用户进程请求时被实例创建),或共享服务器进程(由实例预先创建几个来等待请求)。
----------------------------------------------
物理存储:数据文件、记录文件、参数文件、控制文件组成
基本逻辑存储数据的结构:块--》区--》段--》表空间

表空间是数据库的逻辑划分,每个数据库至少有一个表空间。表空间由一个或多个数据文件组成。但一个数据文件只能属于一个表空间,一个区只能属于一个数据文件,但当一个对象太大无法存放在一个数据文件中的时候,可以通过段来连接多个区,同时一个段一一对应一个对象。
-----------------------------------------------
Oracle中的块大小一般都是操作系统块大小的整数倍,因为Oracle中的I/O操作是基于操作系统的I/O
非标准块不能和标准块的大小一样,会产生冲突

在Oracle启动是先通过参数文件找到控制文件,然后才能找到数据文件和重做日志文件

oracle 提供两种对sys 和system用户进行验证 1.操作系统验证 2.口令文件认证方式

在数据库中,Redo的功能主要通过3个组件来实现:Redo Log Buffer、LGWR后台进程和Redo Log File
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics