goldengate在Oracle RAC 环境
在RAC环境中安装GoldenGate,建议将其安装在共享存储中,这样你可以在任一节点上启动GoldenGate进程,如果在这个节点上运行失败,你可以在另一个节点上启动,而不用修改参数,因为处理检查点保留在安装目录中。RAC中的所有需要执行GoldenGate进程的节点必须同步系统时间,因为GoldenGate通过比较本地系统时间和提交时间戳来做出关键决策。[@more@]Ref: http://www.dbaaku.com/bbs/thread-729-1-1.html系统要求及安装前的说明Oracle GoldenGate可以在Oracle不同版本间移动数据,也可以在Oracle和其它类型数据库之间移动数据。Oracle Golden
oracle特性 yangtingkun BLOG文章索引 [zt]
http://www.itpub.net/699527.html#[@more@]
Oracle RAC TAF [zt]
Oracle的RAC的高可用功能除了负载均衡还包括TAF(Transparent Application Failover)。RAC的TAF是指会话连接到一个实例上,如果这个实例出现了故障,Oracle会自动将会话迁移到另一个实例上。[@more@]FAILOVER的SESSION和SELECT选项.配置了SELECT选项的FAILOVER在数据库实例失败时,会将会话切换到另一个实例,且将实例失败时运行的SELECT语句继续执行,并返回正确的结果。而SESSION则不具备这个功能。TAF是针对SESSION和SELECT的,它不支持事务的切换。SELECT模式的TAF只对不包含任何事务处理的查询有效。一旦用户执行了修改操作,SELECT
oracle10g的dynamic sampling
dynamic sampling主要是用来改善oracle的性能,使其得到更为正确的执行计划。oracle是通过optimizer_dynamic_sampling这个参数实现动态采样,在9i里面dynamic sampling需要在多表关联的语句里面才会起作用。在10g里面optimizer_dynamic_sampling在2及以上级别时单表就能dynamic sampling。[@more@]oracle文档上对于该参数的介绍如下:You control dynamic sampling with the OPTIMIZER_DYNAMIC_SAMPLING parameter, which can be set to a value from 0 to 10.A value of 0 means dynamic sampling will not be done. A value of 1 (the d
Oracle11g新特性:SQL Result Cache [zt]
DB_BUFFER只能缓存访问过的BLOCK,部分解决了物理读的问题,查询仍然需要大量的逻辑读。物化视图提供的是查询重写的功能,对于大部分的情况,只是简化了SQL的复杂度,即使是完全满足查询的条件,物化视图的扫描也是不可避免的。而缓存结果集——RESULT CACHE则截然不同,它缓存的是查询的结果。不再需要大量的逻辑读,不再需要任何的复杂计算,而是直接将已经缓存的结果返回。[@more@]Server Result Cache通过在SGA中分配一个缓冲区来保存查询结果,Oracle引入了几个新的初始化参数来控制这个cache的大小:RESULT_CACHE_MODE、RESULT_CACH
Oracle10g的行列转换 wmsys.wm_concat
SELECT deptno, wmsys.wm_concat(empno || ename) FROM scott.emp GROUP BY deptno;[@more@]
REMOTE_LOGIN_PASSWORDFILE[zt]
REMOTE_LOGIN_PASSWORDFILE参数取不同值时的行为特性。REMOTE_LOGIN_PASSWORDFILE参数可以有三种取值:EXCLUSIVE(默认)、NONE和SHARED。[@more@]1)当取值为EXCLUSIVE时允许客户端以SYSDBA或SYSOPER权限登录到数据库实例中完成数据库管理操作;允许授予和回收SYSDBA或SYSOPER权限。2)当取值为NONE时禁止客户端以SYSDBA或SYSOPER权限登录到数据库实例中完成数据库管理操作;禁止授予和回收SYSDBA或SYSOPER权限。3)当取值为SHARED时允许客户端以SYSDBA或SYSOPER权限登录到数据库实例中完成数据库管理操作;禁止授予和回收SYSDBA或SYSOPE
把时间戳之差转换成时分秒格式
WITH a AS (SELECT to_timestamp('2010-7-7 11:11:11', 'yyyy-mm-dd hh24:mi:ss') - to_timestamp('2010-7-5 12:12:12', 'yyyy-mm-dd hh24:mi:ss') inter FROM dual)SELECT inter, extract(DAY FROM inter), extract(hour FROM inter), extract(minute FROM inter), extract(SECOND FROM inter) FROM a;其他参考:http://xsb.itpub.net/post/419/52334[@more@]
使用utl_http获取某个http页面内容
set head off set feed offset termout offset serveroutput onspool d:test.htmlDECLAREreq utl_http.req;resp utl_http.resp;VALUE VARCHAR2(4000);[@more@]BEGINreq := utl_http.begin_request('http://www.5ienet.com/online.asp');utl_http.set_header(req, 'Content-Type', 'text/html; charset=gb2312');resp := utl_http.get_response(req);dbms_output.enable(1000000);LOOPutl_http.read_line(resp, VALUE, TRUE);dbms_output.put_line(VALUE);END LOOP;utl_http.end_response(resp);EXCEPTIONWHEN utl_http.end_of_body THENut
to_char取周数的算法
“周数”的计算规则如下:算法一:iw的算法为星期一至星期日算一周,且每年的第一个星期一为第一周即:IW = Week of year (1-52 or 1-53) based on the ISO standard SQL函数的取值是:SELECT to_char(SYSDATE, 'iw') FROM dual;注意有特殊的地方:如果一年当中第52周别之后至当年的12月31日之间,还有大于或等于4天的话,则定为当年的第53周,否则剩余这些天数被归为下一年的第1周;如果在不足52周别的话,则以下一年的时间来补;比如20090101是周四,今年第一个周一是20090105,结果是第一个周一已经算是第二周了!程序处理起来很复杂!算
找到procedure中reference的对象
查询user_dependencies可以。如:select * from user_dependencies where name ='P_AUTO_DROP_OTHERDATA' and referenced_type='TABLE' order by referenced_name;[@more@]
profiler
CONNECT sys/password@service AS SYSDBA@$ORACLE_HOME/rdbms/admin/profload.sqlCONNECT profiler/profiler@service@$ORACLE_HOME/rdbms/admin/proftab.sql[@more@]http://www.dbasoul.com/page/25
Oracle11g RMAN Duplicate from Active Database
利用Rman的duplicate命令,可以很方便的将原库复制出一个新库,这在诸如data guard等应用中非常有用。但是在Oracle11g之前,执行duplicate要求首先对原库用rman进行备份,然后将备份复制到复制库,同时连接原库(做为target)和复制库(做为auxiliary),执行duplicate命令进行复制。在Oracle11g中推出的active database duplicate特性,则省略了进行rman备份的步骤,能够直接从原库复制出新库,对于一些大型的数据库来说,这个特性可以节省很多操作时间。本文将简单的演示一下操作过程(在同一个主机上执行duplicate):[@more@]原库:ora11g(归
oracle11g pivot 行列转换 SQL Server 2005
在 Oracle 数据库 11g 推出之前,您需要针对每个值通过使用decode 函数或case语句进行列转换操作, 并将每个不同的值编写为一个单独的列。但是,该方法不是很不直观也不是很方便。 oracle11g可以使用一种很好的新特性PIVOT和UNPIVOT,通过一种新的操作符以交叉表格式显示任何查询, oracle为了实现更强大的数据仓库应用,在SQL和PL/SQL方面有很大的加强。 SQL Server2005引入了很多迎合开发者口味的新特性,虽然改动不大,却大大了减少了开发者的工作量,这种替用户考虑的开发思路,值得称赞。[@more@][zt] Ref: http://www.ixpub.net/thr
sqlplus中利用spool生成带日期的文件名
sqlplus中利用spool生成带日期的文件名col spf new_value spf noprintselect 'd:'||to_char(sysdate,'yyyymmdd')||'.txt' spf from dual;spo &spf select * from dual;spo off;[@more@]--sqlplus中利用spool生成带日期的文件名accept un prompt '用户名:'accept pw prompt '密 码:' hideaccept db prompt '数据库:'connect &un/&pw@&db;pause 继续吗?set feedback offset pages 0set lines 30000set trims onset trim onset ver offset heading offset time offset timing offset autot offset echo offset show off
10g中表监控与statistics_level
在10g之前的版本,必须用dbms_stats的ALTER_DATABASE/SCHEMA_TAB_MONITORING过程或者create/alter table ... monitoring打开表的监控,在10g中,MONITORING与NOMONITORING关键字已经过时,如果你在create/alter table中指定表的监控或取消监控,该关键字将忽略,表监控特征被statistics_level控制,当statistics_level等于basic时,将禁止表的监控,如果等于typical或all时,表监控是激活的.[@more@]Ref: http://blog.chinaunix.net/u/26910/showart_546183.htmlstatistics_level默认是typical,在10g中表监控是激活的,强烈建议在10g中此参数的值是ty
关闭及开启oracle10g统计信息自动收集功能
有两种方法,分别如下:方法一: SYSDBA登录exec dbms_scheduler.disable('SYS.GATHER_STATS_JOB');exec dbms_scheduler.enable('SYS.GATHER_STATS_JOB');方法二:alter system set "_optimizer_autostats_job"=false scope=spfile;alter system set "_optimizer_autostats_job"=true scope=spfile;Pfile可以直接修改初始化参数文件然后重新启动数据库。[@more@]
Oracle10G EM dbcontrol
emca -config dbcontrol db -repos createemca -deconfig dbcontrol db -repos dropemctl status dbconsole[@more@]常用的命令语法:emca -repos create创建一个EM资料库emca -repos recreate重建一个EM资料库emca -repos drop删除一个EM资料库emca -config dbcontrol db配置数据库的 Database Controlemca -deconfig dbcontrol db删除数据库的 Database Control配置emca -reconfig ports 重新配置db control和agent的端口emctl start console启动EM console服务,使用前需要先设置ORACLE_SID环境变量emctl stop console停止EM console服务
ora11g install on ora_eLinux5u2
在oraLinux5U2下安装ORACLE11G.[@more@]1.在OTN网站http://www.oracle.com/technology/global/cn/index.html上下载oracle_Linux5U2安装文件。2.安装OS,选中除WEB_Server组件外的所有组件。3.启用telnet服务:在第3张光盘的server目录下有telnet-server-0.17-39.el5.i386.rpm文件,安装之:rpm –ivh telnet-server-0.17-39.el5.i386.rpmVi /etc/xinetd.d/telnet 把此项改成disable=no service xinetd restart 重启服务即可启动。允许root登录默认不允许root通过telnet登录的,下面是修改方法vi /etc/pam.d/loginauth require pam_securet
ora10g install on RHAS4
ora10g install on RHAS4 step by step .[@more@]1.从linux as4第三光盘上复制libaio-0.3.102-1.i386.rpm和libaio-devel0.3.102-1.i386.rpm到系统并安装。rpm -ivh libaio-0.3.102-1.i386.rpm做个链接:ln -s /usr/lib/libstdc++.so.6.0.3 /usr/lib/libstdc++.so.5如果不做此链接,在安装过程中建好数据库,将会出现不能链接不上数据库问题。2.启用telnet服务:在第4张光盘下有telnet-server-0.17-39.el5.i386.rpm文件,安装之:rpm –ivh telnet-server-0.17-39.el5.i386.rpmVi /etc/xinetd.d/telnet 把此项改成disable=no service xinetd