oracle--块信息深入解析
一,创建
Data Block是数据库中最小的I/O单元
01,建立一个新的表空间
查看默认表空间位置
select TABLESPACE_NAME,FILE_NAME from dba_data_files;
创建一个表空间放其他的地方把
create tablespace test2 datafile '/orcl/app/table/test2.dbf' size 20m reuse autoextend on next 20m maxsize UNLIMITED extent management local;
02,创建用户
查看CDB
select name,cdb from v$database;
查看pDb
SQL> select pdb_id,pdb_name,dbid,status,creation_scn from dba_pdbs; PDB_ID PDB_NAME DBID STATUS CREATION_SCN
---------- -----------------------------------------------------------------------------------
3 ORCLPDB 3877422513 NORMAL 1442756
2 PDB$SEED 4118313826 NORMAL 1408751
4 HRPDB 1506437541 NORMAL 4081006
5 SALESPDB 1453096304 NORMAL 4087331
查看PDB状态
SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs; CON_ID DBID NAME OPEN_MODE
---------- ---------- -----------------------------------------------------
2 4118313826 PDB$SEED READ ONLY
3 3877422513 ORCLPDB READ WRITE
4 1506437541 HRPDB READ ONLY
5 1453096304 SALESPDB READ ONLY
创建使用者为test
SQL> create user c##test identified by test; User created. 切换PDB
SQL> show con_name; CON_NAME
------------------------------
CDB$ROOT
SQL> alter session set container=ORCLPDB; Session altered. SQL> show con_name; CON_NAME
------------------------------
ORCLPDB
创建表空间
SQL> create tablespace test2 datafile '/orcl/app/table/test2.dbf' size 20M; Tablespace created.
创建真正的用户
SQL> create user test identified by test default tablespace test2; User created.
授予权限
SQL> grant dba to test Grant succeeded.
03,建立数据
SQL> create table t1 (id int,name varchar2(100)); Table created. SQL> insert into t1 values(1,'A'); 1 row created. SQL> alter system checkpoint; System altered. SQL> col name for a10
SQL> select id,name,dbms_rowid.rowid_relative_fno(rowid) file#,dbms_rowid.rowid_block_number(rowid) block# from t1; ID NAME FILE# BLOCK#
---------- ---------- ---------- ----------
1 A 1 32641 SQL> select p.spid from v$session s,v$process p where s.paddr=p.addr and s.sid in (select userenv('sid') from dual); SPID
------------------------
17124 SQL> alter system dump datafile 1 block 32641; System altered. SQL> select p.spid from v$session s,v$process p where s.paddr=p.addr and s.sid in (select userenv('sid') from dual); SPID
------------------------
17124 SQL> select p.spid from v$session s,v$process p where s.paddr=p.addr and s.sid in (select userenv('sid') from dual); SPID
------------------------
17124 SQL> select object_id from dba_objects where object_name='T1' and owner='SYS'; OBJECT_ID
----------
75798
[oracle@node12c01 trace]$ more orcl_ora_20178.trc
Trace file /orcl/app/oracle/diag/rdbms/node12c01/orcl/trace/orcl_ora_20178.trc
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
Build label: RDBMS_12.2.0.1.0_LINUX.X64_170125
ORACLE_HOME: /orcl/app/oracle/product/12.1.0/db_1
System name: Linux
Node name: node12c01
Release: 3.10.0-693.el7.x86_64
Version: #1 SMP Tue Aug 22 21:09:27 UTC 2017
Machine: x86_64
Instance name: orcl
Redo thread mounted by this instance: 1
Oracle process number: 36
Unix process pid: 20178, image: oracle@node12c01 (TNS V1-V3) *** 2019-04-16T05:29:55.899559-04:00 (CDB$ROOT(1))
*** SESSION ID:(31.49582) 2019-04-16T05:29:55.899596-04:00
*** CLIENT ID:() 2019-04-16T05:29:55.899601-04:00
*** SERVICE NAME:(SYS$USERS) 2019-04-16T05:29:55.899605-04:00
*** MODULE NAME:(sqlplus@node12c01 (TNS V1-V3)) 2019-04-16T05:29:55.899610-04:00
*** ACTION NAME:() 2019-04-16T05:29:55.899614-04:00
*** CLIENT DRIVER:(SQL*PLUS) 2019-04-16T05:29:55.899617-04:00
*** CONTAINER ID:(1) 2019-04-16T05:29:55.899621-04:00 Start dump data blocks tsn: 0 file#:1 minblk 32641 maxblk 32641
Block dump from cache:
Dump of buffer cache at level 4 for pdb=1 tsn=0 rdba=4226945
Block dump from disk:
buffer tsn: 0 rdba: 0x00407f81 (1/32641)
scn: 0x5d140 seq: 0x01 flg: 0x06 tail: 0xd1400601
frmt: 0x02 chkval: 0x6c32 type: 0x06=trans data
Hex dump of block: st=0, typ_found=1
Dump of memory from 0x00007FBF65C6A000 to 0x00007FBF65C6C000
分析:
数据头:
buffer tsn: 0 rdba: 0x00419578 (1/103800)
scn: 0x4ea6cf seq: 0x02 flg: 0x04 tail: 0xa6cf1002 frmt: 0x02 chkval: 0x5692 type: 0x10=DATA SEGMENT HEADER - UNLIMITED flg:0x01 (新建块)0x2(数据块延迟清洗推进scn和seq) 0X04(设置校验和) 0x08(临时块)
type:0x06(表/索引块)
frmt: 0x01(v7) 0x02(v8) Hex dump of block: st=0, typ_found=1
Dump of memory from 0x00007F12ACAA4000 to 0x00007F12ACAA6000
7F12ACAA4000 0000A210 00419578 004EA6CF 04020000 [....x.A...N.....]
7F12ACAA4010 00005692 00000000 00000000 00000000 [.V..............]
7F12ACAA4020 00000000 00000001 00000007 00001020 [............ ...]
7F12ACAA4030 00000000 00000003 00000007 0041957C [............|.A.]
7F12ACAA4040 00000000 00000000 00000001 00000003 [................]
7F12ACAA4050 00000000 00000000 00000000 00000001 [................]
7F12ACAA4060 00000000 000125D4 40000000 00419579 [.....%.....@y.A.]
7F12ACAA4070 00000007 00000000 00000000 00000000 [................]
7F12ACAA4080 00000000 00000000 00000000 00000000 [................]
Repeat 250 times
7F12ACAA5030 00000000 00010000 00010001 00000001 [................]
7F12ACAA5040 00000000 00000003 0041957B 0041957B [........{.A.{.A.]
7F12ACAA5050 00000000 00000000 00000000 00000000 [................]
Repeat 249 times
7F12ACAA5FF0 00000000 00000000 00000000 A6CF1002 [................]
http://www.itpub.net/thread-1772905-1-1.html
oracle--块信息深入解析的更多相关文章
- Oracle sql执行计划解析
Oracle sql执行计划解析 https://blog.csdn.net/xybelieve1990/article/details/50562963 Oracle优化器 Oracle的优化器共有 ...
- Oracle SQL的硬解析和软解析
我们都知道在Oracle中每条SQL语句在执行之前都需要经过解析,这里面又分为软解析和硬解析.在Oracle中存在两种类型的SQL语句,一类为 DDL语句(数据定义语言),他们是从来不会共享使用的,也 ...
- 有关Oracle统计信息的知识点[z]
https://www.cnblogs.com/sunmengbbm/p/5775211.html 一.什么是统计信息 统计信息主要是描述数据库中表,索引的大小,规模,数据分布状况等的一类信息.例如, ...
- Oracle数据库字符集问题解析
Oracle数据库字符集问题解析 经常看到一些朋友问ORACLE字符集方面的问题,我想以迭代的方式来介绍一下.第一次迭代:掌握字符集方面的基本概念.有些朋友可能会认为这是多此一举,但实际上正是由于对相 ...
- 有关Oracle统计信息的知识点
一.什么是统计信息 统计信息主要是描述数据库中表,索引的大小,规模,数据分布状况等的一类信息.例如,表的行数,块数,平均每行的大小,索引的leaf blocks,索引字段的行数,不同值的大小等,都属于 ...
- Webpack & The Hot Module Replacement热模块替换原理解析
Webpack & The Hot Module Replacement热模块替换原理解析 The Hot Module Replacement(HMR)俗称热模块替换.主要用来当代码产生变化 ...
- Oracle块,区,段
数据块(Block) 数据块Block是Oracle存储数据信息的最小单位.注意,这里说的是Oracle环境下的最小单位.Oracle也就是通过数据块来屏蔽不同操作系统存储结构的差异.无论是Windo ...
- oracle查询表信息
oracle查询表信息(索引,外键,列等) oracle中查询表的信息,包括表名,字段名,字段类型,主键,外键唯一性约束信息,索引信息查询SQL如下: 1.查询出所有的用户表 select * fro ...
- 【HDFS API编程】查看文件块信息
现在我们把文件都存在HDFS文件系统之上,现在有一个jdk.zip文件存储在上面,我们想知道这个文件在哪些节点之上?切成了几个块?每个块的大小是怎么样?先上测试类代码: /** * 查看文件块信息 * ...
- hdfs fsck命令查看HDFS文件对应的文件块信息(Block)和位置信息(Locations)
关键字:hdfs fsck.block.locations 在HDFS中,提供了fsck命令,用于检查HDFS上文件和目录的健康状态.获取文件的block信息和位置信息等. fsck命令必须由HDFS ...
随机推荐
- CSS 学习-文本 段落
段落. 首行缩进 text-indent属性 比如缩进 <p style="text-indent: 2em;">这里是内容....</p> 这里是内容这 ...
- C# 过滤SQL 字符串中的 参数
/// <summary> /// 参数过滤 /// </summary> /// <param name="parameters"></ ...
- java中关于Collection和Map相关的类&接口之间的关系
上图(引用自)
- solr&lucene3.6.0源码解析(二)
上文描述了solr3.6.0怎么采用maven管理的方式在eclipse中搭建开发环境,在solr中,为了提高搜索性能,采用了缓存机制,这里描述的是LRU缓存,这里用到了 LinkedHashMap类 ...
- CodeForces 408E Curious Array(组合数学+差分)
You've got an array consisting of n integers: a[1], a[2], ..., a[n]. Moreover, there are m queries, ...
- JVM 方法调用之静态分派
分派(Dispatch)可能是静态也可能是动态的,根据分派依据的宗量数可分为单分派和多分派.这两种分派方式的两两组合就构成了静态单分派,静态多分派,动态单分派,动态多分派这4种组合.本章讲静态分派. ...
- 修复DBGrideh使用TMemTableEh在Footers求平均值为0的Bug
在一个项目中,使用DBGrideh,当使用自带的内存数据集时,对于Footers添加的求平均值,一直显示为0,其他汇总数据都是可以的,而切换使用TClientDataSet或者TADODataSet, ...
- Partition--分区拆分和分区合并
--=========================================== --准备测试数据 USE [DB0001] GO CREATE PARTITION FUNCTION [pf ...
- VSM(Virtual Storage Manager) add new osd 代码分析
vsm add new osd 流程 后台获取可用设备 | 选择可用设备及osd相关信息等 | 点击add按钮,把准备部署的osd信息添加到需要部署的item列表中 | 点击submit按钮,添加it ...
- 洛谷P3588 [POI2015]PUS(线段树优化建图)
题面 传送门 题解 先考虑暴力怎么做,我们把所有\(r-l+1-k\)中的点向\(x\)连有向边,表示\(x\)必须比它们大,那么如果这张图有环显然就无解了,否则的话我们跑一个多源最短路,每个点的\( ...