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 ...
随机推荐
- unity 小地图的制作
利用 Transform.InverseTransformDirection 变换位置从世界坐标到自身坐标. 以第一人称控制器为坐标原点(忽视y轴),x轴z轴转为屏幕坐标. 若物体在地图范围外,可以 ...
- 深入理解java虚拟机(十一) 方法调用-解析调用与分派调用
方法调用过程是指确定被调用方法的版本(即调用哪一个方法),并不包括方法执行过程.我们知道,Class 文件的编译过程中并不包括传统编译中的连接步骤,一切方法调用在 Class 文件调用里面存储的都只是 ...
- Linux 下的多线程下载工具 Axel
Axel 是 Linux 平台下的一款 HTTP/FTP 的高速下载工具,支持多线程以及断点续传,对于一些有速度限制的服务器上下载东西时,Axel 的速度就明显比 wget 要快一些 还有另一个基于 ...
- 12、Semantic-UI之输入框
12.1 基础输入框 在Semantic-UI中可以定义多个样式的输入框,可以将图片与输入框结合,输入提示信息文字,设置输入框的状态. 示例:定义基础输入框 用户名: <div class= ...
- .net 委托的简化语法
1. 不需要构造委托对象 ThreadPool.QueueUserWorkItem:通过线程池 public static void WorkItem() { ThreadPool.QueueUser ...
- Android-ActivityManager 退出整个应用
在做Android APP 过程中,有退出整个Project的功能,以下就是接受退出整个应用的操作: ActivityManager是用来管理记录每一个Activity,最后统一用来退出结束: pub ...
- css 三彩loading
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title&g ...
- C++友元(友元函数、友元类和友元成员函数)
友元(友元函数.友元类和友元成员函数) C++ 有些情况下,允许特定的非成员函数访问一个类的私有成员,同时仍阻止一般的访问,这是很方便做到的.例如被重载的操作符,如输入或输出操作符,经常需要访问类的私 ...
- selenium爬取网易云
from selenium import webdriver from selenium.webdriver import ActionChains from selenium.webdriver.c ...
- 21天学通C++学习笔记(七):函数
1. 为什么需要函数 可将应用程序的内容划分成依次调用的逻辑块,让您能够划分和组织程序的执行逻辑,有助于提高可重用性. 2. 基本概念 是子程序,可接受参数,可有返回值. 要让函数执行其任务,必须调用 ...