DATA GUARD主库丢失数据文件的恢复(2)
在DATAGUARD中,如果有备份,主库出现问题时,有多种恢复方式可选:1、从备库拷贝相关文件到主库上恢复2、拷贝备库备份到主库还原恢复3、从主库备份还原恢复本文主要讨论10G DATAGUARD中,主库丢失数据文件时,利用...
oracle全文索引之几个关键表
oracle全文索引的原理是把对索引的查找转换成对几个表的查找。下面对几个主要的表进行简单介绍:DR$INDEX_NAME$I:该表的owner是基表所属的schema。这个表包含了所有的关键字和其对应的位置信息。这是全文索引最主要...
10G FGA的增强
我们知道,在9i中,FGA只能审计SELECT 语句,而DML语句需要用普通审计或者触发器来记录。10g增强了FGA的功能,可以审计SELECT和DML语句了。SQL> SELECT * FROM V$VERSION;BANNER-----------------------------------...
记一个低级又严重的错误
今天在做两表关联update的时候,发现产生的日志量远远超出想象,update的sql如下:update t1 set t1.name=(select t2.name from t2 where t1.id=t2.id)其中t2只有几条数据。按我以前的观点,只更新t1表中id在t2存在...
用10046进行诊断一例
今天,一直运行正常的物化视图刷新忽然执行不正常SQL> exec dbms_refresh.refresh('WAI_REFRESH');begin dbms_refresh.refresh('WAI_REFRESH'); end;ORA-02019: connection description for remote database not fou...
求主外键的关系
在日常数据维护中,经常删除数据,要是这些数据所在的表有外键关联,又不设置成级联删除的话,就需要先清空子表的相关数据了。要找出所有的主外键的关联是一个比较头疼的事情,下面给出一个例子,可以得到某用户下的...
完善昨天写的数据库结构同步方案
在昨天的方案中,并没有实现对由系统自动生成约束名的约束的修改和删除的同步。考虑到这种情况的同步较为复杂,决定通过before触发器防止SYS_XXXX之类对象的创建触发器代码如下:在昨天的方案中,并没有实现对由系统...
update操作会产生几条mlog$日志?
我们知道,在快速刷新物化视图中,源表必须建立物化视图日志来记录源表数据的变化,从而使得物化视图能够快速刷新。 今天以前一位同事提出这样一个问题:做一个update操作会产生两个mlog$日志。这与我印象中...
statistics_level与SGA_TARGET冲突
今天有朋友数据库启动报错,向我求助。其中报错信息如下:SQL> startupORA-00824: cannot set sga_target due to existing internal settings, see alert log for more information最后发现问题出在参数设置冲突上,...
索引与null(一):单列索引
这篇文章主要讨论单列索引与null的关系。一、单列索引SQL> create table t(a int,b int);Table createdSQL> create index idx_t on t(a);Index createdSQL> select * from t; A B---------- ------...
静默方式安装、升级oracle(二): 创建数据库
本文简单阐述在Linux AS 4中如何不用启动界面的情况下安装oracle 10g软件、创建数据库以及升级数据库,这就是oracle的静默安装。不起界面创建数据库可以有三种方式:1、手工执行脚本这个讨论起来篇幅也比较长,不在...
Solaris 10下迁移10G RAC (八)
最近做了一个rac数据库的迁移,中间涉及到很多部分内容,包括rac环境的搭建、ASM的设置、数据库的迁移、升级等。本文是这次迁移工作的第八部分:迁移过程中遇到的错误。8 遇到的错误8.1 错误Crs我安装了3遍,在其中...
DATAGUARD失败切换
如果主库出现故障无法修复的话,就需要在备库上做failover,使得应用可以继续运行。在备库做失败切换的一般步骤是:1、如果可能,从主库手工拷贝并注册ARCHIVED LOG到备库上,直到备库的V$ARCHIVE_GAP记录为空。2、...
如何根据MLOG$表的CHANGE_VECTOR$$找出被更新的列
在yangtingkun老大的指点下,对主键刷新物化视图日志表的CHANGE_VECTOR$$有了进一步的认识,下面就对这个新的知识点做一个简单的总结。我们知道,oracle用MLOG$_XXX表来记录发生在基表上的数据变化,以此作为物化视...
sys_connect_by_path的两种用法
本文主要讨论sys_connect_by_path的使用方法。1、带层次关系SQL> create table dept(deptno number,deptname varchar2(20),mgrno number);Table created.SQL> insert into dept values(1,'总公司',null);1 row creat...
数据库启动遭遇ORA-00600: [keltnfy-ldmInit]
今天在启动数据库的时候报错:[oracle@standby dbs]$ sqlplus "/as sysdba"SQL*Plus: Release 10.2.0.3.0 - Production on Sun Jun 17 03:32:27 2007Copyright (c) 1982, 2006, Oracle. All Rights Reserved.Connec...
如何用静默方式删除oracle软件
本文主要介绍在linux下如何用静默方式卸载oracle软件。在linux下卸载oracle软件比较简单,可以简单的把相关目录删除掉,然后清理一下/etc下oracle相关的文件就可以。但还是有必要了解一下如何通过工具来卸载。1、首...
ORA-00130: invalid listener address
今天再重启测试库的时候,发现有这么一个报错信息: ORA-00130: invalid listener address (ADDRESS=(PROTOCOL=TCP)(HOST=test2)(PORT=1521))开始怀疑是监听得设置有问题,打开监听文件,内容如下:LISTENER = ...
一次简单的分页优化
今天对一个排序分页查询进行了一次优化,优化后性能得到明显改观。下面用例子说明优化步骤。1、首先创建测试数据SQL> create table t as select * from dba_objects;Table createdSQL> insert into t select * f...
如何加密shell脚本
我们在shell中经常会有一些敏感信息,如用户名、密码等,如果以明文存放,则很不安全。 我可以使用shc把脚本编译成成二进制文件,从而达到加密的结果。[root@db ~]# more a.sh #!/bin/shdate[root@db ~]# ./shc...