数据文件的SCN和数据块的SCN有何区别
数据文件的SCN和数据块的SCN有何区别[@more@]数据文件的SCN和数据块的SCN有何区别这个问题是PUB上一个朋友的问题,总结一下数据文件scn是指的是数据文件第一个块上的SCN,这个块指的是表空间头tablespace header,里面记录这很多信息。其实在第一个块上有很多SCN。例如:create SCN 数据文件添加时候的SCNcheckpoint SCN recovery SCn 等现在就按照数据文件SCN理解为表空间头块上的checkpoint SCN来说这个SCN和数据块上的SCN之间的相同点都是SCN(废话,呵呵),都具有SCN相同大小的结构。都是6个字节。(都是废话)1、数据块上有一个SCN和
关于索引失效的情况
关于索引失效的情况[@more@]关于索引失效的情况不使用索引的情况1) 没有查询条件,或者查询条件没有建立索引2) 在查询条件上没有使用引导列3) 查询的数量是大表的大部分,应该是30%以上。4) 索引本身失效5) 查询条件使用函数在索引列上6) 对小表查询7) 提示不使用索引8) 统计数据不真实9) CBO计算走索引花费过大的情况。其实也包含了上面的情况,这里指的是表占有的block要比索引小。索引失效的情况:1) alter table move2) alter index disable3) truncate分区表上的全局索
关于不确定情况的两个问题(2)
关于不确定情况的两个问题(2[@more@]二、1、了解是什么不能连接上数据库,是否是sqlplus,这样可以排除是程序的问题。在客户端使用ping来测试物理路径是否畅通2、使用TNSPING来测试数据库的路径是否畅通3、查看listener是否启动,状态。查看listener的进程有几个(很多有这样的bug)4、查看listerner.log的信息。5、查看alert.log的信息6、查看V$session的数量,是否超过参数配置的极限7、查看dba_users看看用户的状态Biti:如果用户告诉你,程序突然无法连到database,该如何着手……1:首先登陆数据库服务器,本地 IPC 是否登陆正常。2:
DB2傻瓜1000问(九)9、DB2数据的导出
DB2傻瓜1000问(九)总结:康标email:kang_biao@hotmail.com[@more@]9、DB2数据的导出341、 如何进行导出数据?使用export进行数据的导出,类似于Oracle的LOAD。EXPORT TO filename OF {IXF | DEL | WSF}[LOBS TO lob-path [ {,lob-path} ... ] ][LOBFILE lob-file [ {,lob-file} ... ] ][XML TO xml-path [ {,xml-path} ... ] ][XMLFILE filename [ {,filename} ... ] ][MODIFIED BY {filetype-mod ...}][XMLSAVESCHEMA][METHOD N ( column-name [ {,column-name} ... ] )] [MESSAGES message-file]{select-statement | XQUERY xquery-s
DB2傻瓜1000问(十二)12、DB2数据库的备份和恢复
DB2傻瓜1000问(十二)总结:康标email:kang_biao@hotmail.com[@more@]DB2傻瓜1000问(十二)总结:康标email:kang_biao@hotmail.com12、DB2数据库的备份和恢复393、 什么是DB2日志?DB2 事务日志对于恢复来说是至关重要的。它们跟踪数据库对象和数据上发生的变化。日志可以存储在文件或原始设备中。394、 DB2是如何记录日志的?DB2 使用预写式(write-ahead)日志记录模式,这种模式在将更改写(具体化)到数据库和磁盘之前写日志。395、 什么是主日志文件?主日志文件 是在建立第一个数据库连接或者数据库活动时立即分配的。396、 什么
DB2傻瓜1000问(十一)11、DB2数据移动实用程序
DB2傻瓜1000问(十一)总结:康标email:kang_biao@hotmail.com[@more@]DB2傻瓜1000问(十一)总结:康标email:kang_biao@hotmail.comDB2傻瓜1000问(十一)总结:康标email:kang_biao@hotmail.com11、DB2数据移动实用程序368、 DB2提供了几个数据移动程序?DB2提供了三个数据移动程序:? EXPORT? IMPORT? LOAD369、 DB2提供的数据移动程序所支持的文件格式都是那些?非定界的或固定长度的 ASCII (ASC)定界的 ASCII (DEL)PC 版本的 Integrated Exchange Format (PC/IXF) 游标370、 什么是非定界的或固定长度的 ASCII (ASC)非定界的或固定
DB2傻瓜1000问(十)10、DB2数据库监控部分
DB2傻瓜1000问(十)总结:康标email:kang_biao@hotmail.com[@more@]DB2傻瓜1000问(十)总结:康标email:kang_biao@hotmail.com10、DB2数据库监控部分346、 什么是数据库监控?数据库监控是一项重要的活动,若将其作为日常活动来执行,将连续提供数据库系统健康状况的反馈信息。347、 数据库监控的组成?数据库监控由一个快照监控器和一个或多个事件监控器组成。348、 什么是快照监控器?快照监控器允许您捕获特定时间点的数据库状态图。349、 什么是事件监控器?事件监控器在特定数据库事件发生时捕获并记录数据。350、 什么是监控元素
DB2傻瓜1000问(八)8、DB2数据库编程部分
DB2傻瓜1000问(八)总结:康标email:kang_biao@hotmail.com[@more@]8、DB2数据库编程部分334、 DB2的一些特殊的寄存器都是那些?CURRENT DATECURRENT ISOLATIONCURRENT LOCK TIMEOUTCURRENT PACKAGE PATHCURRENT PATHCURRENT SCHEMACURRENT TIMECURRENT TIMESTAMPSESSION_USERSYSTEM_USERUSER335、 如何显示寄存器的值?VALUES special_register和SELECT CURRENT ISOLATION FROM sysibm.sysdummy1336、 如何设置寄存器的值?SET CURRENT ISOLATION RR337、 如何提取记录的前几个记录数据?SELECT语句中使用FETCH FIRST n ROWS ONLY338、
DB2傻瓜1000问(五) 5、DB2数据类型部分
DB2傻瓜1000问(五)总结:康标email:kang_biao@hotmail.com[@more@]总结:康标email:kang_biao@hotmail.com5、DB2数据类型部分194、 DB2数据库数据类型是如何分类的?内置数据类型和用户定义类型195、 内置数据库数据类型有那些?数值型字符型日期时间数据连接型XML196、 数值型如何分类的?Small integer (SMALLINT)2 个字节 -32,768 到 32,767的整数Integer (INT or INTEGER)4 个字节 -2,147,483,648 到 2,147,483,647的整数Big integer (BIGINT)8 个字节 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 的整数
CLUSTER内部结构的总结(4)
CLUSTER内部结构的总结(4)[@more@]以下的部分就是数据的指针地址部分:0x1a:pri[0] offs=0x1f830x1c:pri[1] offs=0x1f640x1e:pri[2] offs=0x1f450x20:pri[3] offs=0x1f26以上是c_t的数据0x22:pri[4] offs=0x1f790x24:pri[5] offs=0x1f5a0x26:pri[6] offs=0x1f3b0x28:pri[7] offs=0x1f1c以上是t1的数据0x2a:pri[8] offs=0x1f120x2c:pri[9] offs=0x1f080x2e:pri[10] offs=0x1efe0x30:pri[11] offs=0x1ef4以上是t2的数据以下的部分就是数据的实现部分:tab 0, row 0, @0x1f83 --第一个表的第一行,后面是偏移地址tl: 21 这一行的长度(
CLUSTER内部结构的总结(3)
CLUSTER内部结构的总结(3)[@more@]将这个块dump出来,这部分是数据块的头:Start dump data blocks tsn: 18 file#: 5 minblk 12 maxblk 12buffer tsn: 18 rdba: 0x0140000c (5/12)scn: 0x0000.00318001 seq: 0x01 flg: 0x02 tail: 0x80010601frmt: 0x02 chkval: 0x0000 type: 0x06=trans dataHex dump of block: st=0, typ_found=1这部分是ITL,这里需要注意的是在9i之前数据的ITL最小是1,在Oracle 10g之后默认的最小是2。但是在9i时候custer的ITL的最小是2。Block header dump: 0x0140000c Object id on Block? Y seg/obj: 0xcbcb csc
CLUSTER内部结构的总结(2)
CLUSTER内部结构的总结(2)[@more@]什么是cluster键这个很号理解,就是多个表上共有的列,cluster表是按照这个Cluster键来存储,是在添加Cluster的时候指定的。这里有一些限制:例如:1、在这个集群上的每一个表上的列必须有同样的类型和长度。2、最大是16个列(通常不会用到这么长,假如真的是这么长,性能更加无法保证了)3、键的值不能超过块可用的空间的一半。4、集群键更新是允许的,但是性能比较差如何规定集群数据块的格式:SIZE这个参数限制每一个块的键的最大数目。每一个块的最小只有一个集群键。内部结构分析建立一个测试cluste
CLUSTER内部结构的总结(1)
CLUSTER内部结构的总结(1)[@more@]总结:康标email:kang_biao@hotmail.comCluster是Oracle数据存储的一个可以选择的模式,平常我们对于数据的存储是采用一种叫做堆的方式进行存储的。所谓的cluster就是将一组表,由于他们有同样的列,而且是这些列通常在查询的时候是连接的条件之一,重要就可以将这些表按照相同的列存储在同一个数据块中。这样会带来好处,同时也会有坏处。优点是:在查询的时候在两个存储在同一个cluster的表按照cluster键连接的时候会提升性能。这个应该是很好理解的,例如我们在对两个表进行多表查询的时候,假如需要查
关于删除数据的快慢问题的分析
关于删除数据的快慢问题的分析[@more@]关于删除数据的快慢问题的分析总结:康标email:kang_biao@hotmail.com今天在ITPUB上看到一个帖子是关于删除表中数据的问题,意思是删除一个表中的数据为什么行数少的却消耗时间很长?http://www.itpub.net/783169.html其实这个问题应该说是从多个角度分析,也就是有可能多种原因都能够产生现在的这些现象:1、索引的多少。2、表每一行的大小3、外键4、触发器5、高水位一个一个解释:1、索引的多少一个表上的索引存储也是和表一样需要空间,对这个表的删除,同样也会涉及到像关联索引的删除,通俗一点
一个有用的工具文件utlrp.sql
一个有用的工具文件utlrp.sql[@more@]一个有用的工具文件utlrp.sql utlrp.sql是oracle提供的一个用于重编译数据库中处于invalid状态的对象。在数据库进行升级之后,会有不少脚本变成invalid状态。oracle推荐在升级或者打了补丁之后运行一下这个脚本。运行这个脚本需要注意的问题:1、在SQL PLUS上运行。2、需要sys as sysdba3、在运行这个脚本的时候,数据库上没有ddl运行。这个脚本是调用脚本@@utlprp.sql 0这个脚本主要是调用UTL_RECOMP包来执行。这里的0是用于控制脚本运行重新编译的并行度,如果指定为0,就是让系统UTL_RECOMP自
分区表的分区数据删除、truncate会对全局和局部索引产生什么影响
分区表的分区数据删除、truncate会对全局和局部索引产生什么影响[@more@]分区表的分区数据删除、truncate会对全局和局部索引产生什么影响总结:康标email:kang_biao@hotmail.com建立测试表t。SQL> create table t 2 partition by range (a) 3 ( 4 partition p1 values less than (10000) tablespace part1, 5 partition p2 values less than (20000) tablespace part2, 6 partition p3 values less than (30000) tablespace part3, 7 partition p4 values less than (40000) tablespace part4,
DISKRATIO的含义
DISKRATIO的含义[@more@]DISKRATIO的含义总结:康标email:kang_biao@hotmail.com这个参数是用于RMAN的备份数据文件和控制文件上使用的。目的是告诉RMAN在备份的时候,需要备份的数据文件 至少 (注意这是至少,在Oracle的文档中使用的是at least)是从几个磁盘上读取的。具体的作用是这样的,例如你需要备份集需要的数据文件分布在10个磁盘上,如果每一个磁盘的读取速率是10k/s。而你处理备份的能力是50k/s,如果是一个一个磁盘处理的话,就会浪费你的系统资源,这时候可以设置参数diskratio为5。这样就可以告诉RMAN处理这个备份集的时候
关于PUBLIC
关于PUBLIC[@more@]关于PUBLIC总结:康标email:kang_biao@hotmail.comhttp://www.oracle.com.cn/thread-119327-1-1.htmlpublic是一个特殊的角色,但是在角色的视图上是没有办法查询到的:SQL> select * from dba_roles where role='PUBLIC';ROLE PASSWORD_REQUIRED------------------------------ -----------------SQL> public应该是oracle预定义的,在sql.bsp文件中找到这个的由来:create user sys identified by "D_SYSPW" /create role public/create role connect/grant create session
关于修改数据库名称和ID的方法总结
关于修改数据库名称和ID的方法总结[@more@]关于修改数据库名称和ID的方法总结总结:康标 email:kang_biao@hotmail.com 在Oracle上修改数据库名称一般有两种方式修改,在Oracle9i之前要修改数据库的名称和ID的方式和方法是通过重建控制文件的方式来实现的。使用 alter database backup controlfile to trace ‘*****’; 来生成脚本,然后根据需要修改脚本。这一点在网上都有具体的操作方式和方法。 第二中方法就是使用Oracle9i新提供的一个工具来修改DBNEWID nid。获取帮助: E:oracleora10BIN>nid -help DBNEWID: Release 10.2.0.1.0
Oracle上的逻辑坏块和物理坏块
Oracle上的逻辑坏块和物理坏块[@more@]Oracle上的逻辑坏块和物理坏块这个问题是引自ITPUB上的一个问题。总结:康标email:kang_biao@hotmail.com从http://www.itpub.net/590361.html这个来看,所谓的物理坏块,可以从操作系统的警告文件中查找到报错的信息。逻辑坏块就是Oracle为了保持数据的一致性而设置。这样能够保证数据块不会被误操作。物理坏块的查找是通过:(AIX系统)1、检查一下操作系统的日志看是否有相关的报错。 2、dd if=报错的文件 of=/dev/null bs=db_block_size如果不报错是逻辑坏块。逻辑坏块有很多中方式,一般通过db