oracle中的 v$database是啥意思啊?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle中的 v$database是啥意思啊?相关的知识,希望对你有一定的参考价值。
desc v$database名称 是否为空? 类型
----------------------------------------------------------------- -------- -------------
DBID NUMBER
NAME VARCHAR2(9)
CREATED DATE
RESETLOGS_CHANGE# NUMBER
RESETLOGS_TIME DATE
PRIOR_RESETLOGS_CHANGE# NUMBER
PRIOR_RESETLOGS_TIME DATE
LOG_MODE VARCHAR2(12)
CHECKPOINT_CHANGE# NUMBER
ARCHIVE_CHANGE# NUMBER
CONTROLFILE_TYPE VARCHAR2(7)
CONTROLFILE_CREATED DATE
CONTROLFILE_SEQUENCE# NUMBER
CONTROLFILE_CHANGE# NUMBER
CONTROLFILE_TIME DATE
OPEN_RESETLOGS VARCHAR2(11)
VERSION_TIME DATE
OPEN_MODE VARCHAR2(10)
PROTECTION_MODE VARCHAR2(20)
PROTECTION_LEVEL VARCHAR2(20)
REMOTE_ARCHIVE VARCHAR2(8)
ACTIVATION# NUMBER
SWITCHOVER# NUMBER
DATABASE_ROLE VARCHAR2(16)
ARCHIVELOG_CHANGE# NUMBER
ARCHIVELOG_COMPRESSION VARCHAR2(8)
SWITCHOVER_STATUS VARCHAR2(20)
DATAGUARD_BROKER VARCHAR2(8)
GUARD_STATUS VARCHAR2(7)
SUPPLEMENTAL_LOG_DATA_MIN VARCHAR2(8)
SUPPLEMENTAL_LOG_DATA_PK VARCHAR2(3)
SUPPLEMENTAL_LOG_DATA_UI VARCHAR2(3)
FORCE_LOGGING VARCHAR2(3)
PLATFORM_ID NUMBER
PLATFORM_NAME VARCHAR2(101)
RECOVERY_TARGET_INCARNATION# NUMBER
LAST_OPEN_INCARNATION# NUMBER
CURRENT_SCN NUMBER
FLASHBACK_ON VARCHAR2(18)
SUPPLEMENTAL_LOG_DATA_FK VARCHAR2(3)
SUPPLEMENTAL_LOG_DATA_ALL VARCHAR2(3)
DB_UNIQUE_NAME VARCHAR2(30)
STANDBY_BECAME_PRIMARY_SCN NUMBER
FS_FAILOVER_STATUS VARCHAR2(21)
FS_FAILOVER_CURRENT_TARGET VARCHAR2(30)
FS_FAILOVER_THRESHOLD NUMBER
FS_FAILOVER_OBSERVER_PRESENT VARCHAR2(7)
FS_FAILOVER_OBSERVER_HOST VARCHAR2(512)
2、字段说明
DBID:数字形式的DB标识,会记录在每个数据文件头,可以根据这个来确定数据文件是属于哪一个数据库的
NAME:数据库名称(就是通俗的数据库名)
DB_UNIQUE_NAME:?
RESETLOGS_CHNAGE#:上一次resetlogs时的scn
RESETLOGS_TIME:上一次resetlogs的时间
PRIOR_RESETLOGS_CHANGE#:更早的(最早的?)restlogs时的scn
PRIOR_RESETLOGS_TIME:更早的(最早的?)restlogs时的scn
LOG_MODE:是否是归档模式,有三种可能(noarhivelog|archivelog|manual)
CHECKPOINT_CHANGE#:上一次checkpoint的scn,这个值是从控制文件中来的。
ARCHIVE_CHANGE#:表示在这个scn之前的(比这个scn小)redolog都将会自动强制归档。
CONTROLFILE_TYPE:standby表示这个数据库在standby模式;clone表示这个数据库是个clone的数据库;backup|created表示这个数据库正在从使用备份的控制文件恢复中;current表示数据库是正常模式
CONTROLFILE_CREATED:控制文件创建的时间
CONTROLFILE_SEQUENCE#:控制文件的一个递增的序列号,用途不明
CONTROLFILE_CHANGE#:控制文件中记录的scn
CONTROLFILE_TIME:上一次控制文件更新的时间
OPEN_RESETLOGS:指示下一次打开数据库是是否需要使用resetlogs来打开,可能为(not allowed|allowed|required)
VERSION_TIME:版本时间(意义不明,用途不明)
OPEN_MODE:指示数据库以什么方式打开(read only|read write|mount)
PROTECTION_MODE:数据库的保护模式(似乎在dataguard的情况下有用)
PROTECTION_LEVEL:保护等级
REMOTE_ARCHIVE:是否允许远程归档,就是remote_archive_enable初始化参数的值
ACTIVATION#:?
SWTICHOVER#:?
DATABASE_ROLE:指示数据库是logical standby|physical standby|primary
ARCHIVELOG_CHNAGE#:上一次归档动作结束时的scn,也就是最新的归档日志的所记录的最后一个SCN(根据文档也就是v$archived_log里最大的next_change#),要注意于archive_change#的区别
ARCHIVELOG_COMPRESSION:归档的压缩状况
SWITCHOVER_STATUS:switch over 的状态
DATAGUARD_BROKER:Indicates whether the Data Guard configuration is being managed by the broker (ENABLED) or not (DISABLED)
GUARD_STATUS:防止数据库修改的状态(可能为all或者none或者standby)
SUPPLEMENTAL_LOG_DATA_MIN:
SUPPLEMENTAL_LOG_DATA_PK:如果为YES则表示当有主键的表更新行时,会将组成主键的所有列也记入redo log
SUPPLEMENTAL_LOG_DATA_UI:如果为YES则表示当有unqiue键的表更新行时,会将组成unique键的所有列也记入redo log
SUPPLEMENTAL_LOG_DATA_FK:同上(记录foreign key)
SUPPLEMENTAL_LOG_DATA_ALL:同上(记录所有fix_width maximun size column)
FORCE_LOGGING:指示数据库是否在force logging模式
PLATFORM_ID:操作系统平台ID
PLATFORM_NAME:操作系统平台名称
RECOVERY_TARGET_INCARNATION#:恢复时从哪一个场景号进行恢复(每次使用resetlogs打开数据库会创建一个新的场景号)
LAST_OPEN_INCARNATION:最后一次打开的场景号
CURRENT_SCN:数据库当前的SCN
STANDBY_BECAME_PRIMARY_SCN:SCN at which a physical standby database became a primary database.
FLASHBACK_ON:是否打开了flashback 功能
FS_FAILOVER_STATUS:
FS_FAILOVER_CURRENT_TARGET:
FS_FAILOVER_THRESHOLD:
FS_FAILOVER_OBSERVER_PRESENT:
FS_FAILOVER_OBSERVER_HOST:
3、可以查询的东西
a、是否是归档模式
b、flashback功能是否打开
c、当前系统的scn
d、当前数据库的DBID、NAME、Unique Name
e、checkpoint的相关信息
f、归档日志的相关信息
g、controlfile的相关信息:创建日期、controlfile里记录的scn,
h、数据库是什么时候创建的
i、数据库所在操作系统平台信息
4、易混淆的列
name和db_unique_name
archive_change#和archivelog_change# 参考技术A 是一个动态性能视图,主要用来查看数据库当前的一些信息,具体可以看Oracle Document Library 的Oracle Database Reference 10g Release 2 (10.2)书的672页
SQL语句中的declare 是啥意思,具体怎么用啊
是声明的意思,具体用法是declare @声明的变量名称 变量类型如:declare @intDeclare int 参考技术A 是声明的意思,就是声明变量的,例如:
declare v_number number(10);
v_char varchar2(20);
这个一般是用在函数和存储过程中的,sql中不会用到追问
恩恩,就是存储过程的
以上是关于oracle中的 v$database是啥意思啊?的主要内容,如果未能解决你的问题,请参考以下文章