我常用的兩個ORACLE的檔案
他們分別是:
$ORACLE_HOME/rdbms/admin/sql.bsq
$ORACLE_HOME/rdbms/admin/catalog.sql[@more@]
sql.bsq主要記錄了ORACLE中的系統字典表的定義,比如過tab$,col$等,透過查詢這個檔案我可以知道資料字典表的定義,
更好的瞭解一些操作對系統字典表的更改,對ORACLE的內部操作會有更加深刻的認識。
比如:
create table obj$ /* object table */
( obj# number not null, /* object number */
/* DO NOT CREATE INDEX ON DATAOBJ# AS IT WILL BE UPDATED IN A SPACE
* TRANSACTION DURING TRUNCATE */
dataobj# number, /* data layer object number */
owner# number not null, /* owner user number */
name varchar2("M_IDEN") not null, /* object name */
namespace number not null, /* namespace of object (see KQD.H): */
/* 1 = TABLE/PROCEDURE/TYPE, 2 = BODY, 3 = TRIGGER, 4 = INDEX, 5 = CLUSTER, */
/* 8 = LOB, 9 = DIRECTORY, */
/* 10 = QUEUE, 11 = REPLICATION OBJECT GROUP, 12 = REPLICATION PROPAGATOR, */
/* 13 = JAVA SOURCE, 14 = JAVA RESOURCE */
/* 58 = (Data Mining) MODEL */
subname varchar2("M_IDEN"), /* subordinate to the name */
type# number not null, /* object type (see KQD.H): */
/* 1 = INDEX, 2 = TABLE, 3 = CLUSTER, 4 = VIEW, 5 = SYNONYM, 6 = SEQUENCE, */
/* 7 = PROCEDURE, 8 = FUNCTION, 9 = PACKAGE, 10 = NON-EXISTENT, */
/* 11 = PACKAGE BODY, 12 = TRIGGER, 13 = TYPE, 14 = TYPE BODY, */
/* 19 = TABLE PARTITION, 20 = INDEX PARTITION, 21 = LOB, 22 = LIBRARY, */
/* 23 = DIRECTORY , 24 = QUEUE, */
/* 25 = IOT, 26 = REPLICATION OBJECT GROUP, 27 = REPLICATION PROPAGATOR, */
/* 28 = JAVA SOURCE, 29 = JAVA CLASS, 30 = JAVA RESOURCE, 31 = JAVA JAR, */
/* 32 = INDEXTYPE, 33 = OPERATOR , 34 = TABLE SUBPARTITION, */
/* 35 = INDEX SUBPARTITION */
/* 82 = (Data Mining) MODEL */
ctime date not null, /* object creation time */
mtime date not null, /* DDL modification time */
stime date not null, /* specification timestamp (version) */
status number not null, /* status of object (see KQD.H): */
/* 1 = VALID/AUTHORIZED WITHOUT ERRORS, */
/* 2 = VALID/AUTHORIZED WITH AUTHORIZATION ERRORS, */
/* 3 = VALID/AUTHORIZED WITH COMPILATION ERRORS, */
/* 4 = VALID/UNAUTHORIZED, 5 = INVALID/UNAUTHORIZED */
remoteowner varchar2("M_IDEN"), /* remote owner name (remote object) */
linkname varchar2("M_XDBI"), /* link name (remote object) */
flags number, /* 0x01 = extent map checking required */
/* 0x02 = temporary object */
/* 0x04 = system generated object */
/* 0x08 = unbound (invoker's rights) */
/* 0x10 = secondary object */
/* 0x20 = in-memory temp table */
/* 0x80 = dropped table (RecycleBin) */
/* 0x100 = synonym VPD policies */
/* 0x200 = synonym VPD groups */
/* 0x400 = synonym VPD context */
oid$ raw(16), /* OID for typed table, typed view, and type */
spare1 number, /* sql version flag: see kpul.h */
spare2 number, /* object version number */
spare3 number,
spare4 varchar2(1000),
spare5 varchar2(1000),
spare6 date
)
storage (initial 10k next 100k maxextents unlimited pctincrease 0)
/
catalog.sql主要是記錄了dba_,all_,user_,session_等一些常用的資料字典檢視的定義,方便日常的查詢。
比如:
create or replace view USER_TAB_PRIVS
(GRANTEE, OWNER, TABLE_NAME, GRANTOR, PRIVILEGE, GRANTABLE, HIERARCHY)
as
select ue.name, u.name, o.name, ur.name, tpm.name,
decode(mod(oa.option$,2), 1, 'YES', 'NO'),
decode(bitand(oa.option$,2), 2, 'YES', 'NO')
from sys.objauth$ oa, sys.obj$ o, sys.user$ u, sys.user$ ur, sys.user$ ue,
table_privilege_map tpm
where oa.obj# = o.obj#
and oa.grantor# = ur.user#
and oa.grantee# = ue.user#
and oa.col# is null
and u.user# = o.owner#
and oa.privilege# = tpm.privilege
and userenv('SCHEMAID') in (oa.grantor#, oa.grantee#, o.owner#)
/
有了這兩個檔案可以幫助你更好的使用ORACLE。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8394333/viewspace-997095/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Golang 超大檔案讀取的兩個方案Golang
- 我常用的兩個翻譯神器!程式設計師必備 | JavaGuide程式設計師JavaGUIIDE
- 替換掉的檔案怎麼恢復,兩個方法還原檔案
- PHP 計算兩個檔案的相對路徑PHP
- 常用的7個Linux檔案內容檢視命令!Linux
- Linux求兩個文字檔案的交集、差集、並集Linux
- 比較兩個檔案,求出不同的內容,A-B
- 如何找出兩個文字檔案中有相同欄位的行
- Oracle資料檔案和臨時檔案的管理Oracle
- 【知識分享】Linux檔案傳輸常用的9個命令!Linux
- 兩臺linux的檔案傳輸Linux
- Oracle常用的16個最佳化技巧Oracle
- 我常用的4個備份工具
- Linux給檔案隔兩個字元插入-Linux字元
- python 兩個檔案內容重疊部分Python
- Linux常用的文字檔案操作命令Linux
- oracle資料庫的配置檔案Oracle資料庫
- Java 如何找出兩個文字檔案中有相同欄位的行Java
- Shell 命令求兩個檔案每行對比的相同內容
- 修改資料檔案的位置的兩種方法
- Oracle 控制檔案Oracle
- 我的 Windows 檔案管理哲學Windows
- python讀取兩個excel資料檔案輸出整理好以後的excel資料檔案PythonExcel
- linux下oracle安裝檔案.cpio.gz檔案的解壓LinuxOracle
- 【Oracle】如何修改資料檔案和日誌檔案的路徑Oracle
- 兩個有意思的專案
- 專案中常用的 .env 檔案原理原始碼分析原始碼
- mybatis的配置檔案中使用兩個或多個foreach進行多個集合遍歷的問題MyBatis
- .NET CORE下最快比較兩個檔案內容是否相同的方法
- Java 建立 PDF 檔案包的兩種方法Java
- 下載GitHub上檔案的兩種方法Github
- node.js常用的fs檔案系統Node.js
- algorithm標頭檔案下的常用函式Go函式
- Linux系統中建立檔案常用的方法!Linux
- Linux常用的檔案解壓命令有哪些?Linux
- oracle匯入dmp檔案的2種方法Oracle
- 譯:如何構造我的JavaScript檔案?JavaScript
- 把Oracle的命令輸出傳送到檔案的命令Oracle
- Linux常用配置檔案Linux