Oracle 数据字典中X$表 介绍

Oracle 数据字典中X$表 介绍
Oracle 数据字典中X$表 介绍

Oracle 数据字典中X$表介绍

一. X$表说明

X$表包含了特定实例的各方面的信息,X$表在oracle的不同版本里很可能是不一样的,是Oracle数据库的运行基础,如当前的配置信息,连接到实例的会话,以及丰富而有价值的性能信息。X$表并不是驻留在数据库文件的永久表或临时表。

X$表仅仅驻留在内存中,当实例启动时,由Oracle应用程序动态创建,在内存中进行实时的维护。它们中的大多数至少需要装载或已经打开的数据库。X$表为SYS用户所拥有,并且是只读的。不能进行DML(更新,插入,删除)。X$表对数据库来说至关重要,所以Oracle不允许SYSDBA之外的用户直接访问,显示授权不被允许。

可以从v$fixed_table中查到X$:

SQL> select * from v$version;

BANNER

----------------------------------------------------------------

Oracle Database 10g Enterprise EditionRelease 10.2.0.5.0 - Prod

PL/SQL Release 10.2.0.5.0 - Production

CORE 10.2.0.5.0 Production

TNS for Linux: Version 10.2.0.5.0 -Production

NLSRTL Version 10.2.0.5.0 - Production

SQL> select count(*) from v$fixed_tablewhere name like 'X$%';

COUNT(*)

----------

620

以上是Oracle10.2.0.5 版本里的x$表的数量,在Oracle 11g里又有大幅增加:

SQL> select count(*) fromv$fixed_table where name like 'X$%';

COUNT(*)

----------

945

关于X$表,其创建信息我们也可以通过bootstrap$表查看,该表中记录了数据库启动的基本及驱动信息。bootstrap$ 实际上存储的是数据字典的基表的定义,如

OBJ$,C_OBJ$,TAB$等等。Oracle通过读取这些定义创建数据字典的基表,进而创建数据字典。有关bootstrap$会另篇说明。

SQL> select * from bootstrap$;

二.Oracle10g X$KCVFH说明

X$KCVFH是GV$DATAFILE_HEADER的内部视图,不同版本的Oracle,X$KCVFH 的结构可能不同,如下说明基于Oracle 10gR2版本。这部分工作是dbsnake 做的,直接摘取自dbsnake的blog。

2.1 字典结构及含义

SQL> desc x$kcvfh

相关字段的描述:

Column Name Data Type Description

ADDR RAW(4) ADDRESS

INDX NUMBER INDEX

INST_ID NUMBER INSTANCE ID

HXFIL NUMBER FILE#,Datafile number (from control file)

HXONS NUMBER ONLINE | OFFLINE (from control file),HXONS为0表示

'OFFLINE',为其他值表示'ONLINE'

HXSTS VARCHAR2(16)

HXERR NUMBER ERROR,decode(HXERR, 0, NULL,

1,'FILE MISSING',

2,'OFFLINE NORMAL',

3,'NOT VERIFIED',

4,'FILE NOT FOUND',

5,'CANNOT OPEN FILE',

6,'CANNOT READ HEADER',

7,'CORRUPT HEADER',

8,'WRONG FILE TYPE',

9,'WRONG DATABASE',

10,'WRONG FILE NUMBER',

11,'WRONG FILE CREATE',

12,'WRONG FILE CREATE',

16,'DELAYED OPEN',

14,'WRONG RESETLOGS',

15,'OLD CONTROLFILE',

'UNKNOWN ERROR')

HXVER NUMBER FORMAT,Indicates the format for the header block. The possible values are 6, 7, 8, or 0.

6 - indicates Oracle Version 6;

7 - indicates Oracle Version 7;

8 - indicates Oracle Version 8;

0 - indicates the format could not be determined (for example, the header

could not be read)

FHSWV NUMBER

FHCVN NUMBER Compatibility Vsn

FHDBI NUMBER DBID

FHDBN VARCHAR2(9) DB NAME

FHCSQ NUMBER controlfile sequence number

FHFSZ NUMBER BLOCKS, Current datafile size in blocks

FHBSZ NUMBER datafile block size

FHFNO NUMBER Tablespace datafile number

FHTYP NUMBER Type:

1 control file

2 redo log file

3 vanilla db file; that is, normal data, index, and undo blocks

4 backup control file

5 backup piece

6 temporary db file

FHRDB NUMBER Root dba: This field only occurs in data file #1, and is the location of blocks required during bootstrapping the data dictionary (bootstrap$) FHCRS VARCHAR2(16) CREATION_CHANGE#,Datafile creation change# FHCRT VARCHAR2(20) CREATION_TIME,Datafile creation timestamp FHRLC VARCHAR2(20) RESETLOGS_TIME, Resetlogs timestamp

FHRLC_I NUMBER reset logs count

FHRLS VARCHAR2(16) RESETLOGS_CHANGE#, Resetlogs change# FHPRC VARCHAR2(20) prev reset logs timestamp

FHPRC_I NUMBER prev reset logs count

FHPRS VARCHAR2(16) prev reset logs SCN

FHBTI VARCHAR2(20) Time the backup started, Updated when executing BEGIN BACKUP on the tablespace. RMAN does not update this field.

FHBSC VARCHAR2(16) System change number when backup started, Updated when executing BEGIN BACKUP on the tablespace. RMAN does not update this field.

FHBTH NUMBER Thread when when backup started, Updated when executing BEGIN BACKUP on the tablespace. RMAN does not update this field.

FHSTA NUMBER The value for the column X$KCVFH.FHSTA (file header status) for an open database with an online datafiles in versions prior to version 10 were all 4, indicating an online fuzzy status. With version 10 of Oracle the first system tablespace datafile will have a different status of 8196 if the datafile is online and the database is open and not in backup mode. In Oracle 10g, the X$KCVFH.FHSTA column will show 8196 for system data file if COMPATIBLE is set to 10.0.0.0 or higher. The value of 8196 is a value of

0x04, as in previous releases, plus an AND'd value of 0x2000 (8192) for internal uses. If COMPATIBLE is set to 9.2.0 (lowest possible value for Oracle 10g), the FHSTA column for system datafile will have a value of 4.

In Oracle10g, the COMPATIBLE value is irreversible if advanced to a higher value. So the value of 8196 for the fhsta (status) column for the first system tablespace datafile is normal.

FHSCN VARCHAR2(16) CHECKPOINT_CHANGE#, Datafile checkpoint change#,Updated on every checkpoint, but not when in Hot backup state (not online backups). This must remain untouched when you are in hot backup mode, because you might get checkpoints between the BEGIN BACKUP and when you actually start the copying process.

FHTIM VARCHAR2(20) CHECKPOINT_TIME, Datafile checkpoint timestamp FHTHR NUMBER THREAD#

FHRBA_SEQ NUMBER SEQUENCE,即Redo log sequence number FHRBA_BNO NUMBER Block number,即the redo log file block number FHRBA_BOF NUMBER Byte offset,the byte offset into the block at which the redo record starts

FHETB RAW(132) enable threads byte(这个不确定)

FHCPC NUMBER CHECKPOINT_COUNT, Datafile checkpoint count

FHRTS VARCHAR2(20) Recoverd timestamp

FHCCC NUMBER Controlfile Checkpoint Count: Saved copy of the control file record of the checkpoint count. Helps detect old control files.

FHBCP_SCN VARCHAR2(16) Backup Checkpoint SCN: Updated with the checkpoint done while file in Hot backup

FHBCP_TIM VARCHAR2(20) Backup Checkpoint TIME: Updated with the checkpoint done while file in Hot backup

FHBCP_THR NUMBER Backup Checkpoint Thread: Updated with the checkpoint done while file in Hot backup

FHBCP_RBA_ SEQ NUMBER Backup Checkpoint Sequence, 即Redo log sequence number: Updated with the checkpoint done while file in Hot backup FHBCP_RBA_ BNO NUMBER the redo log file block number, Updated with the checkpoint done while file in Hot backup

FHBCP_RBA_ BOF NUMBER Byte offset,the byte offset into the block at which the redo record starts, Updated with the checkpoint done while file in Hot backup

FHBCP_ETB RAW(132) enable threads byte(不确定)

FHBHZ NUMBER begin hot backup file size

FHXCD RAW(16) External cache id: Used to ensure that concurrent instances access data through consistent external cache

FHTSN NUMBER TS#,Tablespace number

FHTNM VARCHAR2(30) TABLESPACE_NAME, Tablespace name

FHRFN NUMBER RFILE#, Tablespace relative datafile number

FHAFS VARCHAR2(16) absolute fuzzy scn, 即Minimum PITR SCN

FHRFS VARCHAR2(16) The SCN at which the recovery of this file will be complete (no longer fuzzy). Both above fuzzy SCNs must be zero unless a fuzzy flag is set, and must be greater than the checkpoint SCN

FHRFT VARCHAR2(20) The time at which the recovery of this file will be

complete (no longer fuzzy).

HXIFZ NUMBER File is fuzzy (YES | NO),decode(hxifz, 0,'NO', 1,'YES', NULL) HXNRCV NUMBER File needs media recovery (YES | NO),decode(hxnrcv, 0,'NO', 1,'YES', NULL)

HXFNM VARCHAR2(513) NAME, Datafile name

FHPOFB NUMBER

FHPNFB NUMBER

FHPRE10 NUMBER

FHFIRSTUNRECSCN VARCHAR2(16) UNRECOVERABLE_CHANGE#, Last unrecoverable change number made to this datafile. If the database is in ARCHIVELOG mode, then this column is updated when an unrecoverable operation completes. If the database is not in ARCHIVELOG mode, this column does not get updated.

FHFIRSTUNRECTIME VARCHAR2(20) UNRECOVERABLE_TIME, Timestamp of the last unrecoverable change. This column is updated only if the database is in ARCHIVELOG mode.

HXLMDBA NUMBER SPACE_HEADER, The amount of space currently being used and the amount that is free, as identified in the space header. decode(hxlmdba, 0, NULL, hxlmdba)

HXLMLD_SCN VARCHAR2(16) LAST_DEALLOC_SCN, Last deallocated SCN

2.2 X$KCVFH的常见用法

2.2.1 判断datafile是否需要recover,如果需要recover,那么需要至少需要recover到什么SCN,即执行如下查询:

SQL> select max(fhafs) from x$kcvfh;

MAX(FHAFS)

----------------

如果返回返回结果大于0,则表示数据库处于不一致的状态,需要recover到上述查询结果中的SCN。

2.2.2 判断datafile做recover需要的archive log的sequence是多少,也就是说做recover 到这个sequence,那么control file和datafile header中的记录就一致了。

即执行如下查询:

SQL> select HXFILFile_num,substr(HXFNM,1,45) File_name, FHSCN

SCN,FHRBA_SEQ Sequence fromX$KCVFH;

FILE_NUM FILE_NAME SCN

SEQUENCE

---------- ------------------------------------------------------- ----------

1 /u01/app/oracle/oradata/anqing/system01.dbf 1329249 69

2 /u01/app/oracle/oradata/anqing/undotbs01.dbf 1329249 69

3 /u01/app/oracle/oradata/anqing/sysaux01.dbf 1329249 69

4 /u01/app/oracle/oradata/anqing/users01.dbf 1329249 69

5 /u01/app/oracle/oradata/anqing/example01.dbf 1329249 69

三. X$KCVFH 的出处

在第二节列出了x$kcvfh 大部分字段的含义。这个含义也是dbsnake 自己推出来的。具体的方法就是将file #1 的datafile header(第一个block)dump 出来,然后用其值与DATA FILE #1在x$kcvfh中的内容值进行比较,这个一步是dbsnake 用自己的一个过程来实现的,我不知道其具体内容,但是通过BBED 可以看出对应的值。也可以进行一个比较。

至于为什么x$kcvfh的内容放在file #1里,这个是Oracle 的规定。

3.1 使用BBED查看kcvfh 内容

Oracle BBED 工具说明

https://www.360docs.net/doc/f11339072.html,/tianlesoftware/article/details/5006580

Oracle bbed 五个实用示例

https://www.360docs.net/doc/f11339072.html,/tianlesoftware/article/details/6684505

先查看一个File #1 对应的表空间,是system:

SQL> select file_id,file_name fromdba_data_files;

FILE_ID FILE_NAME

-------------------------------------------------------

4 /u01/app/oracle/oradata/anqing/users01.dbf

3 /u01/app/oracle/oradata/anqing/sysaux01.dbf

2 /u01/app/oracle/oradata/anqing/undotbs01.dbf

1 /u01/app/oracle/oradata/anqing/system01.dbf

5 /u01/app/oracle/oradata/anqing/example01.dbf

用BBED 工具查看一下File #1 中kcvfh 的内容和对应的值:

dave:/u01> cat filelist.txt

1/u01/app/oracle/oradata/anqing/system01.dbf

dave:/u01> cat bbed.par

blocksize=8192

listfile=/u01/filelist.txt

mode=edit

dave:/u01> bbed parfile=/u01/bbed.par

Password:

BBED: Release 2.0.0.0.0 - LimitedProduction on Sun Oct 30 15:51:16 2011 Copyright (c) 1982, 2007, Oracle. All rights reserved.

************* !!! For Oracle Internal Useonly !!! ***************

BBED> show

FILE# 1

BLOCK# 1

OFFSET 0

DBA 0x00400001(4194305 1,1)

FILENAME /u01/app/oracle/oradata/anqing/system01.dbf

BIFILE bifile.bbd

LISTFILE /u01/filelist.txt

BLOCKSIZE 8192

MODE Edit

EDIT Unrecoverable

IBASE Dec

OBASE Dec

WIDTH 80

COUNT 512

LOGFILE log.bbd

SPOOL No

BBED> p kcvfh

struct kcvfh, 676 bytes @0

struct kcvfhbfh, 20 bytes @0

ub1 type_kcbh @0 0x0b

ub1 frmt_kcbh @1 0xa2

ub1 spare1_kcbh @2 0x00

ub1 spare2_kcbh @3 0x00

ub4 rdba_kcbh @4 0x00400001

ub4 bas_kcbh @8 0x00000000

ub2 wrp_kcbh @12 0x0000

ub1 seq_kcbh @14 0x01

ub1 flg_kcbh @15 0x04 (KCBHFCKV) ub2 chkval_kcbh @16 0x9614

ub2 spare3_kcbh @18 0x0000

struct kcvfhhdr, 76 bytes @20

ub4 kccfhswv @20 0x00000000

ub4 kccfhcvn @24 0x0a200100

ub4 kccfhdbi @28 0x296d43c7

text kccfhdbn[0] @32 A

text kccfhdbn[1] @33 N

text kccfhdbn[2] @34 Q

text kccfhdbn[3] @35 I

text kccfhdbn[4] @36 N

text kccfhdbn[5] @37 G

text kccfhdbn[6] @38

text kccfhdbn[7] @39

ub4 kccfhcsq @40 0x00000402

ub4 kccfhfsz @44 0x0000fa00

s_blkz kccfhbsz @48 0x00

ub2 kccfhfno @52 0x0001

ub2 kccfhtyp @54 0x0003

ub4 kccfhacid @56 0x00000000

ub4 kccfhcks @60 0x00000000

text kccfhtag[0] @64

………..

text kccfhtag[31] @95

ub4 kcvfhrdb @96 0x00400179

struct kcvfhcrs, 8 bytes @100

ub4 kscnbas @100 0x00000009

ub2 kscnwrp @104 0x0000

ub4 kcvfhcrt @108 0x2184ef93

ub4 kcvfhrlc @112 0x2d8b028b

struct kcvfhrls, 8 bytes @116

ub4 kscnbas @116 0x0006ce7b

ub2 kscnwrp @120 0x0000

ub4 kcvfhbti @124 0x00000000

struct kcvfhbsc, 8 bytes @128

ub4 kscnbas @128 0x00000000

ub2 kscnwrp @132 0x0000

ub2 kcvfhbth @136 0x0000

ub2 kcvfhsta @138 0x2004 (KCVFHOFZ) struct kcvfhckp, 36 bytes @484

struct kcvcpscn, 8 bytes @484

ub4 kscnbas @484 0x00144861

ub2 kscnwrp @488 0x0000

ub4 kcvcptim @492 0x2da69134 ub2 kcvcpthr @496 0x0001

union u, 12 bytes @500

struct kcvcprba, 12 bytes @500

ub4 kcrbaseq @500 0x00000045

ub4 kcrbabno @504 0x00000002

ub2 kcrbabof @508 0x0010 ub1 kcvcpetb[0] @512 0x02

……

ub1 kcvcpetb[7] @519 0x00

ub4 kcvfhcpc @140 0x00000089 ub4 kcvfhrts @144 0x2da69133 ub4 kcvfhccc @148 0x00000088 struct kcvfhbcp, 36 bytes @152

struct kcvcpscn, 8 bytes @152

ub4 kscnbas @152 0x00000000

ub2 kscnwrp @156 0x0000 ub4 kcvcptim @160 0x00000000 ub2 kcvcpthr @164 0x0000

union u, 12 bytes @168

struct kcvcprba, 12 bytes @168

ub4 kcrbaseq @168 0x00000000

ub4 kcrbabno @172 0x00000000

ub2 kcrbabof @176 0x0000 ub1 kcvcpetb[0] @180 0x00

……

ub1 kcvcpetb[7] @187 0x00

ub4 kcvfhbhz @312 0x00000000 struct kcvfhxcd, 16 bytes @316

ub4 space_kcvmxcd[0] @316 0x00000000 ub4 space_kcvmxcd[1] @320 0x00000000 ub4 space_kcvmxcd[2] @324 0x00000000 ub4 space_kcvmxcd[3] @328 0x00000000 word kcvfhtsn @332 0

ub2 kcvfhtln @336 0x0006

text kcvfhtnm[0] @338 S

……

text kcvfhtnm[29] @367

ub4 kcvfhrfn @368 0x00000001 struct kcvfhrfs, 8 bytes @372

ub4 kscnbas @372 0x00000000 ub2 kscnwrp @376 0x0000

ub4 kcvfhrft @380 0x00000000 struct kcvfhafs, 8 bytes @384

ub4 kscnbas @384 0x00000000

ub2 kscnwrp @388 0x0000

ub4 kcvfhbbc @392 0x00000000

ub4 kcvfhncb @396 0x00000000

ub4 kcvfhmcb @400 0x00000000

ub4 kcvfhlcb @404 0x00000000

ub4 kcvfhbcs @408 0x00000000

ub2 kcvfhofb @412 0x000a

ub2 kcvfhnfb @414 0x000a

ub4 kcvfhprc @416 0x2184ef74

struct kcvfhprs, 8 bytes @420

ub4 kscnbas @420 0x00000001

ub2 kscnwrp @424 0x0000

struct kcvfhprfs, 8 bytes @428

ub4 kscnbas @428 0x00000000

ub2 kscnwrp @432 0x0000

ub4 kcvfhtrt @444 0x00000000

BBED>

这里我们可以从结果里看到X$KCVFH实际上是来源于kcvfh这个struct。这里的@符号表示的是偏移量,后面对应的是其值,dbsnake 应该是写了一个方法,直接获取了这个值。如:

ub4 kccfhcvn @24 0x0a200100

查看该对象对应的值:

SQL> selectto_number('0a200100','xxxxxxxxx') from dual;

TO_NUMBER('0A200100','XXXXXXXXX')

---------------------------------

169869568

3.2 Dump Datafile header

Oracle oradebug 命令使用说明

https://www.360docs.net/doc/f11339072.html,/tianlesoftware/article/details/6525628

Datafile Header 是datafile 中的第一个block. 要dump datafile header 不能直接使用如下命令:

alter systemdump datafile 1 block 1;

该命令会显示:

Block 1 (file header) not dumped: use dumpfile header command。

查看DSI文档403 File DumpAnalysis 一节,可以找到具体的用法:

This data file headeris in all Oracle data files, that is, files belonging to a tablespace. The header is the samefor a temp file.

(1)Dump 'FILE_HDRSLEVEL n'

N=1: The control file’sentry of the data file. This appears before the string FILE HEADER, and is notshown on the slide. It will be covered in the control file dump.

N=2: The control file’sentry and generic header. This has been covered in the previous slide, and isnot shown on the above slide.

N=3: The control file’sentry, generic header, and the header information in the data file. This causes thefile to be opened and read if the database is only mounted. (2)Data File Header

This resides in block1, somewhere after the generic file header.

Tablespace: Name of the tablespace to which the filebelongs.

rel_fn: Relative file number

Creation SCN,time: SCN at the time thefile was created. There can not be any redo information for thisfile prior to this SCN. The timestamp is approximate. This can be used to distinguishbetween different files created with the same name (for example, drop and recreate atablespace).

Backup scn,time: Updated whenexecuting BEGIN BACKUP on the tablespace. RMAN does not updatethis field.

(The next few lines inthe dump are incorrectly indented, erroneously suggesting they belong to the backupSCN.)

reset logscount and scn: The counter with the SCN is called the Reset Log Stamp, and is a uniqueidentification. The counter is in fact a timestamp.

Recovered at: Used during recovery to help ensure thatif many processes are used for recovery, all areusing the same file, in case of name duplication.

Status: Flags. Here are also the fuzzy flags

KCVFHHBP 001 Hot backup-in-progress on file (fuzzy file)

KCVFHHBM 002 End hot backup marker seen (Bit only validor set in Oracle7) KCVFHOFZ 004 Online fuzzy because it was online and dbopen

KCVFHCRM 008 Crash Recovery Media marker seen (Bit onlyvalid or set in

Oracle7)

KCVFHMFZ 010 Media recovery fuzzy - file in mediarecovery

KCVFHCMF 020 Clear media recovery (Bit only valid or setin Oracle7) KCVFHAFZ 040 Absolutely fuzzy - fuzziness from file scan

KCVFHBCP 100 Bad Checkpoint - no enabled thread bitvec

(In Oracle7 this flagmeans: File belongs to SYSTEM tablespace)

KCVFHFMH 200 Freshly munged header. Resetlogs are notfinished.

Bit is cleared at nextcheckpoint. A set bit allows an OPEN

RESETLOGS to berepeated (for example, file headers were

updated

(this bit was set) butcontrol file record not updated)

KCVFHXCH 400 Externally cached by operating system. Ifthe server is aware

of an OS cache thatdelays writes to media, then this bit gets set,

and the server willforce a media recovery when file is reopened.

KCVFHZBA 800 Zeroed blocks allowed. File may containOracle7 unused blocks, which are all zero.Oracle8 blocks have a nonzero initial value

with SEQ and TAIL.

KCVFHPCP 1000 Proxy copy in progress

Rootdba: This fieldonly occurs in data file #1, and is the location of blocks required duringbootstrapping the data dictionary (bootstrap$)

CheckpointCount: Number ofcheckpoints attempted to this file (some may have been skipped, if thefile already has a checkpoint at a later time then the checkpoint now being attempted).Helps to detect files that have been restored. ControlfileCheckpoint Count: Saved copy of thecontrol file record of the checkpoint count.Helps detect old control files.

begin-hot-backupfile size: Updated when BackupSCN is updated. To cope with data files that wereresized during backup.

Checkpoint SCN: Updated on every checkpoint, but not whenin Hot backup state (not online backups).This must remain untouched when you are in hot backup mode, because you might getcheckpoints between the BEGIN BACKUP and when you actually start thecopying process.

BackupCheckpoint: Updated with thecheckpoint done while file in Hot backup. External cacheid: Used to ensure thatconcurrent instances access data through consistent externalcache.

Absolute FuzzySCN: Shows this file is abackup copy and is fuzzy.

Recovery fuzzySCN: The SCN at which therecovery of this file will be complete (no longer fuzzy).

Both above fuzzy SCNsmust be zero unless a fuzzy flag is set, and must be greater than the checkpointSCN

Comment in the codethat examines the fuzzy bits:

/* Fuzzy-Wuzzy was afile.

** Fuzzy-Wuzzy needsno redo.

** Fuzzy-Wuzzywasn't fuzzy, was he? */

(3)Data File Blocks

Data file blocks arenot covered in this course, because they have been covered in other courses in thisseries.

这里就有两种方法来dump Datafile header:

(1)使用sql 语句:

SQL>alter system set events 'immediate tracename file_hdrs level 3;

(2)使用oradebug命令,这里用oradebug 命令示例

SQL> oradebug setmypid

Statement processed.

SQL> oradebug dump file_hdrs 10

Statement processed.

SQL> oradebug tracefile_name

/u01/app/oracle/admin/anqing/udump/anqing_ora_4556.trc

这里会把所有的datafile 的header 都dump 出来,我们从trace里找到file#1的dump:

DATA FILE #1:

(name #7) /u01/app/oracle/oradata/anqing/system01.dbf

creation size=0 block size=8192 status=0xehead=7 tail=7 dup=1

tablespace 0, index=1 krfil=1 prev_file=0

unrecoverablescn: 0x0000.00000000 01/01/1988 00:00:00

Checkpoint cnt:140 scn: 0x0000.0014c0c110/30/2011 17:46:40

Stopscn: 0xffff.ffffffff 10/30/2011 16:29:42

Creation Checkpointed at scn: 0x0000.00000009 06/30/2005 19:10:11

thread:0 rba:(0x0.0.0)

enabled threads: 00000000 0000000000000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

……

00000000 00000000 00000000 00000000 00000000 00000000

Offline scn: 0x0000.0006ce7a prev_range: 0

Online Checkpointed at scn: 0x0000.0006ce7b 10/09/2011 13:47:55

thread:1 rba:(0x1.2.0)

enabled threads: 01000000 0000000000000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

……

00000000 00000000 00000000 00000000 00000000 00000000

HotBackup end marker scn: 0x0000.00000000

aux_file is NOT DEFINED

V10STYLE FILE HEADER:

Compatibility Vsn = 169869568=0xa200100

Db ID=695026631=0x296d43c7, Db Name='ANQING'

Activation ID=0=0x0

Control Seq=1049=0x419, File size=64000=0xfa00

File Number=1, Blksiz=8192, File Type=3 DATA

Tablespace #0 - SYSTEM rel_fn:1

Creation at scn: 0x0000.0000000906/30/2005 19:10:11

Backup taken at scn: 0x0000.0000000001/01/1988 00:00:00 thread:0

reset logs count:0x2d8b028b scn:0x0000.0006ce7b reset logs terminal rcv data:0x0 scn: 0x0000.00000000

prevreset logs count:0x2184ef74 scn: 0x0000.00000001 prev reset logs terminal rcvdata:0x0 scn: 0x0000.00000000

recovered at 10/30/2011 17:46:38

status:0x2004 root dba:0x00400179 chkpt cnt:140 ctl cnt:139

begin-hot-backup file size: 0

Checkpointed at scn: 0x0000.0014c0c1 10/30/2011 17:46:40

thread:1 rba:(0x46.2.10)

enabled threads: 01000000 0000000000000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

…..

00000000 00000000 00000000 00000000 00000000 00000000

Backup Checkpointed at scn: 0x0000.00000000

thread:0 rba:(0x0.0.0)

enabled threads: 00000000 0000000000000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ……00000000 00000000 00000000 00000000 00000000 00000000

External cache id: 0x0 0x0 0x0 0x0

Absolute fuzzy scn: 0x0000.00000000

Recovery fuzzy scn: 0x0000.0000000001/01/1988 00:00:00

Terminal Recovery Stamp 01/01/1988 00:00:00

Platform Information: Creation Platform ID: 10

Current Platform ID: 10 Last Platform ID:10

Dbsnake 就是用dump 出来的值和BBED 计算出来的值进行比较推测出x$kcvfh 字典中每个字段的含义。

3.3 X$KCVFH 中的FHRDB 字段说明

刚才在DSI 403里有这么一句话:

Root dba: This fieldonly occurs in data file #1, and is the location of blocks required during bootstrapping the data dictionary (bootstrap$)

事实上,x$kcvfh 中的FHRDB 就是代表这个root dba,而且这个bootstrap$ 对数据库来说还非常重要。

下面我们来验证上面的这个结论:

BBED显示的FHRDB中的值:

ub4 kcvfhrdb @96 0x00400179

使用如下SQL,将这个DBA地址转换称对应的block,具体参考:

Oracle rdba和dba 说明

https://www.360docs.net/doc/f11339072.html,/tianlesoftware/article/details/6529346

SQL> SELECTDBMS_UTILITY.data_block_address_file (

2 TO_NUMBER (LTRIM ('0x00400179', '0x'),'xxxxxxxx'))

3 AS file_no,

4 DBMS_UTILITY.data_block_address_block (

5 TO_NUMBER (LTRIM('0x00400179', '0x'), 'xxxxxxxx'))

6 AS block_no

7 FROM DUAL;

FILE_NO BLOCK_NO

---------- ----------

1 377

通过这个结果,可以看出DBA0x00400179 指向的是file 1 block 377.

我们使用BBED 命令输出377 block 里面的内容:

dave:/home/oracle> bbed parfile=/u01/bbed.par

Password:

BBED: Release 2.0.0.0.0 - LimitedProduction on Sun Oct 30 18:44:26 2011 Copyright (c) 1982, 2007, Oracle. All rights reserved.

************* !!! For Oracle Internal Useonly !!! ***************

BBED> set dba 1,377

DBA 0x00400179(4194681 1,377)

BBED> show

FILE# 1

BLOCK# 377

OFFSET 0

DBA 0x00400179(4194681 1,377)

FILENAME /u01/app/oracle/oradata/anqing/system01.dbf

BIFILE bifile.bbd

LISTFILE /u01/filelist.txt

BLOCKSIZE 8192

MODE Edit

EDIT Unrecoverable

IBASE Dec

OBASE Dec

WIDTH 80

COUNT 512

LOGFILE log.bbd

SPOOL No

BBED> p ktemh

struct ktemh, 16 bytes @92

ub4 count_ktemh @92 0x00000001 ub4 next_ktemh @96 0x00000000

ub4 obj_ktemh @100 0x00000038 ub4 flag_ktemh @104 0x40000000

BBED> map

File:/u01/app/oracle/oradata/anqing/system01.dbf (1)

Block: 377 Dba:0x00400179

------------------------------------------------------------

Unlimited Data Segment Header

struct kcbh, 20 bytes @0

struct ktech, 72 bytes @20

struct ktemh, 16 bytes @92

struct ktetb[1], 8 bytes @108

struct ktshc, 8 bytes @4148

struct ktsfs_seg[1], 20 bytes @4156

struct ktsfs_txn[16], 320 bytes @4176

ub4tailchk @8188

BBED> p ktemh

struct ktemh, 16 bytes @92

ub4count_ktemh @92 0x00000001 ub4 next_ktemh @96 0x00000000 ub4 obj_ktemh @100 0x00000038 ub4 flag_ktemh @104 0x40000000

BBED>

这里可以看到FHRDB 对应的对象是:0x00000038

SQL> select to_number('38','XX') from dual;

TO_NUMBER('38','XX')

--------------------

56

SQL> select name from sys.obj$ where obj#=56;

NAME

------------------------------

BOOTSTRAP$

以上测试证明:10g中X$KCVFH中字段FHRDB对应的就是bootstrap$.

oracle数据字典详解

学习笔记:oracle数据字典详解 --- 本文为TTT学习笔记,首先介绍数据字典及查看方法,然后分类总结各类数据字典的表和视图。然后列出一些附例。 数据字典系统表,保存在system表空间中。 由表和视图组成,由服务器在安装数据库时自动创建,用户不可以直接修改数据库字典,在执行DDL 语句时,oracle会自动修改。 记录一些表和视图(只读的),新建的表不要和这空间建在一起(9i以前的版本新用户建的表默认表空间为system,注意修改) --查询数据字典: select * from dictionary --数据字典导出方法: conn / as sysdba spool on spool c:\dic.txt select * from dictionary spool off 主要四部分: 1,内部RDBMS表:x$…… 2,数据字典表:……$ 3,动态性能视图:gv$……,v$…… 4,数据字典视图:user_……,all_……,dba_……

数据库启动时,动态创建x$,在X$基础上创建GV$,在GV$基础上创建V$X$表-->GV$(视图)--->V$(视图) +++ 一,内部RDBMS表x$……,例如:x$kvit,x$bh,x$ksmsp,x$ksppi和x$ksppcv 核心部分,用于跟踪内部数据库信息,维持DB的正常运行。 是加密命名的,不允许sysdba以外的用户直接访问,显示授权不被允许。最好不要修改. x$kvit=Kernel Layer Performance Layer V Information tables Transitory Instance parameter 数据库启动时,动态创建x$…… +++ 二,数据字典表……$,如tab$,obj$,ts$…… --用来存储表、索引、约束以及其他数据库结构的信息。 --创建数据库时通过脚本sql.bsq来创建,脚本:$oracle_home/rdbms/admin/sql.bsq +++ 三,动态性能视图gv$……,v$……,如V$parameter --记录了DB运行时信息和统计数据,大部分动态性能视图被实时更新以反映DB当前状态。 --数据库创建时建立的。 --只有sysdba可以直接访问。 --查看表v$fixed_view_definition(***),可以查看GV$和V$视图的创建语句。(oracle提供一些特殊视图,用来记录其他视图的创建方式,v$fixed_view_definition就是其中之一) --select view_definition from v$fixed_view_definition where view_name='V$FIXED_TABLE'; --gv$……=Global V$,在X$……基础上创建,是为了满足OPS环境(多个实例)的需要面产生的,可以返回多个实例的信息。

数据库系统1-3:数据字典

数据库系统1-3:数据字典 将关于数据库系统中涉及到的对象的描述信息集中,以数据文件的形式组织起来称为数据字典DD(DataDirectory)或数据目录(Catalog)。数据字典是关于数据的数据,也称为元数据(metadata),是系统中最重要的数据。1.数据字典的内容 其数据主要有两大类:一类是来自用户的信息,如表、视图(用户所使用的虚表)和索引的定义以及用户的权限等,另一类是来自系统状态和数据库的统计信息,如关于通讯系统与网络系统性能的说明及使用的协议、数据库和磁盘的映射关系、数据使用频率的统计等。 例如,MicrosoftSQLServer的数据字典由二个层次的系统表(表名以sys开头)组成。在master数据库(安装系统时自动生成)的系统表中记载着:(1)SQLServer 的启动参数(2)系统本身的状态设置(3)系统现有数据库的相关信息(4)已登录的用户的信息 在用户数据库中也有系统表(创建数据库时自动生成),这些系统表记载用户数据库中的所有对象、表、表间的联系、表的字段、索引等信息。表1.6是master数据库中的系统表sysdatabase,它记载了系统中所有的数据库。2.数据字典的建立与使用

数据字典由DBMS自动建立和维护,供DBMS和用户使用。数据字典主要为DBMS服务,供DBMS查找有关对象的信息,例如,DBMS在处理用户存取时,要查询数据字典中的用户表、子模式和模式等;DBMS还利用数据字典对系统的统计结果进行分析以改善系统性能。用户也可以查询数据字典的内容,和查询用户自己数据库中的表没有什么不同。从这个角度上讲数据字典也是一个数据库,是关于系统自身的数据库。

Oracle常用数据字典表(系统表或系统视图)及查询SQL

Oracle常用数据字典表(系统表或系统视图)及查询SQL 2014年12月15日?数据库?共4187字?暂无评论?阅读861 次 文章目录 ?数据字典分类 ?dba_开头 ?user_开头 ?v$开头 ?all_开头 ?session_开头 ?index_开头 ?伪表 ?数据字典常用SQL查询 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的。比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息的视图等。 数据字典系统表,保存在system表空间中。查询所有数据字典可用语句“select * from dictionary;”。 数据字典分类 数据字典主要可分为四部分: 1)内部RDBMS表:x$*,用于跟踪内部数据库信息,维持DB的正常运行。是加密命名的,不允许sysdba以外的用户直接访问,显示授权不被允许。

2)数据字典表:*$,如tab$,obj$,ts$等,用来存储表、索引、约束以及其他数据库结构的信息。 3)动态性能视图:gv$*,v$*,记录了DB运行时信息和统计数据,大部分动态性能视图被实时更新以反映DB当前状态。 4)数据字典视图:user_*、all_*、dba_*,在非Sys用户下,我们访问的都是同义词,而不是V$视图或GV视图。 数据库启动时,动态创建x$,在X$基础上创建GV$,在GV$基础上创建V$X$表-->GV$(视图)--->V$(视图)。 数据字典视图可分为静态数据字典视图和动态数据字典视图。 静态数据字典是指在用户访问数据字典时内容不会发生改变。这类数据字典主要是由表和视图组成,应该注意的是,数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。 静态数据字典中的视图分为三类,它们分别由三个前缀够成:user_*(该用户方案对象的信息)、all_*(该用户可以访问的所有对象的信息)、dba_*(全部数据库对象的信息)。 动态数据字典是Oracle包含的一些潜在的由系统管理员如SYS维护的表和视图,由于当数据库运行的时候它们会不断进行更新,所以称它们为动态数据字典。这些视图提供了关于内存和磁盘的运行情况,所以我们只能对其进行只读访问而不能修改它们。Oracle中这些动态性能视图都是以v$开头的视图,比如v$access。 dba_开头 dba_users数据库用户信息

管家婆数据字典

管家婆数据库表 名称代码 职员信息表employee 库存商品信息表Ptype 往来单位btype 摘要表Abstract 地区信息表AreaType 会计科目表atypecw 仓库信息表Stock 部门信息表Department 订单索引表DlyndxOrder 订单明细表BakDlyOrder 单据索引表Dlyndx 进货单明细表Dlybuy 销售单明细表BakDlyOrder 零售单索引表Dlyndxretail 零售单明细表Dlyretail 其他单据明细表(比如调拨单,收.付款等) Dlyother 凭证明细表Dlya 操作员表Loginuser 系统初始值表Sysdata 系统配置表Syscon 单据配置表vchcon 单据类型表Vchtype 自动盘赢盘亏表CheckedCount 列配置表ColConfig 商品库存分布表GoodsStocks 期初商品库存分布表IniGoodsStocks 库存上下限报警设置表GoodsWar 客户跟踪价格表Price 期初发货、委托、受托商品库存表IniCommission 发货、委托、受托商品库存表Commission 发货结算单明细表Sendjsdly 固定资产基本信息表(包括固定资产类别、增减方式、使 Fixbasic 用状况) 固定资产减少Fixdel 固定资产折旧明细FixDepDetail 固定资产明细表FixDetail 会计期间表MonthProc 期初借进借出商品表Lendborrow00 借进借出商品表Lendborrow 门店登记信息表Posinfo

常用表中的主要字段介绍 1.商品信息库(ptype) 注:销售退货取的入库商品的成本首先取最近加价值(recprice),如果没有的话才取当前库存成本值. 2.往来单位信息库(btype) 与商品信息库相同的字段这里就不介绍了

数据库常用数据字典

Static Data Dictionary Views In Trusted Oracle Server, each of the dictionary tables and views contains a column that indicates the label of each row in the table or view. Trusted Oracle also provides some additional dictionary tables and views, and some Oracle8 dictionary tables and views contain columns that support compatibility with Trusted Oracle applications. See your Trusted Oracle documentation for more information about Trusted Oracle dictionary tables and views. Data Dictionary Views The following is an alphabetical reference of the data dictionary views accessible to all users of an Oracle Server. Most views can be accessed by any user with the CREATE_SESSION privilege. The data dictionary views that begin with DBA_ are restricted. These views can be accessed only by users with the SELECT_ANY_TABLE privilege. This privilege is assigned to the DBA role when the system is initially installed. ALL_ALL_TABLES This view describes all of the tables (object tables and relational tables) accessible to the user. ALL_INDEXES This view contains descriptions of indexes on tables accessible to the user. To gather statistics for this view, use the SQL command ANALYZE. This view supports parallel partitioned index scans. ALL_SEQUENCES This view lists descriptions of sequences accessible to the user. ALL_TABLES This view contains descriptions of relational tables accessible to the user. To gather statistics for this view, use the SQL command ANALYZE. ALL_TRIGGERS This view lists trigger information for triggers owned by the user, triggers on tables owned by the user, or all triggers if the user has the CREATE ANY TRIGGER privilege. ALL_USERS This view contains information about all users of the database. ALL_VIEWS

u8数据字典

用友U8的SQL SERVER 数据库结构说明表 在帐套中的两个表,一个表是RPT_GRPDEF,存放帐套中重要的表名及相关说明;另一个是RPT_ITMDEF,存放的是主要表中的相关字段说明; TableID ETableName CTableName 1 Accessaries 成套件表 2 AccInformation 帐套参数表 3 AdjustPVouch 4 AdjustPVouchs 5 Ap_AlarmSet 单位报警分类设置表 6 Ap_BillAge 帐龄区间表 7 Ap_Cancel 核销情况表 8 Ap_CancelNo 生成自动序号 9 Ap_CloseBill 收付款结算表 10 Ap_CtrlCode 控制科目设置表 11 Ap_Detail 应收/付明细帐 12 Ap_DigSet 13 AP_DispSet 查询显示列设置表 14 Ap_InputCode 入帐科目表---------- 15 Ap_InvCode 存货科目设置表 16 Ap_Lock 操作互斥表 17 Ap_MidExch 18 Ap_MyTableSet 查询条件存储表 19 Ap_Note 票据登记簿 20 Ap_Note_Sub 票据登记簿结算表 21 Ap_SstyleCode 结算方式科目表 22 Ap_Sum 应收/付总帐表 23 Ap_Vouch 应付/收单主表 24 Ap_Vouchs 应付/收单主表的关联表 25 Ap_VouchType 单据类型表 26 Ar_BadAge 坏帐计提帐龄期间表 27 Ar_BadPara 坏帐计提参数表 28 ArrivalVouch 到货单、质检单主表*** 29 ArrivalVouchs 到货单、质检单子表*** 30 AssemVouch 组装、拆卸、形态转换单主表 31 AssemVouchs 组装、拆卸、形态转换单子表 32 Bank 本企业开户银行及帐号 33 CA_ACR 按产品产量约当分配率表 34 CA_AllMt 分配率分配方法表 35 CA_AmoCt 各项费用成本表 36 CA_AsDIF 辅助部门内部固定分配率表 37 CA_AssCW 辅助费用耗用表 38 CA_AssMP 辅助部门计划单价表 39 CA_AWPC 各项费用耗用计划表

Oracle数据字典与视图

ORACLE数据字典与视图 当ORACLE数据库系统启动后,数据字典总是可用,它驻留在SYSTEM表空间中,所有权属于sys(DBA)用户。 数据字典包含数据库中所有模式对象(包括表、视图、索引、聚簇、同义词、序列、过程、函数、包、触发器等)的定义、列的默认值、完整性约束的定义、用户的权限和角色信息、存储空间分配情况、审计信息、字符集信息等数据库信息。 为了方便用户查询,在数据字典表上建立了数据字典视图集。视图集分为三种,这些视图包含有类似信息,彼此以前缀相区别,前缀为USER、ALL和DBA。 ▽前缀为USER_的视图,为用户视图,是在用户的模式内,包含当前用户所拥有的全部对象信息。如:USER_OBJECTS视图包含当前用户所建立的对象信息。 ▽前缀为ALL_的视图,为扩展的用户视图,除包含当前用户所拥有的全部对象信息以外,还包含公共帐号和显式授权用户所拥有的全部模式对象信息。如:ALL_USERS。 ▽前缀为DBA_的视图,为DBA的视图,包含整个数据库的所有用户所拥有的所有对象信息,而不局限于部分用户。如:DBA_USERS视图包含数据库中所有用户信息。只有DBA用户或被授予select_any_dictionary系统权限的用户才能够访问DBA视图。 在数据库ORACLE还维护了一组虚表(virtual table),记录当前数据库的活动情况和性能参数,这些表称为动态性能表。动态性能表的拥有者为SYS用户,名字均以V_$或GV_$为前缀。动态性能表不是真正的表,许多用户不能直接存取。DBA可通过查询这些表,了解系统运行状况、诊断和解决系统运行中出现的问题。DBA可以建立视图,给其它用户授予存取视图权。为了便于访问,Oracle在动态性能表的基础上建立了公用同义词,这些同义词的名字以V_$开头。如V_$BGPROCESS视图记录Oracle后台进程信息。 Sys帐号进去在视图下可见全部数据字典。其它帐号只能通过SQL语句查询 ORACLE数据字典与视图(部分,不全) 视图名说明

Oracle体系结构详解

Oracle体系结构就是围绕这张图展开的,要想深入了解oracle,就必须把这张图搞明白。如图: 一、基本组成: Oracle server: 一般情况下是一个instance和一个database组成 1个instance只能对应一个数据库。 特殊:1个数据库可以有多个instance(rac) 一台服务器上同时可装多套版本的数据库软件,每个数据库软件可建多个数据库,但是每个数据库只对应一个instance,也可以理解成每个数据库只有一个SID 。 利用DBCA建出的每个库都是相对独立的,在同一服务器上如果创建多库必须将环境变量的参数文件做区分,并且在对实例切换时需如下操作: connect 用户名/密码@实例的服务名

Oracle Instance: 是由内存(SGA)和后台进程(backupground Process)组成 通过instance来访问database 一个实例只能打开一个数据库 Oracle database: 数据文件(Data files): 数据文件永远存储数据库的数据,包括数据字典、用户数据(表、索引、簇)、undo数据等 重做日志(Redo log): “先记后写” 重做日志用于记录数据库的变化,当进行例程恢复或介质恢复时需要使用重做日志 执行DDL或DML操作时,事物变化会被写到重做日志缓冲区,而在特定的时刻LGWR会将重做日志缓冲区中的内容写入重做日志。 控制文件(Control file) 控制文件用于记录和维护数据库的物理结构,并且每个Oracle数据库至少要包含一个控制文件。 归档日志(Archive log): 是非活动(Inactive)重做日志的备份。 口令文件(Password file): 用于验证特权用户(具有SYSDBA、SYSOPER权限的特殊数据库用户) 参数文件(Parameter file): 用于定义启动实例所需要的初始化参数,包括文本参数文件(pfile)和服务器参数文件(spfile)(二进制文件放入裸设备,引入spfile) User and Server process : 在执行sql语句时产生的进程,每一个连接,oracle server创建一个session,产生一个server process,在client发起一个connection时就产生了一个user process。

Oracle HRMS 数据字典

HR数据字典 4.1.人员基本信息表(PER_ALL_PEOPLE_F) 字段名 类型 是否为空 备注 PERSON_ID NUMBER(10) ,PK N 员工标示 EFFECTIVE_START_DATE DATE,PK N 有效期起始日期 EFFECTIVE_END_DATE DATE,PK N 有效中止日期 BUSINESS_GROUP_ID NUMBER(15) N 业务组编号 PERSON_TYPE_ID NUMBER(15) N 人员类型号 LAST_NAME VARCHAR2(150) N 姓氏 FIRST_NAME VARCHAR2(150) Y 名字 START_DATE DATE N 开始日期 DATE_OF_BIRTH DATE Y 出生日期 MARITAL_STATUS VARCHAR2(30) Y 个人状态 NATIONAL_IDENTIFIER VARCHAR2(30) Y 身份证号码 PREVIOUS_LAST_NAME VARCHAR2(150) Y 曾用名 SEX VARCHAR2(30) Y 性别 ORIGINAL_DATE_OF_HIRE DATE Y 雇佣日期 4.2.Lookup表(FND_COMMON_LOOKUPS、HR_LOOKUPS) 字段名 类型 是否为空 备注 LOOKUP_TYPE VARCHAR2(30) N LOOKUP_CODE VARCHAR2(30) N MEANING VARCHAR2(80) N 4.3.职位表(PER_ALL_POSITIONS) 字段名 类型 是否为空 备注 POSITION_ID NUMBER(15) ,PK N 职位编号 BUSINESS_GROUP_ID NUMBER(15) N 业务组编号 JOB_ID NUMBER(15) N 职务编号 ORGANIZATION_ID NUMBER(15) N 组织编号 SUCCESSOR_POSITION_ID NUMBER(15) Y 下属职位编号 LOCATION_ID NUMBER(15) Y 地址编号 POSITION_DEFINITION_ID NUMBER(15) N 职位定义编号 DATE_EFFECTIVE DATE N 有效日期 NAME VARCHAR2(240) Y 职位名称

人事管理系统数据库 数据字典

人事管理系统数据库数据字典 一、数据流定义 (1)数据流名称:员工情况 位置:员工 定义:员工情况=姓名+性别+出生日期+民族+学历+职称 数据流量;根据公司的员工具体录用情况来确定 说明:要对每一位被聘用的新员工进行唯一编号 (2)数据流名称:奖惩情况 位置:员工 定义:奖惩情况=员工流水号+奖惩类型+奖惩金额+奖惩年月日 数据流量;根据公司的具体情况来确定 说明:要对每一次的奖惩记录进行唯一编号 (3)数据流名称:奖惩批复情况 位置:上级 定义:奖惩批复情况=奖惩类型+批复部门号+批复原因+批复日期 数据流量;根据公司的具体情况来确定 说明:此项在应用中,可以省略 (4)数据流名称:调动情况 位置:员工 定义:调动情况=员工号+调动前职位+调动后职位+调动日期 数据流量;根据公司的具体情况来确定 说明:一个号和对应调动日期相结合,可以确定一个调动情况 (5)数据流名称:调动批复情况 位置:上级 定义:调动批复情况=批复部门号+批复原因+批复日期 数据流量;根据公司的具体情况来确定 说明:批复原因可省略 (6)数据流名称:上班刷卡 位置:员工 定义:上班刷卡=员工编号+上班时间+刷卡机号 数据流量;根据公司的具体规模情况来确定 说明:上班刷卡时间会汇录到员工出勤记录中 (7)数据流名称:下班刷卡 位置:员工 定义:下班刷卡=员工编号+下班时间+刷卡机号 数据流量;根据公司的具体规模情况来确定 说明:下班刷卡时间会汇录到员工出勤记录中 (8)数据流名称:工资查询 位置:员工 定义:工资查询=员工编号+基本工资+奖金+罚款+起始时间+截止时间+发薪日期数据流量;根据公司的具体情况来确定 说明:根据员工号和发薪日期可唯一确定一个工资记录

oracle体系结构(详解)

在学习oracle中,体系结构是重中之重,掌握的越深入越好。在实际工作遇到疑难问题,其实都可以归结到体系结构中来解释,所以我们根据下面的示图了解一下oracle体系结构。 1.Summarize 根据示图,便于我们记忆,示图分三部分组成,左侧User Process、Server Process、PGA可以看做成Clinet端,上面的实例(Instance)和下面的数据库(Database)及参数文件(parameter file)、密码文件(password file)和归档日志文件(archived logfiles)组成Oracle Server,所以整个示图可以理解成一个C/S架构。Oracle Server由两个实体组成:实例(instance)与数据库(database)。这两个实体是独立的,不过连接在一起。在数据库创建过程中,实例首先被创建,然后才创建数据库。在典型的单实例环境中,实例与数据库的关系是一对一的,一个实例连接一个数据库,实例与数据库也可以是多对一的关系,即不同计算机上的多个实例打开共享磁盘系统上的一个公用数据库。这种多对一关系被称为实际应用群集(Real Application Clusters,RAC)RAC极大提高了数据库的性能、容错与可伸缩性(可能耗费更多的存储空间)并且是oracle网格(grid)概念的必备部分。 2.Client端 在Client端的作用是如何从客户端创建服务器进程与数据库进行交互的过程。 2.1 User process 用户运行一个应用程序时与Oracle数据库进程交互(例如:sql/plus)时,oracle创建一个用户进程来运行用户的应用程序。 2.2 Server process

用友数据库表及数据字典

用友数据库表及数据字典 数据库模块"表名""表中文名"公 共 表 相关功能 Ufdata财务 分析 CW_CodePlan科目计划初始科目预算 Ufdata 财务 分析 CW_CodePlus科目追加计划科目预算 Ufdata财务 分析 CW_DeptPlan部门计划初始精细部门预算、粗放部门预算 Ufdata 财务 分析 CW_DeptPlus部门追加计划精细部门预算、粗放部门预算 Ufdata 财务 分析 CW_ProfPlan利润计划初始利润预算 Ufdata 财务 分析 CW_ProfPlus利润追加计划利润预算 Ufdata财务 分析 CW_ProjPlan项目计划初始精细项目预算、粗放项目预算 Ufdata 财务 分析 CW_ProjPlus项目追加计划精细项目预算、粗放项目预算 Ufdata 财务 分析 CW_WideDeptCode 粗放部门计划 控制科目 粗放部门预算科目控制方向选择 Ufdata 财务 分析 CW_WideProjCode 粗放项目计划 控制科目 粗放项目预算科目控制方向选择 Ufdata采购 管理 ArrivalVouch(无用表) Ufdata 采购 管理 ArrivalVouchs(无用表) Ufdata采购 管理 PO_Podetails采购订单子表采购订单(子) Ufdata 采购 管理 PO_Pomain采购订单主表采购订单(主) Ufdata 采购 管理 PU_LeftSum(无用表) Ufdata 采购 管理 PurBillVouch采购发票主表采购发票(主) Ufdata 采购 管理 PurBillVouchs采购发票子表采购发票(子) Ufdata 采购 管理 PurSettleVouc h 采购结算单主 表 采购结算(主)

Oracle数据字典介绍与使用

Oracle数据字典介绍与使用 select * from dictionary; --数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的。 比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等。 数据库数据字典是一组表和视图结构。它们存放在SYSTEM表空间中 当用户在对数据库中的数据进行操作时遇到困难就可以访问数据字典来查看详细的信息。 用户可以用SQL语句访问数据库数据字典。 数据字典内容包括: 1,数据库中所有模式对象的信息,如表、视图、簇、及索引等。 2,分配多少空间,当前使用了多少空间等。 3,列的缺省值。 4,约束信息的完整性。 5,Oracle用户的名字。 6,用户及角色被授予的权限。

7,用户访问或使用的审计信息。 8,其它产生的数据库信息。 Oracle中的数据字典有静态和动态之分。 1,静态数据字典-->主要是在用户访问数据字典时不会发生改变的, --例如某用户创建的表 2,动态数据字典-->是依赖数据库运行的性能的,反映数据库运行的一些内在信息,所以在访问这类数据字典时往往不是一成不变的。 --当前锁住的对象 静态数据字典:这类数据字典主要是由表和视图组成 数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。 静态数据字典中的视图分为三类,它们分别由三个前缀够成:user_*、all_*、dba_*。 user_* 该视图存储了关于当前用户所拥有的对象的信息。(即所有在该用户模式下的对象)all_* 该试图存储了当前用户能够访问的对象的信息。(与user_*相比,all_* 并不需要拥有该对象,只需要具有访问该对象的权限即可)

t6数据字典

Tag:数据库用友数据库表名参照表 1 Accessaries 成套件表 2 AccInformation 帐套参数表 3 AdjustPVouch 4 AdjustPVouchs 5 Ap_AlarmSet 单位报警分类设置表 6 Ap_BillAge 帐龄区间表 7 Ap_Cancel 核销情况表 8 Ap_CancelNo 生成自动序号 9 Ap_Cl oseBill 收付款结算表 10 Ap_CtrlCod e 控制科目设置表 11 Ap_Detail 应收/付明细帐 12 Ap_DigSet 13 AP_DispSet 查询显示列设置表 14 Ap_InputCod e 入帐科目表

15 Ap_InvCod e 存货科目设置表 16 Ap_Lock 操作互斥表 17 Ap_MidExch 18 Ap_MyTabl eSet 查询条件存储表 19 Ap_Note 票据登记簿 20 Ap_Note_Sub 票据登记簿结算表 21 Ap_Sstyl eCode 结算方式科目表 22 Ap_Sum 应收/付总帐表 23 Ap_Vouch 应付/收单主表 24 Ap_Vouchs 应付/收单主表的关联表 25 Ap_VouchType 单据类型表 26 Ar_BadAge 坏帐计提帐龄期间表 27 Ar_BadPara 坏帐计提参数表 28 ArrivalVouch 到货单、质检单主表*** 29 ArrivalVouchs 到货单、质检单子表*** 30 AssemVouch 组装、拆卸、形态转换单主表

31 AssemVouchs 组装、拆卸、形态转换单子表 32 Bank 本企业开户银行及帐号 33 CA_ACR 按产品产量约当分配率表 34 CA_AllMt 分配率分配方法表 35 CA_AmoCt 各项费用成本表 36 CA_AsDIF 辅助部门内部固定分配率表 37 CA_AssCW 辅助费用耗用表 38 CA_AssMP 辅助部门计划单价表 39 CA_AWPC 各项费用耗用计划表 40 CA_Batchmx_temp 41 CA_Batchmxhy_tmp 42 CA_Batchmxhy_tmp1 43 CA_bmmx_tmp 44 CA_CBSys 系统设置表 45 CA_ClassDef 产品类别定义 46 CA_ComPD 完工产品处理表

oracle 基本配置与数据字典-入门

oracle: 三个配置文件listener.ora、sqlnet.ora、tnsnames.ora ,都是放在$ORACLE_HOME\network\admin目录下 ref: https://www.360docs.net/doc/f11339072.html,/blog/832429 使用数据库连接时,Oracle检查本地主机中的tnsnames.ora文件以确定要连接到哪个数据库。PLSQL、TOAD等客户端工具也是根据tnsnames.ora 来解析数据库连接 login.sql SQLPLUS 启动环境配置文件,为用户设置自定义的参数 显示所有环境参数 show all define 定义自定义变量,以及编辑工具_editor https://www.360docs.net/doc/f11339072.html,/uid-23177306-id-2531274.html SQLPLUS学习总结 这个总结很好! show parameter service_name 开启、关闭数据库 sqlplus /nolog conn / as sysdba !! 在11g,必须conn sys/pass as sysdba/sysoper 才能执行以下命令!! startup shutdown 常用命令大全: https://www.360docs.net/doc/f11339072.html,/chinafine/articles/1755405.html oracle 配置文件init.ora dbhome_1\srvm\admin dbhome_1\dbs select sysdate from dual; pseudo columns with normal table: select a.ename, sysdate, user, current_date,systimestamp from emp a; 关于大小写:

Oracle数据字典

Oracle数据字典 数据字典是Oracle数据库的核心组件,它是由一系列对于用户而言是只读的基础表和视图组成,它保存了关于数据库本身以及其中存储的所有对象的基本信息。可以认为数据字典记录了数据库实例自身的重要信息。 对数据字典的管理和维护由Oracle系统负责,任何数据库用户都无法对数据字典中的内容进行修改,但是数据库用户可以查看数据字典中的内容。为了方便用户查看数据字典中的信息,数据字典中的信息也是通过表和视图的形式组织起来的,数据字典和视图都保存在SYSTEM表空间中。 数据字典中的信息实际上中保存在基本表中的,并且只有Oracle系统才有权读取和写入基础表。基础表中存储的信息通常是经过加密处理的。视图是一种虚拟表,它本身并不包含数据,其中的数据是经过处理后基本表中的数据。数据字典中视图的作用是将表中各种信息进行分类,以方便用户获取其中的数据。大多数情况下,用户可以通过数据字典视图来获取与数据库相关的信息,而不需要访问数据字典表。 在Oracle实例运行期间,需要从数据字典表中读取信息,用于判断用户要访问的对象是否存在等信息。同时,Oracle还不断地向数据字典表中写入数据,以反映用户对数据库、以及数据库中保存的各对象所做的修改。例如,用户创建了一个表,这时系统将在数据字典中记录该表的结构信息、表在存储信息等。 对于数据库用户而言,数据字典中的视图好一本关于当前Oracle数据库的参考手册,可以通过SELECT语句查询。数据库用户由于权限不同,所能访问的数据字典视图的数量和类型也不同。用户所使用数据字典视图大致可以分为三类,并且各种类型的视图以不同名称的前缀表示。这三类数据字典视图的介绍如下: ●USER视图USER视图就是以USER_字符为名称前缀的数据字典视图。每个数据 库用户都有一组属于自己的视图,在USER视图中包含了属于该用户的所有对象 的信息。 ●ALL视图ALL视图就是以ALL_字符为名称前缀的数据字视图。ALL数据字典 视图是USER视图的扩展,在ALL视图中记录了属于该的所有对象的信息,以及 该用户可以访问的属于其他用户的对象的信息。 ●DBA视图DBA视图就是以DBA_字符为名称前缀的数据字视图。在DBA数据 字典视图中记录了全部数据库对象的信息。 在数据库实例的整个运行过程中,Oracle会始终在数据字典中维护一系列的“虚拟”表,在其中记录与数据库活动相关的性能统计信息,这些虚拟表称为动态性能表。 动态性能表不是固定的表,它是在Oracle实例启动时动态地创建,并向其写入信息;而当Oracle关闭时,动态性能表将被丢弃。所有的动态性能表的名称都是以V$为开头。Oracle 自动在动态性能表的基础上创建一个视图,这些视图被称为动态性能视图。 例如,动态性能视图V$SGA记录了系统全局存储区SGA的信息,通过查询该动态性能视图,用户使可以获取当前数据库实例的全局存储区SGA的信息。 SQL> select name,value from v$sga; NAME ALUE -------------------- ---------- Fixed Size 1333312 Variable Size 310380480

M编码原则与数据字典参考

一、PM编码原则与数据字典参考 (一)、主要编码原则 市场经营管理 1、业主编码六位地区码+四位年份码+三位流水号由系统自动编码 例:3206002009001 说明: (1)编码由三个层级共13位数字码长。 (2)第一层次为6位数字码,采用国标地区代码。预留两位县区码。 (3)第二层次为4位数字码,采用当前年度。 (4)第三层次为3位数字码,由计算机按先后顺序产生。 2、工程编码分公司组织代码+年四位码月两位日两位+三位流水号由系统自动编码 例:WYJSZBGS20081002001(如:浙北公司2008年10月2日第一个承接的工程)说明: (1)编码由三个层级的数字、字母码组成。 (2)第一层次为8位左右的字母码,取组织机构代码。 (3)第二层次为8位数字码,分别为项目登记时的年月日组成。 (4)第三层次为3位数字码,流水号留999个空间,由计算机按先后顺序产生。 3、合同编码分公司组织代码+年四位码+月两位+日两位+三位流水号由系统自动编码 例:WYJSZBGS20081002001(如:浙北公司2008年10月2日第一个承接的工程)说明: (1)编码由三个层级的数字、字母码组成。 (2)第一层次为8位左右的字母码,取组织机构代码。 (3)第二层次为8位数字码,分别为合同登记时的年月日组成。 (4)第三层次为3位数字码,流水号留999个空间,由计算机按先后顺序产生。 4、项目编码合同编码+“-01”系统自定义 例:WYJSZBGS20081002001-01(如:浙北公司2008年10月2日第一个承接的工程的第一个项目) 说明: (1)编码分四个层级由数字、字母码组成。 (2)第一层次为8位左右的字母码,取组织机构代码。 (3)第二层次为8位数字码,分别为合同登记时的年月日组成。

Oracle常用数据字典的查询使用方法

查看当前用户的缺省表空间 1. SQL>select username,default_tablespace from user_users; 查看当前用户的角色 1. SQL>select * from user_role_privs; 查看当前用户的系统权限和表级权限 1. SQL>select * from user_sys_privs; 2. SQL>select * from user_tab_privs; 查看用户下所有的表 1. SQL>select * from user_tables; 显示用户信息(所属表空间) 1. select default_tablespace,temporary_tablespace 2. from dba_users where username='GAME'; 1、用户 查看当前用户的缺省表空间 1. SQL>select username,default_tablespace from user_users; 查看当前用户的角色 1. SQL>select * from user_role_privs; 查看当前用户的系统权限和表级权限 1. SQL>select * from user_sys_privs;

2. SQL>select * from user_tab_privs; 显示当前会话所具有的权限 1. SQL>select * from session_privs; 显示指定用户所具有的系统权限 1. SQL>select * from dba_sys_privs where grantee='GAME'; 显示特权用户 1. select * from v$pwfile_users; 显示用户信息(所属表空间) 1. select default_tablespace,temporary_tablespace 2. from dba_users where username='GAME'; 显示用户的PROFILE 1. select profile from dba_users where username='GAME'; 2、表 查看用户下所有的表 1. SQL>select * from user_tables; 查看名称包含log字符的表 1. SQL>select object_name,object_id from user_objects

数据字典

1、数据流描述 (1)数据流名称:入会申请信息; 数据流来源:申请人; 数据流去向:申请人; 数据流组成:申请编号,用户名,性别,年龄,申请理由,状态,密码,电话; (2)数据流名称:会员信息 数据流来源:会员申请表; 数据流去向:会员表; 数据流组成:成员编号,成员名,性别,年龄,入会时间,所属安排,头像,视频,密码; (3)数据流名称:指导老师或干事名单 数据流来源:俱乐部成员名单,会员名单 数据流去向:指导老师或干事表,会员表 数据流组成:老师或干事编号,姓名,年龄,职位,电话号码 (4)数据流名称:活动信息 数据流来源:指导老师活干事 数据流去向:活动表 数据流组成:活动编号,名称,时间,地点,内容,组织者,参与人数; (5)数据流名称:活动报名信息,活动浏览 数据流来源:会员登录 数据流去向:活动表 数据流组成:成员编号,成员名,参加的活动 2、处理过程词条描述: (1)处理过程名:报名管理 简要描述:接受报名会员申请表 输入数据:申请编号,用户名,性别,年龄,申请理由,状态,密码,电话; 输出数据:成员编号,成员名,性别,年龄,入会时间,密码; 处理过程描述:将会员申请信息存入数据库,由会长审核批准; (2)处理过程名:职务管理 简要描述:给俱乐部成员安排职务 输入数据:成员编号,成员名,性别,年龄,职务; 输出数据:成员编号,成员名,性别,年龄,职务; 处理过程描述:将成员信息存入数据库,为成员职务安排做准备; (3)处理过程名:活动管理 简要描述:安排活动,登记活动报名

输入数据:活动编号,名称,时间,地点,内容,组织者,参与人数输出数据:活动编号,名称,时间,地点,内容,组织者,参与人数处理过程描述:将活动信息存入数据库,为活动进行做准备;

相关文档
最新文档