oracle 笔记---(三)__体系架构
查看控制文件位置
SQL> show parameter control_files; NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_files string /u01/app/oracle/oradata/oracle
01/control01.ctl, /u01/app/ora
cle/oradata/oracle01/control02
.ctl
控制文件的存储
SQL> col name for a55
SQL> select status,name,block_size from v$controlfile; STATUS NAME BLOCK_SIZE
------- ------------------------------------------------------- ----------
/u01/app/oracle/oradata/oracle01/control01.ctl 16384
/u01/app/oracle/oradata/oracle01/control02.ctl 16384
关闭数据库
alter database close -->关闭数据库
alter database dismount -->切换到dismount状态
shutdown 关闭数据库实例 shutdown normal 默认-->所有链接关闭后才关闭数据库 shutdown immediate 常使用 -->终端当前事务,回滚未提交事务,强制断开连接,执行检查点把脏数据写到数据文件中. shutdown transactional 当前连接继续执行,不允许新的连接,执行完了就关闭数据库 shutdown abort 强制关闭,断开所有,直接关闭数据库
实例
实例由内存区,和后台进程组成:
内存区包括:数据库高速缓存,重做日志,共享池,池流,其他可选的内存池,这个是内存结构 后台进程包括: 系统监控进程(SMON),进程监控(PMON),数据写进程(DBWR),日志写进程(
LGWR),检验点进程(CKPT),其他进程(归档进程,RECO进程),这些进程共同完成数据库管理任务
数据库物理结构
数据库物理结构就是由数据库一系列操作系统文件: 数据文件(data files): 数据文件包含数据库中的实际数据,是 数据库操作中数据的最终存储位置 控制文件(control files):包含维护数据库和验证数据库完整性的信息,他是二进制文件 重做日志文件(redo files):重做日志文件包含数据库发生变化的记录,在发生故障的时候用于恢复数据
##
参数文件(parameter file ) :参数文件中定义了数据库实例的特性。在参数文件中包含为 SGA中内存结构分配空间的参数,如分配数据库高速缓冲区的大小等,参数文件是正文文件,可以使用操作系统文本编辑器查看,如在Windows操作系统中使用记事本工具。
密码文件( password file ) :密码文件授予用户启动和关闭数据库实例,在刚安装数据库时, Oracle的默认用户名和密码就存储在密码文件中, Oracle可以借此判断用户的操作权限.
归档日志文件(archive log files ) :归档日志文件是日志文件的脱机备份,在发生故障后进行数据恢复时可能使用该文件
配置显示格式
SQL> set linesize 500 SQL> set pagesize 50 set pagesize n 一页显示多少行数据 set linesize n 一行可以容纳的字符数量
数据库 的链接
select serial#,username,status,server,process,program,logon_time from v$session;
内存结构-->PGA(程序全局区)+SGA(系统全局区)
共享池
库高速缓存
show parameter shared_pool_size -->查看共享池的大小,默认系统会配置,而你配置 的比他小,他并不会改变,只能往大里配,却又不是越大越好 alter system set shared_pool_size = 16M; 配置大小
数据字典高速缓存
与数据字典相关的缓存
数据高速缓冲区(database buffer cache)
存储最近从数据文件读入的数据块的信息或者用户更改需要写回数据库的数据信息,此时没有提交给数据库的数据就成为脏数据
SQL> show parameter db_block_size
查看数据快的大小
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_block_size integer 8192 SQL> show parameter db_cache_size;
高速缓存的大小
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_cache_size big integer 0 SQL> show sga
查看数据库高速缓存的大小
Total System Global Area 2505338880 bytes
Fixed Size 2255832 bytes
Variable Size 620758056 bytes
Database Buffers 1862270976 bytes
Redo Buffers 20054016 bytes 动态设置数据库高速缓存的大小
SQL> alter system set db_cache_size = 200M; System altered. SQL> show parameter db_cache_size NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_cache_size big integer 208M
缓存顾问 db_cache_advice
SQL> show parameter db_cache_advice NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_cache_advice string ON 缓存顾问用于启动或者关闭统计信息,这些信息用于预测不同缓冲区大小导致的不同行为特性
OFF 关闭缓存顾问不分配缓存顾问的工作内存
ON 打开,分配
READY 打开 不分
查看高速缓存区相关信息
SQL> select id,name,block_size,size_for_estimate,buffers_for_estimate from v$db_cache_advice; ID NAME BLOCK_SIZE SIZE_FOR_ESTIMATE BUFFERS_FOR_ESTIMATE
---------- ------------------------------------------------------- ---------- ----------------- --------------------
3 DEFAULT 8192 176 21659
3 DEFAULT 8192 352 43318
3 DEFAULT 8192 528 64977
3 DEFAULT 8192 704 86636
3 DEFAULT 8192 880 108295
3 DEFAULT 8192 1056 129954
3 DEFAULT 8192 1232 151613
3 DEFAULT 8192 1408 173272
3 DEFAULT 8192 1584 194931
3 DEFAULT 8192 1760 216590
3 DEFAULT 8192 1776 218559
3 DEFAULT 8192 1936 238249
3 DEFAULT 8192 2112 259908
3 DEFAULT 8192 2288 281567
3 DEFAULT 8192 2464 303226
3 DEFAULT 8192 2640 324885
3 DEFAULT 8192 2816 346544
3 DEFAULT 8192 2992 368203
3 DEFAULT 8192 3168 389862
3 DEFAULT 8192 3344 411521
3 DEFAULT 8192 3520 433180 21 rows selected.
重做日志高速缓冲区(redo buffer cache)
当用户执行了如INSERT,UPDATE, DELETE, CREATE, ALTER或DROP操作后,数据发·生了变化,这些变化了的数据在写入数据库高速
缓存之前会先写入重做日志缓冲区,同时变化之前的数据也放入重做日志高速缓存,这样在数据恢复时Oracle就知道哪些需要前滚哪些需要回
滚
SQL> show parameter log_buffer;--查看你日志缓冲区 NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_buffer integer 19341312
重做日志缓冲区参数log_buffer是静态参数,不能动态修改,
large pool和java pool
大池是SGA的一段可选内存区,只在共享服务器环境中配置大池。在共享服务器环境下, Oracle在共享池中分配额外的空间用于存储用户进程和服务器
进程之间的会话信息,但是用户进程区域UGA (可理解为PGA在共享服务器中的另一个称呼)的大部分将在大池中分配,这样就减轻共享池的负担。在大
规模输入,输出及备份过程中也需要大池作为缓存空间 Java池也是可选的一段内存区,但是在安装完Java或者使用Java程序时则必须设置Java池,它用于编译Java语言编写的指令。Java语言与PL/SQL语
言在数据库中有相同的存储方式。Oracle提供了参数JAVAPOOLSIZE设置Java池的大小。
SQL> show parameter large_pool_size NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
large_pool_size big integer 0
SQL> alter system set large_pool_size = 48M; System altered. SQL> show parameter large_pool_size NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
large_pool_size big integer 48M
SQL> show parameter java_pool_size NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
java_pool_size big integer 0
SQL> alter system set java_pool_size = 48M; System altered. SQL> show parameter java_pool_size NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
java_pool_size big integer 48M
SQL>
### 流池 (streaming pool)
流池也称为流内存,它是Oracle流专用的内存池,流(stream)是Oracle数据库中的一个数据共享,其大小可以通过参数stream pool size动态调
整。
PGA
进程全局区(PGA)是服务器进程专用的一块内存,它是操作系统进程专用的内存,系统中的其它进程是无法访问这块内存的。PGA独立于SGA, PGA不会在SGA中出现,它是由操作系统在本地分配的。
PGA中存储了服务器进程或单独的后台进程的数据信息和控制信息。它随着服务器进程的创建
而被分配内存,随着进程的终止而释放内存。PGA与SGA不同,它不是一个共享区域,而是服务器
进程专有的区域。在专有服务器(与共享服务器相对的概念)配置中包括如下的组件:
排序区:对某些的SQL语句执行结果进行排序,
会话信息:包含本次会话的用户权限和性能统计信息。
游标状态:标明当前会话执行的SQL语句的处理阶段。
堆栈区:包含其它的会话变量
SQL> show parameter sort_area_size NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sort_area_size integer 65536
用户全局区(UGA)
在共享服务器模式下有一个重要的概念即UGA (用户全局区) ,它是用户的会话状态,这部分内存会话总可以访问, UGA存储在每个共享服务器都可以访问的SGA中,这样任何服务器都可以使用用户会话的数据和其它信息。而在专有服务器模式下,用户会话状态不需要共享,用户进程与服务器进程是一一对应的关系,所以UGA总是在PGA中进行分配。
##SGA大小
SQL> show parameter sga_max_size NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sga_max_size big integer 2400M
归档日志
SQL> show parameter db_recovery NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string /u01/app/oracle
db_recovery_file_dest_size big integer 5G SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/app/oracle/product/11.2.0/db_1/dbs/archivelog
Oldest online log sequence 218
Next log sequence to archive 220
Current log sequence 220
检验点进程
检验点是一个事件,当数据库写进程把SGA中所有被修改了的数据库高速缓冲中的数据写到数据文件
上时产生,这些被修改的数据包括提交的和未提交的数据。由于引入了校验点,使得所有的校验点的所有变
化了的数据都写到数据文件中,在实例恢复时,就不必恢复校验点之前的重做日志中的数据,加快了系统恢
复电a率校验点进程并不是用于建立校验点,只是在校显点发生时,会触发这个进程进行一系列工作。.包括
如下几点:
校验点进程要将校验点号码写入相关的数据文件的文件头中。
校验点进程把校验点号码、SCN号、重做日志序列号、归档日志名字等都写入控制文件。
强制执行校验点
SQL> alter system checkpoint;
oracle 笔记---(三)__体系架构的更多相关文章
- ocp11g培训内部教材_052课堂笔记(042)_体系架构
OCP 052 课堂笔记 目录 第一部分: Oracle体系架构... 4 第一章:实例与数据库... 4 1.Oracle 网络架构及应用环境... 4 2.Oracle 体系结构... 4 3. ...
- oracle 笔记---(七)__角色
一,角色介绍 角色就是相关权限的命令集合,使用角色的主要目的就是为了简化权限的管理,假定有用户a,b,c为了让他们都拥有权限:连接数据库和在scott.emp表上select,insert,updat ...
- Oracle笔记 三、function 、select
Scott表下有这么几个常用的表,而且还带有数据.分别是emp.dept.salgrade: 1.查看表结构用desc desc emp; 2.空表dual,最常用的空表,如: select 2 * ...
- oracle 笔记---(六)__表空间
查看表空间的大小 select tablespace_name,block_size,contents from dba_tablespaces; 查看表空间对应的数据文件 select file_n ...
- oracle 笔记---(五)__内存管理
###查看连接池的信息 select connection_pool,status,maxsize from dba_cpool_info
- oracle 笔记---(四)__数据字典
数据字典 user_* 该视图存储了关于当前用户所拥有的对象的信息.(即所有在该用户模式下的对象) all_* 该试图存储了当前用户能够访问的对象的信息.(与user_*相比,all_* 并不需要拥 ...
- Oracle笔记 目录索引
Oracle笔记 一.oracle的安装.sqlplus的使用 Oracle笔记 二.常用dba命令行 Oracle笔记 三.function .select Oracle笔记 四.增删改.事务 Or ...
- Oracle学习笔记—oracle体系架构及状态(nomount、mount和open)简介
oracle体系架构简介 先来简要了解一下Oracle数据库体系架构以便于后面深入理解,Oracle Server主要由实例(instance)和数据库(database)组成.实例(instance ...
- Oracle数据库的文件以及Oracle体系架构
第一部分.Oracle数据库的文件 1.参数文件:控制实例的行为的参数的集合 参数文件的作用 设定数据库的限制 设置用户或者进程的限制 设定数据库资源的限制 调整系统的性能 主要的参数文件 SGA_T ...
随机推荐
- ASP.NET MVC4 学习记录
之前在学习Artech的<ASP.NET MVC4框架揭秘>一书,学习过程中画了ASP.NET MVC4框架的草图,方便记忆.
- 不同数据库表结构的转化,PowerDesigner的使用教程
通过学习PowerDesigner工具,学习概念模型,物理模型,面向对象模型,业务模型,以及不同数据库表结构的转化. 通过案例给大家分享,sql server 2008r2 数据库和oracle数据库 ...
- SQL Server 常用函数总结
SQL去空格函数 1.ltrim(‘内容’)--去掉字符左边的空格 代码如下 declare @str varchar(100) set @str=' ADFADF' select @str sele ...
- Google Earth 8.0
前几天有看到全新的Google Earth 8.0升级,刚好适合自己的手机应用.Google Earth 8.0 官方下载:https://play.google.com/store/apps/det ...
- DFT到FFT的理解
DFT简化计算理解(FFT) DFT: WN=e^(-j*2*pi/N) DFT复杂度o(N^2) 降低与N^2的依赖 使N = LM (L^2+m^2 <= N^2) N点DFT分解为M ...
- react-native自定义原生组件
此文已由作者王翔授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 使用react-native的时候能够看到不少函数调用式的组件,像LinkIOS用来呼起url请求 Link ...
- Delphi XE8中Android开发有用的资源!
一,FireMonkey Component Library在XE8帮助(topics.chm)中的位置:FireMonkey Component Library,展示了FireMonkey控件在VC ...
- Ubuntu 14.10,准备C/C++的编译环境
Ubuntu缺省情况下,并没有提供C/C++的编译环境,因此还需要手动安装. 如果单独安装gcc以及g++比较麻烦,幸运的是,为了能够编译Ubuntu的内核,Ubuntu提供了一个build-esse ...
- 《Thinking in Java》 10~
chapter 10 内部类(P191) 创建内部类 链接到外部类 内部类能访问器外围对象的所有成员,而不需要任何特殊条件. 使用.this与.new package cn.test; public ...
- Atcoder Grand Contest 031C(构造,思维,异或,DFS)
#include<bits/stdc++.h>using namespace std;int n,a,b,sum;void dfs(int x,int y,int ban){ if( ...