OCA读书笔记(1) - 浏览Oracle数据库架构
Objectives:
List the major architectural components of Oracle Database
Explain the memory structures
Describe the background processes
Correlate the logical and physical storage structures
Describe ASM storage components
三种连接方式
直接登录server
Client(PL/SQL Developer)-->Server
Client-->Middle Tier(WebLogical)-->Server
Connection: User process-->Server process
一次确定的连接:会话(身份权限认证)
进程间通信方式:
共享内存段:(SGA)
信号量
管道
Shared Pool
父游标--SQL语句转换后形成的二进制代码,解析
通过字符集转换
子游标--执行计划
语法语义检查
在数据字典中查询对象是否存在
Database Buffer Cache
select * from emp;
如果内存不存在emp,则需要读取数据文件。
需要读取一行数据,需要将该行所在数据快读入内存。
缓存最近访问过的数据块,供当前所有用户共享,减少I/O。
Redo Log Buffer
保存DML和DDL进行更改所产生的日志,而不是语句本身。
以上三种是必须的。
Large Pool
提供大的内存分配
RMAN备份恢复
并行查询
不是必须的,当没有的时候,使用shared pool.
Java Pool
在oracle中使用java时才用。
Streams Pool
只被流使用,流复制。公安部--人口信息表。分部更改之后同步到总部数据库。
class 2 started
--------------------------------------------
用户进程
数据库进程:
--服务器进程,为用户进程服务
--后台进程,当oracle实例启动时启动
守护进程(应用进程)
--网络监听
--网格基础架构监听
后台进程
--必须的进程(DBWn, CKPT, LGWR, SMON, PMON, RECO)
--可选的进程(ARCn, ASMB, RBAL, Others)
DBWn:
异步写脏数据(增,删,改产生的数据),提交时也不一定写。
LGWR
将redo log buffer写到redo log file
什么时候写?
用户提交
日志缓冲区1/3满
DBWn写脏块之前
每隔3秒钟
CKPT
通知数据库写进程写脏块
记录检查点信息到控制文件和每个文件的文件头
scn: system change number
演示:获取数据库当前scn
select current_scn from v$database;
select scn_to_timestamp() from dual;
SMON
当实例启动时执行恢复(实例恢复)
清除不再使用的临时段,如排序使用过的临时段空间
PMON
当用户进程失败时,执行进程恢复
--清除数据库buffer cache
--释放用户进程使用的资源,使其不成为僵尸进程
监控空闲会话的超时
动态注册数据库服务到监听器
RECO
recover 进程,但数据中不用,主要用户分布式
演示:查看进程以及关闭进程
select status from v$instance;
exit
ps -ef | grep ora
kill -9 进程号
sqlplus / as sysdba;
startup;(重启数据库则进程启动起来)
ARCn:
备份redo log
select group#, status from v$log;
查看日志文件:
select a.group#, a.sequence#, a.status, b.member, a.bytes/1024/1024 MB, a.first_change# from v$log a, v$logfile b where a.group#=b.group#;
select current_scn from v$database;
alter system switch logfile;
归档
执行检查点
select a.group#, a.sequence#, a.status, b.member, a.bytes/1024/1024 MB, a.first_change# from v$log a, v$logfile b where a.group#=b.group#;
最近一次检查点
select checkpoint_change# from v$database;
看检查点位于日志文件对应的区间。
实例恢复一般使用active和current状态的日志文件,inactive一般用不上。
查看SGA大小:
[oracle@ ~]ipcs -m
当前通信机制,-m共享内存段
查看SGA各部分内存大小
desc v$memory_dynamic_components;
select component, current_size from v$memory_dynamic_components;
desc v$process;
select pname, background from v$process;
background 为1的是后台进程。
数据库存储结构
控制文件
select name from v$controlfile;
alter database backup controlfile to trace as '/u01/app/oracle/control.trace' reuse;
vi control.trace
数据文件
select name from v$datafile;
日志文件
select member from v$logfile;
参数文件
show parameter spfile;
cd $ORACLE_HOME/dbs
echo $ORACLE_HOME
改错参数之后
create pfile from spfile(二进制文件);
vi initorcl.ora(文本文件)
vi init.ora
在initoracl.ora上进行修改,然后进入数据库运行如下命令
create spfile from pfile;
口令文件
select * from v$pwfile_users;
grant sysdba to scott;
select * from v$pwfile_users;
revoke sysdba from scott;
告警和跟踪文件
11g之前 adump, bdump, cdump, udump
11g:
cd $ORACLE_BASE
cd diag/rdbms/orcl/orcl
/u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log
/u01/app/oracle/diag/rdbms/orcl/orcl/alert/log.xml
逻辑和物理数据库结构
表空间:
select name from v$tablespace;
数据文件
desc dba_data_files;
select tablespace_name, file_name from dba_data_files;
占用空间的数据库对象叫做数据段。
select distinct object_type from dba_objects;
select distinct segment_type from dba_segments;
conn scott/tiger;
select segment_name, segment_type from user_segments;
11g延迟分配空间。
create table t(id number);
select * from t;
查看段
select segment_name, segment_type from user_segments;
insert into t values (1);
select segment_name, segment_type from user_segments;
数据块
数据库分配数据块按照区(Extent)来进行分配。多个数据块打包成为段进行分配。
演示
drop table e purge;
drop table t purge;
create table t as select * from emp;
desc dba_extents;
select segment_name, file_id, extent_id, blocks from dba_extents where segment_name='T' and owner='SCOTT';
select tablespace_name, file_name from dba_data_files where file_id=4;
不停插入数据
insert into t select * from t;
select segment_name, file_id, extent_id, blocks from dba_extents where segment_name='T' and owner='SCOTT';
show parameter db_block_size;
继续插入:
块的大小会调整,8-128-896-1024-8192.区的自动管理
OCA读书笔记(1) - 浏览Oracle数据库架构的更多相关文章
- OCA读书笔记(11) - 实现Oracle数据库审计
11 Implementing Oracle Database Auditing 描述DBA对于安全和审计的职责使能标准的数据库审计安全审计选项查看审计信息维护审计路径 最小权限原则只在计算机上安装所 ...
- OCA读书笔记(2) - 安装Oracle软件
Objectives: •Describe your role as a database administrator (DBA) and explain typical tasks and tool ...
- OCA读书笔记(6) - 配置Oracle网络环境
6.Configuring the Oracle Network Environment su - grid装grid时自动创建了监听netca--创建新的监听 vi $ORACLE_HOME/net ...
- Oracle 数据库架构
Oracle 数据库架构 查看数据库在linux系统的安装目录路径情况: [root@localhost ~]# cd /u01/app/oracle/oradata/orcl/ [root@loca ...
- OCA读书笔记(7) - 管理数据库存储结构
7.Managing Database Storage Structures 逻辑结构 数据库的存储结构有物理结构和逻辑结构组成的 物理结构:物理上,oracle是由一些操作系统文件组成的 SQL&g ...
- OCA读书笔记(18) - 使用Support工具
调查和解决问题 问题:数据库中的任一严重的错误定义为一个问题,一般来说,这些错误包括大家熟悉的ORA-600错误和ORA-04031(共享池超出)错误,涉及数据库问题的所有元数据都存储在ADR中,每个 ...
- 【学习笔记】Y2-1-1 Oracle数据库基础
Oracle 简介关系型(二维表)数据库 用来存储海量数据在大数据量的并发检索的情况下,性能要高于其他同类数据库产品一般运行环境是Linux和UnixOracle版本中的I(Internet) G(G ...
- OCA读书笔记(9) - 管理数据同步
9.Managing Data Concurrency 描述锁机制以及oracle如何管理数据一致性监控和解决锁冲突 管理数据的并发--管理锁数据的不一致:脏读更改丢失幻影读 脏读:数据是指事务T2修 ...
- OCA读书笔记(3) - 使用DBCA创建Oracle数据库
Objectives: •Create a database by using the Database Configuration Assistant (DBCA) •Generate databa ...
随机推荐
- ELK 之三:Kibana 使用与Tomcat、Nginx 日志格式处理
一:kibana安装: kibana主要是搜索elasticsearch的数据,并进行数据可视化的展现,新版使用nodejs. 1.下载地址: https://www.elastic.co/downl ...
- Ubuntu14.04 Y460闪屏问题解决方案
我的笔记本是联想Y460,安装了Ubuntu之后发现屏幕闪烁移位,而且在使用IDE的时候出现无法输入中文等问题,其实是显卡驱动的问题,N卡官网给的驱动不好用,尝试使用大黄蜂 参考:https://wi ...
- ZOJ2971 Give Me the Number 【模拟】
这道题目使用Map. 然后一次性遍历下来即可. QAQ 注意初始化的时候小心点不要错.. Source Code: //#pragma comment(linker, "/STACK:167 ...
- 【集训笔记】博弈论相关知识【HDOJ 1850【HDOJ2147
以下资料来自:http://blog.csdn.net/Dinosoft/article/details/6795700 http://qianmacao.blog.163.com/blog/stat ...
- VirtualBox虚拟机安装RedHat7.3编译Linux0.01内核
引子 由于需要编译linux0.01内核,而目前的linux版本太高需要降低gcc版本等等,需要做不少调整非常不方便. 所以,直接安装RedHat7.3,这样就好编译linux0.01的内核了. 但是 ...
- Impossible WPF Part 1: Binding Properties
原文 http://www.11011.net/wpf-binding-properties Ever wanted to write the following? <RichTextBoxDo ...
- docker学习笔记15:Dockerfile 指令 USER介绍
USER指令用于指定容器执行程序的用户身份,默认是 root用户. 在docker run 中可以通过 -u 选项来覆盖USER指令的设置. 举例:docker run -i -t -u mysql ...
- 【HTTP 2】 序言
笔者序 HTTP 2 这个关键词在各大 IT 网站出现频率节节升高,然而出现在大家视野里的,仍以浅析居多.虽有一部分实战(如 InfoQ 之前推送的 iOS App 网络层次架构优化),但针对 HTT ...
- 数论(容斥原理)hdu-4509-The Boss on Mars
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4059 题目大意: 给一个n,求1~n中与n互质的数的4次方的总和. 解题思路: 容斥原理.逆元.公式 ...
- mojo 接口返回键值对的json格式
my $c = shift; use DBI; my %hash=(); my $dbUser='zabbix'; my $user="root"; my $passwd=&quo ...