KCVFH means Kernel Cache layer RecoVery component File Header
K – Kernel layer C – Cache layer V – RecoVery component FH – File Header
Oracle Kernel System
KA | Access Layer |
KC | Cache Layer |
KD | Data Layer |
KG | Generic Layer |
KJ | Lock Manager Layer |
KK | Compilation Layer - Parse SQL, compile PL/SQL |
KQ | Query Layer |
KS | Services Layer |
KT | Transaction Layer |
KV | Kernel Variables (eg. x$KVIS and X$KVII) |
KX | Execution Layer - Bind and execute SQL and PL/SQL |
KZ | Security Layer - Validate privs |
K2 | Distributed Execution Layer - 2PC handling |
NPI | Network Program Interface |
ODS | Operating System Dependencies |
OPI | Oracle Program Interface |
RPI | Recursive Program Interface |
S | Operating System Dependencies |
X$KCVFH
Column
Type
Description
ADDR
RAW(8)
Buffer Address
INDX
NUMBER
Index Number
INST_ID
NUMBER
Instance ID
CON_ID
NUMBER
Con
id
0: This value is used for rows containing data that pertain to the entire
CDB.
1: This value is used for rows containing data that pertain to only the
root
n: Where n is the applicable container ID for the rows containing data
This column is for 12c
HXFIL
NUMBER
File number(from
control file)
HXONS
NUMBER
File
Status,online/offline,0 means offline
HXSTS
VARCHAR2(16)
Stop Scn from
Controlfile
HXERR
NUMBER
NULL
if the data file header read and validation were successful.
If the read failed then the rest of the columns are NULL.
If the validation failed then the rest of columns may display invalid data.
0, NULL,
1,'FIE 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
File
Header Version
6 - indicates Oracle Version 6
7 - indicates Oracle Version 7
8 - indicates Oracle Version 8
10 - indicates Oracle Version 10
0 - indicates the format could not be determined
(for example, the header could not be read)
FHSWV
NUMBER
Software
Version
FHCVN
NUMBER
Compatiblility
Version
FHDBI
NUMBER
Database ID
FHDBN
VARCHAR2(9)
Database Name
FHCSQ
NUMBER
Control File
Sequence)
FHFSZ
NUMBER
Current data file
size in bytes(file size)
FHBSZ
NUMBER
Current data file
size in blocks(block size)
FHFNO
NUMBER
File number
FHTYP
NUMBER
File
type
1 control file,
2 redolog file,
3 db files(normal data,index,undo)
5 backup piece,
6 temporary file
FHRDB
NUMBER
Root
DBA(root data block address,only exist in datafile 1,bootstrap$)
FHCRS
VARCHAR2(16)
Scan when the file
was created
FHCRT
VARCHAR2(20)
Time when the file
was created
FHRLC
VARCHAR2(20)
Last Resetlog time from database
FHRLC_I
NUMBER
Last Resetlog time as an number
FHRLS
VARCHAR2(16)
Last Resetlog Scn from database
FHPRC
VARCHAR2(20)
Previous Resetlog
time from database
FHPRC_I
NUMBER
Previous Resetlog
time as an number
FHPRS
VARCHAR2(16)
Previous Resetlog Scn
from database
FHBTI
VARCHAR2(20)
hot backup time(rman
backup will not record here)
FHBSC
VARCHAR2(16)
hot backup scn
FHBTH
NUMBER
hot backup thread
FHSTA
NUMBER
Validated
on 11g,12c
0 = consistent,mounted(no recovery needed)
1 = database backup mode(DB needs more recovery)
4 = online fuzzy
64 = fuzzy needs recovery
8192 = internal
8193 = database backup mode(datafile 1 only)
8196 = online fuzzy
Note:you can open database if the all the datafile header status(fhsta) is
0 except system(8192)
FHSCN
VARCHAR2(16)
Scn when Checkpoint
occurred
FHTIM
VARCHAR2(20)
Time when Scn
allocated
FHTHR
NUMBER
Allocate SCN thread
FHRBA_SEQ
NUMBER
SCN allocated,the
sequence number(Redo log sequence)
FHRBA_BNO
NUMBER
SCN allocated,the
block number (Redo block number)
FHRBA_BOF
NUMBER
SCN allocated,the
offset (Redo byte offset)
FHETB
RAW(132)
Enabled
Threads Bit(this should be related with thread,
maybe the max RAC nodes is 132)
FHCPC
NUMBER
CheckPoint Count
FHRTS
VARCHAR2(20)
Recovery timestamp
when checkpoint occurred
FHCCC
NUMBER
Controlfile
Checkpoint Count,the value is
always equal FHCPC minus one
FHBCP_SCN
VARCHAR2(16)
Backup Checkpoint Scn
FHBCP_TIM
VARCHAR2(20)
Backup Checkpoint
Time
FHBCP_THR
NUMBER
Backup Checkpoint
Thread allocated SCN
FHBCP_RBA_SEQ
NUMBER
Backup
Checkpoint Ocurred,the sequence
number(Redo log sequence)
FHBCP_RBA_BNO
NUMBER
Backup
Checkpoint Ocurred,the block
number (Redo block number)
FHBCP_RBA_BOF
NUMBER
Backup Checkpoint
Ocurred,the offset(Redo byte offset)
FHBCP_ETB
RAW(132)
Backup
Enabled Threads Bit for Backup
(it should be related with thread,
maybe the max RAC nodes is 128)
FHBHZ
NUMBER
File size when hot
backup begins(the unit is block)
FHXCD
RAW(16)
External cache id
FHTSN
NUMBER
Tablespace Number
FHTNM
VARCHAR2(30)
Tablespace Name
FHRFN
NUMBER
Relative File Number
FHAFS
VARCHAR2(16)
Absolute Fuzzy
SCN(Minimum PITR SCN)
FHRFS
VARCHAR2(16)
Media
Recovery Fuzzy SCN
(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
DATE
Media Recovery fuzzy
time(record the media recovery time)
HXIFZ
NUMBER
Fuzzy Flag(If YES,the
flag is 1,if not the flag is 0)
HXNRCV
NUMBER
Media
Need Recovery Flag.If YES,
the flag is 1,if not the flag is 0)
HXFNM
VARCHAR2(513)
File Name
FHPOFB
NUMBER
Only
exists in datafile 1.the value is 10.it should be the related with RDBA
format
FHPNFB
NUMBER
Only
exists in datafile 1.the value is 10.it should be the
related with RDBA format
FHPRE10
NUMBER
Check
whether the datafile header is before 10
(If Yes,it's 1.If not,it's 0)
FHFIRSTUNRECSCN
VARCHAR2(16)
First
Unrecoverable Scn
FHFIRSTUNRECTIME
VARCHAR2(20)
First Unrecoverable
Time
HXLMDBA
NUMBER
RDBA(space header for
locally managed file)
HXLMLD_SCN
VARCHAR2(16)
Last
Deallocated SCN(zero for system managed datafiles,
non-zero is restored from backup)
以上为10g x$kcvfh
FHFCRS
NUMBER
Foreign Creation SCN
FHFCRT
DATE
Foreign Creation Time
FHFCPS
NUMBER
Foreign CheckPoint
SCN
FHFCPT
DATE
Foreign CheckPoint
Time
FHPLUS
NUMBER
Plugin SCN
FHFDBI
NUMBER
Foreign Database Id
FHPIDI
NUMBER
Plugged Database Id
FHPIFN
NUMBER
Plugged File Number
FHPRLS
NUMBER
Plugin Resetlogs SCN
FHPRLT
DATE
Plugin Resetlogs Time
FHPTSN
NUMBER
Plugged Tablespace
Number
FHBSSZ
NUMBER
It should be backup
section size
FHBSFMT
NUMBER
It should be backup
section format
FHBSEOFSCN
NUMBER
It should be the scn
of last backup section
FHBSMAP
RAW(32)
It should be the
backup section bitmap
HXUOPC_SCN
NUMBER
Undo
Optimization Current Scn(v$datafile_header.UNDO_OPT_CURRENT_CHANGE).
In backup undo optimization,RMAN excludes undo not needed for recovery from
the
backup, that is, for transactions which have already been committed.
以上为11g x$kcvfh
FHPDBI
NUMBER
PDB id
FHPDBDBI
NUMBER
PDB db id
FHPDBIDN
VARCHAR2(31)
PDB Identifier
FHPIN_SCN
NUMBER
PDB Incarnation SCN
FHPIN_time
DATE
PDB Incarnation time
FHPBR_SCN
NUMBER
PDB Begin Resetlogs
SCN
FHPBR_time
DATE
PDB Begin Resetlogs
Time
FHPER_SCN
NUMBER
PDB End Resetlogs SCN
FHPER_time
DATE
PDB End Resetlogs
Time
FHPIC
NUMBER
PDB incarnation
以上为12c x$kcvfh
GV$DATAFILE_HEADER
SQL> Select view_definition from v$fixed_view_definition a where a.VIEW_NAME='GV$DATAFILE_HEADER';
VIEW_DEFINITION -------------------------------------------------------------------------------- select inst_id, hxfil, decode(hxons, 0, 'OFFLINE', 'ONLINE'), 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, decode(hxnrcv, 0, 'NO', 1, 'YES', NULL), decode(hxifz, 0, 'NO', 1, 'YES', NULL), to_number(fhcrs), to_date(fhcrt, 'MM/DD/RR HH24:MI:SS', 'NLS_CALENDAR=Gregorian'), fhtnm, fhtsn, fhrfn, to_number(fhrls), to_date(fhrlc, 'MM/DD/RR HH24:MI:SS', 'NLS_CALENDAR=Gregorian'), to_number(fhscn), to_date(fhtim, 'MM/DD/RR HH24:MI:SS', 'NLS_CALENDAR=Gregorian'), fhcpc, fhfsz * fhbsz, fhfsz, hxfnm, decode(hxlmdba, 0, NULL, hxlmdba), decode(hxlmld_scn, to_number('0'), NULL, hxlmld_scn), decode(hxuopc_scn, 0, NULL, hxuopc_scn), con_id from x$kcvfh GV$DATAFILE;SQL> Select view_definition from v$fixed_view_definition a where a.VIEW_NAME='GV$DATAFILE';
FHSTA字段含义(下面是在mount,open,shutdown abort,backup mode的测试)
0 = consistent,mounted(no recovery needed) 1 = database backup mode(DB needs more recovery) 4 = online fuzzy 64 = fuzzy needs recovery 8192 = internal(datafile 1 only) 8193 = database backup mode(datafile 1 only) 8196 = online fuzzy(datafile 1 only)Note:you can open database if all the datafile header status(fhsta) is 0 except system(8192)
SQL> startup mount; ORACLE instance started. Total System Global Area 313159680 bytes Fixed Size 2252824 bytes Variable Size 167776232 bytes Database Buffers 138412032 bytes Redo Buffers 4718592 bytes Database mounted. SQL> select hxfil,fhsta,fhscn from x$kcvfh; HXFIL FHSTA FHSCN ---------- ---------- ---------------- 1 8192 1150691 2 0 1150691 3 0 1150691 4 0 1150691 SQL> alter database open; Database altered. SQL> select hxfil,fhsta,fhscn from x$kcvfh; HXFIL FHSTA FHSCN ---------- ---------- ---------------- 1 8196 1150694 2 4 1150694 3 4 1150694 4 4 1150694 SQL> shutdown abort ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area 313159680 bytes Fixed Size 2252824 bytes Variable Size 167776232 bytes Database Buffers 138412032 bytes Redo Buffers 4718592 bytes Database mounted. SQL> select hxfil,fhsta,fhscn from x$kcvfh; HXFIL FHSTA FHSCN ---------- ---------- ---------------- 1 8196 1150694 2 4 1150694 3 4 1150694 4 4 1150694 SQL> alter database open; Database altered. SQL> select hxfil,fhsta,fhscn from x$kcvfh; HXFIL FHSTA FHSCN ---------- ---------- ---------------- 1 8196 1171013 2 4 1171013 3 4 1171013 4 4 1171013 SQL> alter database begin backup; Database altered. SQL> select hxfil,fhsta,fhscn from x$kcvfh; HXFIL FHSTA FHSCN ---------- ---------- ---------------- 1 8193 1172118 2 1 1172118 3 1 1172118 4 1 1172118 SQL> alter database end backup; Database altered. SQL> select hxfil,fhsta,fhscn from x$kcvfh; HXFIL FHSTA FHSCN ---------- ---------- ---------------- 1 8196 1172118 2 4 1172118 3 4 1172118 4 4 1172118 SQL> alter tablespace users begin backup; Tablespace altered. SQL> select hxfil,fhsta,fhscn from x$kcvfh; HXFIL FHSTA FHSCN ---------- ---------- ---------------- 1 8196 1172118 2 4 1172118 3 4 1172118 4 1 1172174 SQL> alter tablespace users end backup; Tablespace altered. SQL> select hxfil,fhsta,fhscn from x$kcvfh; HXFIL FHSTA FHSCN ---------- ---------- ---------------- 1 8196 1172118 2 4 1172118 3 4 1172118 4 4 1172174 SQL>11gX$KCVFH新增字段是为传输表空间准备的,下面的传输表空间测试是从11g导入到12c数据库
create user c##ora identified by oracle default tablespace users;
grant resource,dba to c##ora;
CONVERT DATAFILE '/home/oracle/ttbs01.dbf' FROM PLATFORM 'Solaris[tm] OE (32-bit)' format '/oradata/cdb1/ttbs01.dbf';
[oracle@db1 ~]$ rman target / Recovery Manager: Release 12.1.0.2.0 - Production on Mon Mar 14 08:38:19 2016 Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved. connected to target database: CDB1 (DBID=879831934) RMAN> CONVERT DATAFILE '/home/oracle/ttbs01.dbf' FROM PLATFORM 'Solaris[tm] OE (32-bit)' format '/oradata/cdb1/ttbs01.dbf'; Starting conversion at target at 14-MAR-16 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=59 device type=DISK channel ORA_DISK_1: starting datafile conversion input file name=/home/oracle/ttbs01.dbf converted datafile=/oradata/cdb1/ttbs01.dbf channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:01 Finished conversion at target at 14-MAR-16 RMAN> exit Recovery Manager complete.
impdp system/oracle directory=dpump dumpfile=ttbs.dmp logfile=impdp.log TRANSPORT_DATAFILES=/oradata/cdb1/ttbs01.dbf remap_schema=ttbs:c##ora
[oracle@db1 ~]$ impdp system/oracle directory=dpump dumpfile=ttbs.dmp logfile=impdp.log TRANSPORT_DATAFILES=/oradata/cdb1/ttbs01.dbf remap_schema=ttbs:c##ora Import: Release 12.1.0.2.0 - Production on Mon Mar 14 08:41:18 2016 Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options WARNING: Oracle Data Pump operations are not typically needed when connected to the root or seed of a container database. Master table "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully loaded/unloaded Source time zone version is 14 and target time zone version is 18. Starting "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01": system/******** directory=dpump dumpfile=ttbs.dmp logfile=impdp.log TRANSPORT_DATAFILES=/oradata/cdb1/ttbs01.dbf remap_schema=ttbs:c##ora Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK Processing object type TRANSPORTABLE_EXPORT/TABLE Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK Job "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed at Mon Mar 14 08:41:29 2016 elapsed 0 00:00:06
[oracle@db1 ~]$
SQL> select FHFCRS,FHFCRT,FHFCPS,FHFCPT,FHPLUS,FHFDBI,FHPIDI,FHPIFN,FHPRLS,FHPRLT,FHPTSN from x$kcvfh;
FHFCRS FHFCRT FHFCPS FHFCPT FHPLUS FHFDBI FHPIDI FHPIFN FHPRLS FHPRLT FHPTSN ---------- --------------- ---------- --------------- ---------- ---------- ---------- ---------- ---------- --------------- ---------- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0