随笔分类 -  oracle

包括oracle的所有方面。
oracle的增量检查点
摘要:一、为什么要有检查点?被修改过的块,在oracle中都被统称为脏块.所有的脏块被一个链表串起来,称做检查点队列.在buffercache中,每一个块都有一个buffer header 简称BH,在BH中有一个ckptq项,此项目中记录了指向检查点队列上一个块和下一个块的指针.如果某一个块不在检查点队列中,他的ckptq项为空.通过ckptq项oracle将所有的脏块串成了一个双向链表.这个双向链表就是检查点队列了.1,只有脏块才会在检查点队列中,非脏块的ckptq为空.2,当块首次被更改时,块会立即被加进检查点队列.如果检查点队列中的脏块再次被修改,并不会改变其在检查点队列中的位置.3,检查点 阅读全文

posted @ 2013-04-08 23:16 罗烨鑫 阅读(1790) 评论(1) 推荐(1)

SnapAssure备份恢复(从文件系统到ASM实例)
摘要:测试背景:客户现场有可能生产库数据放在文件系统,而恢复库数据文件放在asm里。一、备份生产端数据库。二、配置备份服务StartAgentd.sh脚本主要添加下面几个变量:export ASM_DISKGROUP_NAME=+DATA1export ASM_ORALOAD_ENABLE=YESexport ASM_RESTORE_ENABLE=YES同时注意环境变量的SID,建议和生产端保持一致。三、进行物理恢复 使用SnapAssure恢复过程中,主要看vagentd日志有没有报错,没报错就成功一半了。四、恢复库操作 1、创建pfile 2、修改pifle中controlfile文件为恢复的控 阅读全文

posted @ 2012-05-24 16:34 罗烨鑫 阅读(457) 评论(0) 推荐(0)

.alter session set events
摘要:一、Oracle跟踪文件Oracle跟踪文件分为三种类型,一种是后台报警日志文件,记录数据库在启动、关闭和运行期间后台进程的活动情况,如表空间创建、回滚段创建、某些alter命令、日志切换、错误消息等。在数据库出现故障时,应首先查看该文件,但文件中的信息与任何错误状态没有必然的联系。后台报警日志文件保存BACKGROUND_DUMP_DEST参数指定的目录中,文件格式为SIDALRT.LOG。另一种类型是DBWR、LGWR、SMON等后台进程创建的后台跟踪文件。后台跟踪文件根据后台进程运行情况产生,后台跟踪文件也保存在BACKGROUND_DUMP_DEST参数指定的目录中,文件格式为sidd 阅读全文

posted @ 2012-05-19 14:55 罗烨鑫 阅读(6298) 评论(0) 推荐(0)

SnapAssure迁移ASM+RAC库到单节点文件系统
摘要:recover controlfile from '恢复后的控制文件全路径';创建adump、bdump、cdump、udump目录;修改pfile里的各个参数。 startup mount pfile='/xxx/init.ora';alter database rename file '+DATA/rac/datafile/undotbs1.260.781442329' to '/backup/oradata/undotbs1.260.781442329'; alter database rename file '+D 阅读全文

posted @ 2012-05-09 17:44 罗烨鑫 阅读(326) 评论(0) 推荐(0)

Oracle单实例下oracle数据库从文件系统迁移到ASM上
摘要:第一步:启动ASM实例(+ASM)[oracle@oracle ~]$ export ORACLE_SID=+ASM[oracle@oracle ~]$ sqlplus / as sysdbaSQL*Plus: Release 10.2.0.5.0 - Production on Tue Jan 18 13:25:46 2011 Copyright (c) 1982, 2010, Oracle. All Rights Reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - Produ 阅读全文

posted @ 2012-05-04 14:23 罗烨鑫 阅读(2752) 评论(0) 推荐(0)

Oracle的嵌套表
摘要:/*以前在做报表的时候会经常用到oracle的内存表(其实是oracle嵌套表的部分功能,这里在下边介绍)来提高性能。利用oracle内存表进行临时运算通过ref cursor来返回我们想要的结果集。open cur for select * from table(fun_to_table_rb1_1(cur_qc,cur_qm));关于这部分的一些测试可以参看:http://www.itpub.net/showthread.php?threadid=617298最近把oracle嵌套表的其他功能仔细看了看并做了个简单整理。oracle提供两种使用嵌套表的方法:1. PL/SQL代码中作为扩展 阅读全文

posted @ 2012-05-04 12:59 罗烨鑫 阅读(3414) 评论(0) 推荐(0)

oracle转储块文件
摘要:查询块号:SELECT segment_name,file_id,block_id FROM dba_extents WHERE owner='LYX' AND segment_name ='TEST';或者 SELECT segment_name,header_file,header_block FROM DBA_segments WHERE segment_name='TEST';得到如下结果: SEGMENT_NAMEFILE_IDBLOCK_ID1TEST59然后执行: alter system dump datafile 5 block 阅读全文

posted @ 2012-05-03 16:20 罗烨鑫 阅读(1415) 评论(0) 推荐(0)

Oracle常用命令详解
摘要:数据库管理相关bbed.exe数据块浏览和编辑工具 dbv.exe数据文件逻辑检测工具 exp.exe数据导出工具 imp.exe数据导入工具 mig.exe数据库移植工具 nmumigrate.exeData Gatherer移植工具 ocopy.exe裸分区数据文件备份工具 oradim.exeOracle服务创建、删除工具 orakill.exeOracle线程删除工具 orapwd.exeOracle密码文件创建工具 orastack.exeOracle进程堆栈修改工具 oratclsh.exeTCL脚本解释器 otrccol.exetrace命令行服务管理工具 otrccref.ex 阅读全文

posted @ 2012-05-03 11:04 罗烨鑫 阅读(1127) 评论(1) 推荐(0)

Oracle的LOGMNR工具
摘要:Oracle LogMiner 是Oracle公司从产品8i以后提供的一个实际非常有用的分析工具,使用该工具可以轻松获得Oracle 重作日志文件(归档日志文件)中的具体内容,特别是,该工具可以分析出所有对于数据库操作的DML(insert、update、delete等)语句,另外还可分析得到一些必要的回滚SQL语句。该工具特别适用于调试、审计或者回退某个特定的事务。LogMiner分析工具实际上是由一组PL/SQL包和一些动态视图(Oracle8i内置包的一部分)组成,它作为Oracle数据库的一部分来发布,是8i产品提供的一个完全免费的工具。但该工具和其他Oracle内建工具相比使用起来显 阅读全文

posted @ 2012-05-03 07:31 罗烨鑫 阅读(2589) 评论(0) 推荐(1)

Oracle的Hints测试
摘要:今天测试了oracle的hints,由于之前数据库没有建好temporary表空间,所以重新添加了(相关命令如下):@/oracle/app/oracle/product/10g/db_1/sqlplus/admin/plustrce.sql grant plustrace to lyx;create temporary tablespace temp01 tempfile '/oracle/app/oracle/oradata/db3/temp01.dbf' size 20m;alter database temporary tablespace temp01; alter 阅读全文

posted @ 2012-05-03 07:17 罗烨鑫 阅读(1628) 评论(0) 推荐(0)

Oracle checkpoint详解
摘要:topcheckpoint扫盲 top什么是checkpoint在数据库系统中,写日志和写数据文件是数据库中IO消耗最大的两种操作,在这两种操作中写数据文件属于分散写,写日志文件是顺序写,因此为了保证数据库的性能,通常数据库都是保证在提交(commit)完成之前要先保证日志都被写入到日志文件中,而脏数据块着保存在数据缓存(buffer cache)中再不定期的分批写入到数据文件中。也就是说日志写入和提交操作是同步的,而数据写入和提交操作是不同步的。这样就存在一个问题,当一个数据库崩溃的时候并不能保证缓存里面的脏数据全部写入到数据文件中,这样在实例启动的时候就要使用日志文件进行恢复操作,将数据库 阅读全文

posted @ 2011-12-27 08:34 罗烨鑫 阅读(18566) 评论(1) 推荐(1)

oracle 范式的概念
摘要:范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。目前有迹可寻的共有8种范式,依次是:1NF,2NF,3NF,BCNF,4NF,5NF,DKNF,6NF。通常所用到的只是前三个范式,即:第一范式(1NF),第二范式(2NF),第三范式(3NF)。下面就简单介绍下这三个范式。 ◆ 第一范式(1NF):强调的是列的原子性,即列不能够再分成其他几列。 考虑这样一个表:【联系人】(姓名,性别,电话) 如果在实际场景中,一个联系人 阅读全文

posted @ 2011-12-25 10:30 罗烨鑫 阅读(495) 评论(0) 推荐(0)

DROP TABLE ** CASCADE CONSTRAINTS PURGE
摘要:1、关于 cascade constraints假设A为主表(既含有某一主键的表),B为从表(即引用了A的主键作为外键)。则当删除A表时,如不特殊说明,则 drop table A 系统会出现错误警告的讯息而不会允许执行。此时必须用,drop table A cascade constraints;SQL> select CONSTRAINT_NAME,TABLE_NAME from dba_constraints where owner = 'SYS' and TABLE_NAME = 'B' no rows selected 我们可以发现利用Drop 阅读全文

posted @ 2011-12-24 00:38 罗烨鑫 阅读(15244) 评论(0) 推荐(0)

redo/undo
摘要:一、什么是redo?redo:oracle在在线或者归档重做日志文件中的记录的信息,外以出现失败时可以利用这些数据来"重放"事务。每个oracle数据都至少有二个在线重做日志组,每个组中的至少有一个成员,这些在线重做日志组以循环方式使用。二、什么是undo?undo:oracle在undo段中记录的信息,用于取消或者回滚事务。undo在数据库内部存储在一组特殊的段中,称作undo段。利用undo段恢复数据,不是将数据库物理地恢复到执行语句或者事务之前的样子,只是从逻辑上恢复到原来的样子,但是数据结构以及数据库块本身在回滚后可能大不相同。oracle在回滚时候,它实际上会做与 阅读全文

posted @ 2011-12-22 22:51 罗烨鑫 阅读(3323) 评论(0) 推荐(0)

ORACLE自主访问控制机制系统表
摘要:Oracle数据库的访问机制包含:自主访问控制(DAC)和强制访问控制(MAC)。以下是自主访问控制(DAC)机制的系统表研究:访问控制是允许或者禁止某人访问某资源的过程,数据库中就是限制用户对数据库客体(如表、试图等)的访问。实现这种访问控制一般是基于访问控制列表(ACL),ACL一般记录了who能访问what以及how访问。大多数据库的将ACL以数据库系统表的形式进行实现。下面具体介绍下ORACLE中的权限相关系统表的设计。 ORACLE中的权限分为两种:系统权限和对象权限。系统权限 系统权限包括数据库管理权限和带有ANY的权限。管理权限如ALTER DATABASE,CREATE US. 阅读全文

posted @ 2011-12-20 21:37 罗烨鑫 阅读(963) 评论(0) 推荐(0)

oracle9i安装
摘要:首先将Redhat Linux8.0安装完毕! 注意Swap分区最好在1G左右!/分区需要大概5-8G的空间! 下载如下三个Oracle9i的安装文件: lnx_920_disk1.cpio.gz lnx_920_disk2.cpio.gz lnx_920_disk3.cpio.gz 在你硬盘的/opt/目录现在建立Oracle9i 命令如下:#mkdir /opt/Oracle9i 将如下三个文件拷贝到/opt/Oracle9i目录下 执行如下命令将文件解压: gunzip lnx_920_disk1.cpio.gz gunzip lnx_920_disk2.cpio.gz gunzip l 阅读全文

posted @ 2011-12-19 00:34 罗烨鑫 阅读(684) 评论(0) 推荐(0)

导航