欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

【11g体系结构,5】rowid

程序员文章站 2024-02-12 21:51:34
...

一.rowid 扩展的rowid 使用以64为基数的编码方案来显示。 rowid简单理解为数据的身份证号,总共18位,6位对象号,3为文件号,6位块号,3位行号。 rowid前15位表示块地址,前15位相同的数据在同一个块中。 #查询EMProwid SQL select rowid from scott.emp; RO

一.rowid

扩展的rowid 使用以64为基数的编码方案来显示。 rowid简单理解为数据的身份证号,总共18位,6位对象号,3为文件号,6位块号,3位行号。 rowid前15位表示块地址,前15位相同的数据在同一个块中。
#查询EMProwid SQL> select rowid from scott.emp;
ROWID ------------------ AAACgBAAEAAAAAdAAA AAACgBAAEAAAAAdAAB AAACgBAAEAAAAAdAAC AAACgBAAEAAAAAdAAD AAACgBAAEAAAAAdAAE AAACgBAAEAAAAAdAAF AAACgBAAEAAAAAdAAG AAACgBAAEAAAAAdAAH AAACgBAAEAAAAAdAAI AAACgBAAEAAAAAdAAJ AAACgBAAEAAAAAdAAK
ROWID ------------------ AAACgBAAEAAAAAdAAL AAACgBAAEAAAAAdAAM AAACgBAAEAAAAAdAAN
14 rows selected.
#查询对象id SQL> select object_id,object_name,object_type from dba_objects where owner='SCOTT';
OBJECT_ID OBJECT_NAM OBJECT_TYP ---------- ---------- ---------- 10239 DEPT TABLE 10240 PK_DEPT INDEX 10241 EMP TABLE 10242 PK_EMP INDEX 10243 BONUS TABLE 10244 SALGRADE TABLE
6 rows selected.
#获取对象号 SQL> select dbms_rowid.rowid_object('AAACgBAAEAAAAAdAAG') from dual;
DBMS_ROWID.ROWID_OBJECT('AAACGBAAEAAAAADAAG') --------------------------------------------- 10241
#文件号 SQL> select dbms_rowid.rowid_relative_fno('AAACgBAAEAAAAAdAAG') from dual;
DBMS_ROWID.ROWID_RELATIVE_FNO('AAACGBAAEAAAAADAAG') --------------------------------------------------- 4 #块号 SQL> select dbms_rowid.rowid_block_number('AAACgBAAEAAAAAdAAG') from dual;
DBMS_ROWID.ROWID_BLOCK_NUMBER('AAACGBAAEAAAAADAAG') --------------------------------------------------- 29 #行号,第7条记录 SQL> select dbms_rowid.rowid_row_number('AAACgBAAEAAAAAdAAG') from dual;
DBMS_ROWID.ROWID_ROW_NUMBER('AAACGBAAEAAAAADAAG') ------------------------------------------------- 6 #查询区的信息, emp表现在拥有8个块,block_id 是25~32. SQL> col segment_name for a10 SQL> select extent_id,segment_name,bytes/1024 k,blocks,file_id,block_id from dba_extents where owner='SCOTT';
EXTENT_ID SEGMENT_NA K BLOCKS FILE_ID BLOCK_ID ---------- ---------- ---------- ---------- ---------- ---------- 0 DEPT 64 8 4 9 0 EMP 64 8 4 25 0 BONUS 64 8 4 41 0 SALGRADE 64 8 4 49 0 PK_DEPT 64 8 4 17 0 PK_EMP 64 8 4 33
6 rows selected.

二.一个数据块能存放多少条数据和1g空间能存放多少条数据:

三.OFA:最优灵活体系架构

ofa:是指oracle软件和数据库文件集文件夹的命名约定和存储位置规则。
$ORACLE_BASE 为:/u01/app/oracle $oracle_home为:/u01/app/oracle/11.2.0/db_home_1 $ORACLE_BASE/ /oradata 数据文件 /product 软件地址 /admin 放置dump 文件
$oracle_home /dbs 初始化文件(参数文件,密码文件) /network/admin 配置监听

四:instance_name,sid ,db_name,global_name的关系

1.sid是操作系统用来表示实例的编号,可以理解为instance的操作系统编号,所以sid和instance_name一一对应。 select instance_name from v$instance 中存储的就是sid 2.但是instance_name 和db_name是有区别的: rac环境下db_name为racdb,但实例名可能是racdb1和dacdb2 3.global_name 就是db_name.db_domain,global_name是为了在由多个数据库组成的分布式数据库中标识数据库名称而设立的。
SQL> select * from global_name; GLOBAL_NAME -------------- LOSCSMAN
SQL> select instance_name from v$instance;
INSTANCE_NAME -------------------------------- loscsmanager
SQL> show parameter db_name;
NAME TYPE VALUE ------------------------------------ ---------------------- ------------------------------ db_name string loscsman