一,创建

  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--块信息深入解析的更多相关文章

  1. Oracle sql执行计划解析

    Oracle sql执行计划解析 https://blog.csdn.net/xybelieve1990/article/details/50562963 Oracle优化器 Oracle的优化器共有 ...

  2. Oracle SQL的硬解析和软解析

    我们都知道在Oracle中每条SQL语句在执行之前都需要经过解析,这里面又分为软解析和硬解析.在Oracle中存在两种类型的SQL语句,一类为 DDL语句(数据定义语言),他们是从来不会共享使用的,也 ...

  3. 有关Oracle统计信息的知识点[z]

    https://www.cnblogs.com/sunmengbbm/p/5775211.html 一.什么是统计信息 统计信息主要是描述数据库中表,索引的大小,规模,数据分布状况等的一类信息.例如, ...

  4. Oracle数据库字符集问题解析

    Oracle数据库字符集问题解析 经常看到一些朋友问ORACLE字符集方面的问题,我想以迭代的方式来介绍一下.第一次迭代:掌握字符集方面的基本概念.有些朋友可能会认为这是多此一举,但实际上正是由于对相 ...

  5. 有关Oracle统计信息的知识点

    一.什么是统计信息 统计信息主要是描述数据库中表,索引的大小,规模,数据分布状况等的一类信息.例如,表的行数,块数,平均每行的大小,索引的leaf blocks,索引字段的行数,不同值的大小等,都属于 ...

  6. Webpack & The Hot Module Replacement热模块替换原理解析

    Webpack & The Hot Module Replacement热模块替换原理解析 The Hot Module Replacement(HMR)俗称热模块替换.主要用来当代码产生变化 ...

  7. Oracle块,区,段

    数据块(Block) 数据块Block是Oracle存储数据信息的最小单位.注意,这里说的是Oracle环境下的最小单位.Oracle也就是通过数据块来屏蔽不同操作系统存储结构的差异.无论是Windo ...

  8. oracle查询表信息

    oracle查询表信息(索引,外键,列等) oracle中查询表的信息,包括表名,字段名,字段类型,主键,外键唯一性约束信息,索引信息查询SQL如下: 1.查询出所有的用户表 select * fro ...

  9. 【HDFS API编程】查看文件块信息

    现在我们把文件都存在HDFS文件系统之上,现在有一个jdk.zip文件存储在上面,我们想知道这个文件在哪些节点之上?切成了几个块?每个块的大小是怎么样?先上测试类代码: /** * 查看文件块信息 * ...

  10. hdfs fsck命令查看HDFS文件对应的文件块信息(Block)和位置信息(Locations)

    关键字:hdfs fsck.block.locations 在HDFS中,提供了fsck命令,用于检查HDFS上文件和目录的健康状态.获取文件的block信息和位置信息等. fsck命令必须由HDFS ...

随机推荐

  1. unity 小地图的制作

    利用 Transform.InverseTransformDirection  变换位置从世界坐标到自身坐标. 以第一人称控制器为坐标原点(忽视y轴),x轴z轴转为屏幕坐标. 若物体在地图范围外,可以 ...

  2. 深入理解java虚拟机(十一) 方法调用-解析调用与分派调用

    方法调用过程是指确定被调用方法的版本(即调用哪一个方法),并不包括方法执行过程.我们知道,Class 文件的编译过程中并不包括传统编译中的连接步骤,一切方法调用在 Class 文件调用里面存储的都只是 ...

  3. Linux 下的多线程下载工具 Axel

    Axel 是 Linux 平台下的一款 HTTP/FTP 的高速下载工具,支持多线程以及断点续传,对于一些有速度限制的服务器上下载东西时,Axel 的速度就明显比 wget 要快一些 还有另一个基于 ...

  4. 12、Semantic-UI之输入框

    12.1 基础输入框   在Semantic-UI中可以定义多个样式的输入框,可以将图片与输入框结合,输入提示信息文字,设置输入框的状态. 示例:定义基础输入框 用户名: <div class= ...

  5. .net 委托的简化语法

    1. 不需要构造委托对象 ThreadPool.QueueUserWorkItem:通过线程池 public static void WorkItem() { ThreadPool.QueueUser ...

  6. Android-ActivityManager 退出整个应用

    在做Android APP 过程中,有退出整个Project的功能,以下就是接受退出整个应用的操作: ActivityManager是用来管理记录每一个Activity,最后统一用来退出结束: pub ...

  7. css 三彩loading

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title&g ...

  8. C++友元(友元函数、友元类和友元成员函数)

    友元(友元函数.友元类和友元成员函数) C++ 有些情况下,允许特定的非成员函数访问一个类的私有成员,同时仍阻止一般的访问,这是很方便做到的.例如被重载的操作符,如输入或输出操作符,经常需要访问类的私 ...

  9. selenium爬取网易云

    from selenium import webdriver from selenium.webdriver import ActionChains from selenium.webdriver.c ...

  10. 21天学通C++学习笔记(七):函数

    1. 为什么需要函数 可将应用程序的内容划分成依次调用的逻辑块,让您能够划分和组织程序的执行逻辑,有助于提高可重用性. 2. 基本概念 是子程序,可接受参数,可有返回值. 要让函数执行其任务,必须调用 ...