LOGMNR
在ORACLE数据库中,LGWR进程将数据库中进行的DML等操作信息记录在日志文件中,在归档模式下,日志文件还会写出到归档日志文件中。在数据库发生故障崩溃后,恢复时数据库可以根据日志信息来重演事务,完成恢复,从而保证成功提交的事务不丢失。很多第三方工具以及ORACLE的一些工作,都可以通过解析日志文件来实现数据复制和同步。ORACLE随数据库软件提供了一个LOGMNR工具,可以很容易实现对于日志的解析,熟悉LOGMNR的实用在很多时候可以帮助我们分析数据库问题,找出根本原因。从ORACLE9i开始,LOGMNR的实用大大简化,可以使用LOGMNR在线分
OBJECT_ID、DATA_OBJECT_ID与truncate的本质
OBJECT_ID和DATA_OBJECT_ID可以这样区别:OBJECT_ID可以看做是对象的一个逻辑ID,在对象创建时分配,一经分配即不再改变;而DATA_OBJECT_ID则是一个物理ID,在对象存储发生变化时可能会发生改变。在sql.bsq文件中,我们可以看到一段注释说明(OBJ是DBA_OBJECTS的底层数据表),OBJ$表的DATAOBJ#为DateLayer的对象号,ORACLE提示不要在该字段上创建索引,因为该标识会在truncate时发生改变。这个注释道出了truncate操作的本质,我们知道truncate操作可以很快速地清除表数据,也可以降低hwm并释放存储空间,同事也知道这是一个极其危险的操作
SCN是什么
SCN是什么?The System Change Numbersystem change number (SCN)是一个非常重要的标记,Oracle使用它来标记数据库在过去时间内的状态和轨迹。Oracle使用SCN来保存所有变化的轨迹。SCN是一个逻辑时钟来记录数据库事件。它非常的重要,并不是只是为了恢复。SCN有点类似于sequence,Oracle在SGA中增加它。当一个事务修改或者插入数据,Oracle首先写入一个新的SCN到回滚段中。log writer进程立刻把提交的记录写入到重做日志中,这条提交的记录将拥有唯一的SCN。事实上,把SCN写入到日志,就意味着一个事务的完成。SCN帮助Oracle决定在一次突然
DataGuard
DataGuard是一种数据库级别的HA方案,最主要功能是冗灾、数据保护、故障恢复等。 DataGuard是生产数据库的"事务一致性copy",创建时,使用生产库的物理copy.创建完成后,备库会通过生产库传输过来的归档日志(或重做条目)自动维护备用数据库。将重做数据应用到备用库。 DataGuard两种类型 DataGuard分为"物理standby"和"逻辑standby" 物理standby: 主备库之间物理结构,逻辑结构保护一致。通常情况下备用库通过主库传输过来的归档日志做恢复。 基于"块对块"方式。与主数据
日常工作注意事项
1、无论是帮别人解决问题,还是处理自己遇到的问题,首先要明确最终要的两点:一是出现错误的环境;而是具体的错误信息。2、找出问题的最好方式是通过自己的提炼,能用一个简单的例子重现问题。如果这点无法做到或者很难做到,那么最起码应该提供充足的信息。这是定位、分析和解决问题的基础。这两个要点对于后续问题的解决至关重要。如果自己无法解决这个问题,那么无论是向别人请教,还是再网络上搜索结果,这两点同样也是关键信息。3、存储过程在编译时,会自动检查语法错误、权限及所有对象的依赖性。而等到执行的时候,ORACLE则不会再
LOB(large object)
LOB(large object)是一种用于存储大对象的数据类型,如医学记录(如X-射线)、视频、图像等。LOB有三种类型:BLOB:Binary Large Object(二进制大对象)、CLOB:Character Large Object(字符大对象)、DBCLOB:Double-byte Character Large Object(双字节字符大对象)。每个LOB可以有2GB[@more@]
ORA-600[2103]
ORA-600 [2103] [a] [b] [c] [d]一般是由于等待某个锁超时导致的内部错误。CONTROL FILE和CHECKPOINT锁的等待超时会导致实例宕机。参数包括: l Arg [a] 0-2 (Read only标志: - 0 updates, 1 read only, 2-rac/ops) l Arg [b] 0 (类型标志- 0 和 4 表示 ENQUEUE) l Arg [c] 1 (等待标准 - 1 说明需要等待) l Arg [d] (Time out - 以秒钟为单位的等待超时,一般是900秒,也就是15分钟) 出现ORA-600[2103]的主要原因包括以下几种:l 控制文件所在的文件系统IO性能极差l 日志切换过于频繁l Oracle的BUG引起[@more@]
ORA-12541
导致此错误的原因一般有以下几种情况:1、ORACLE监听进程没有启动,这是最常见的原因。2、监听配置不对,没有监听在正确的IP地址上。这一般见于有多个IP地址的LINUX/UNIX系统上。监听配置中,如果指定的是主机名,而不是IP地址,而主机名对应的IP地址正好不是期望的IP地址,也会出现此错误。3、监听配置的端口号不对。4、客户端TNS配置中,数据库服务器IP地址错误。如果配置的IP地址错误,并且这个IP地址没有其他的机器使用,也就是说这个IP地址是不能到达的,那么就报“ORA-12525 TNS:操作超时”的错误。而如果这个IP正常有其他机器在使
僵尸进程
微软系列的东西现在已经非常受人们的喜爱,尤其是他独特人性化操作才让大家爱不释手,但是他也以漏洞之王为称,所以政府、企业等大型服务器是绝对没人敢用windows系列产品的。相比之下Linux在安全方面就闲得非常强壮。 而且照以后的发展趋势来看Linux将在各各领域占有绝对的优势,这个年代要是不懂Linux很难立足。所以今天我就带大家步入Linux最基本的安全领域—"进程"。 大家都知道Linux跟Win2K一样,都是多任务的操作系统,也就是说,在同一个时间内,可以有多个进程同时执行。如果大家对硬件体系有一定了解的话,就会知道
vi命令用法
VI命令 i 在光标前插入文本I 在当前行前插入文本x 删除光标处的字符,可以在x前加上需要删除的字符数目dd 删除整行db 删除光标前面的字Ftext 在当前行向后查找textftext 在当前行向前查找textyy 将当前行的内容放入临时缓冲区p 将临时缓冲区中的文本放入光标后P 将临时缓冲区中的文本放入光标前u 撤消最后一次修改U 撤消当前行的所有修改“np 取回最后第n次的删除(缓冲区中存有一定次数的删除内容,一般为9)n 重复前面的/或?查找命令N 以相反方向重复前面的/或?命令:wq 存盘退出:w! 存盘继续:q 退出 (源文件未被编辑过可用):q! 强制退出
Linux访问Windows共享方法
应用程序(alt+f1)-系统工具-文件浏览器点击后退下方的按钮(在按钮和基于文本的位置栏之间切换)在位置后输入smb://ip地址[@more@]
events跟踪tkprof用法
EVENTS:设定跟踪:1、设定跟踪文件大小不受限制SQL>ALTER SESSION SET max_dump_file_size = UNLIMITED;2、打开10046跟踪SQL>ALTER SESSION SET EVENTS '10046 trace name context forever, level 12';3、执行语句... ...4、关闭跟踪SQL>ALTER SESSION SET EVENTS '10046 trace name context off';5、查看跟踪文件路径show parameter user_dump_dest我测试机上为D:appAdministratordiagrdbmsorclorcltrace TKPROF:作用:格式化跟踪文件,例如格式化sql trace,10046产生的输出文件。目的是将sql trace 生成的跟踪文件转换成用户可
RMAN恢复
一、RMAN恢复综述 1、RMAN完全恢复 是指当数据文件出现介质失败时,使用RESTORE命令转储数据文件备份,并使用RECOVER命令将数据文件恢复到失败点的状态。当数据库处于ARCHIVELOG模式时,在进行日志切换时会自动生成归档日志,并且会将所有重做历史记录存放到归档日志中。 2、RMAN不完全恢复 是指当数据库出现介质失败或逻辑失败时,使用RESTORE命令转储备份,并使用RECOVER命令将数据库恢复到备份点与失败点之间某个时刻的状态。 3、RMAN转储命令 (1)RESTORE DATABASE 转储数据库的所有数据文件 MOUNT (2)RESTORE DA
三次握手机制
在tcp/ip协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。第一次 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。第二次 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成