oracle
文章平均质量分 66
juatinhai
这个作者很懒,什么都没留下…
展开
-
oracle中获取周几的SQL
返回给定日期是星期几:select to_char(to_date('20100804','yyyy-mm-dd'),'day') from dual;返回给定日期是一周的第几天:星期日算第一天select to_char(sysdate - 1 ,'d') from dual;返回给定日期是本月的第几周:Select to_char(sysda原创 2013-10-24 10:20:37 · 1746 阅读 · 0 评论 -
快速批量更新数据
生产环境有时候表结构变更,需要在新增字段设置默认值,为不长时间锁表,在add 字段时候不能加default * 需要后续做大批量数据变更,效率不能太低又不能影响OGG同步,所以就有了下面这个批量更新模板set serveroutput ondeclare v_cnt int := 0; TYPE ARRROWID IS TABLE OF ROWID INDEX原创 2013-10-24 10:10:16 · 1032 阅读 · 0 评论 -
批量生成添加分区语句
维护的ORACLE 10G数据库中分区表几十上百个,当需要添加新分区的时候非常麻烦,就写了下面两个简易的SQL语句来生成批量添加分区的脚本,如在新增分区时想索引放在另外表空间,对每个索引要先执行下面语句:--ALTER INDEX IDX_TABXX MODIFY DEFAULT ATTRIBUTES TABLESPACE P_IND_03_P2011;按天分区:原创 2013-10-23 09:52:17 · 3190 阅读 · 0 评论 -
使用Active database duplicate 建立dataguard
使用Active database duplicate 建立dataguard环境:hostnameIPDatabaseDB_UNIQUE_NAMEOracle tns nameRAC1192.168.2.101/3.101PrimaryoggoggRAC2192.168.2.201/3.201Physical standbytggtgg1.确认主库为归档模式 ARCHIVEL原创 2013-10-29 19:41:34 · 1198 阅读 · 0 评论 -
ORACLE 11G DATAGUARD保护模式设置详解
先说说DG的三种保护模式Maximum Protection:最大保护模式,不允许数据丢失,所有事务必须完成主备库的日志写后才能提交,如果主备库之间网络异常,将会严重影响主库性能。Maximum Performance:此为DG的默认模式,此模式保证主库以最大性能运行,允许事务在完成本地日志写成功后主库立即提交,而不需等待redo数据写到备库,事务产生的redo 数据异步的传输到备库,此模原创 2013-10-29 16:45:52 · 4372 阅读 · 0 评论 -
克隆ORACLE 11G HOME
测试oracle 11.2.0.4 + goldengate 11.2,需要两台LINUX测试环境都将安装oracle,测试环境节点1机器名:RAC1 源端测试环境节点1机器名:RAC2 目标端两台机器目录结构一致目前RAC1已经安装好ORACLE 11.2.0.4 SOFTAWRE,节点2 RAC2已经没有空间存放ORACLE安装介质,所以采取克隆方式安装,将RAC1安装原创 2013-10-28 15:15:56 · 1137 阅读 · 0 评论 -
搭建ORACLE 10G DATAGUARD示例
2010年因为需要评估DATAGUARD 和 GOLDENGATE某些功能,搭建了环境做了一些功能比较测试以下就是搭建环境的操作步骤ORACLE VERSION 10.2.0.3示例环境:DATABASE HOSTNAME IP DB_UNIQUE_NAME ORACLE NET SERVICE NAME主 DG1原创 2013-10-23 16:43:06 · 1007 阅读 · 0 评论 -
ORACLE逻辑备库过滤DDL语句测试
2010年因为需要评估DATAGUARD 和 GOLDENGATE某些功能,搭建了环境做了一些功能比较测试本次测试是过滤DROP PARTITION 语句,源库进行DROP 历史PARTITION 但是目标库保留历史PARTITION最后是使用了GOLDENGATE,到目前为止一直在使用1.环境介绍DATABASE HOSTNAME IP DB_UNIQUE_NAME原创 2013-10-23 17:00:01 · 1123 阅读 · 0 评论 -
STREAM过滤指定DDL语句
2010年因为需要评估STREAM 和 GOLDENGATE某些功能,主要是测试STREAM对过滤指定DDL语句的功能本次测试是过滤DROP PARTITION 语句,源库进行DROP 历史PARTITION 但是目标库保留历史PARTITION环境说明平台 REDHAT AS 5 32-BIT + ORACLE 10.2.0.4 32-BIT IP原创 2013-10-23 17:00:45 · 970 阅读 · 0 评论 -
ORACLE 11G SNAPSHOT STANDBY实例
ORACLE 11g PHYSICAL STANDBY已经不仅仅只提供灾难恢复功能,其ACTI VE DATA GUARD 特性让备库处于RED ONLY状态,可以提供做报表查询、读写分离使用;还新增了SNAPSHOT STANDBY 特性,此特性能让备库暂时处于可读可写状态,为各种性能、压力测试提供了环境,重要的是测试完成后又可转换回PHYSICAL STANDBY,备库的数据继续与原创 2013-10-30 13:26:50 · 2369 阅读 · 0 评论 -
oracle 11g physical standby switchover
简介SWITCHOVERS主要是在计划停机维护时用来降低DOWNTIME,如硬件维护、操作系统升级或是数据库rolling upgrade,也可用来进行特殊情况下的数据库迁移。SWITCHOVERS主要分为两个阶段,阶段1:主库转换为备库角色;阶段2:备库转换为主库角色环境:switchover 前db_unique_name : ogg: primary原创 2013-10-30 15:12:30 · 1027 阅读 · 0 评论 -
ORACLE 实时TOP SESSION查询
查询目前正在运行的SESSION的TOPSQL,不是很准,但是够用,感觉比从ASH里面查更直观一点,一直想结合OS 的ps 命令写个脚本直接找出TOP CPU 进程的SQL,但AIX 的ps 命令出来的CPU占用率更TOPAS 显示差太多,阀值很不好定。with tsql as (select s.sid, s.BLOCKING_SESSION lk_s原创 2013-10-30 17:25:11 · 1373 阅读 · 0 评论 -
查询长事务SQL
下面SQL 查询数据库中正在执行大于N秒的事务信息:with ltr as ( select to_char(sysdate,'YYYYMMDDHH24MISS') TM, s.sid, s.sql_id, s.sql_child_number, s.prev_sql_id, xid,原创 2013-11-01 20:10:14 · 3257 阅读 · 0 评论 -
Oracle 11g统计信息收集
ORACLE 11G 统计信息新增了很多新特性,相对于10G自动收集部分有也很大改变。新特性:1. 可分级设置统计信息收集参数由高到底分为:global级别、数据库级别、schema级别、表级别,低级别的设置覆盖高级别的设置2.延时发布功能 PUBLISH可控制收集完统计信息是否立即发布到数据字典,还是挂起,由初始化参数控制OPTIMIZER_USE_PENDI原创 2013-11-01 21:26:49 · 2831 阅读 · 0 评论 -
运行DBCA Exception in thread "main"错误
虚拟环境有套REDHAT 5.4+10GRAC,想清理部署11.2.0.4库测试goldengat 12c用DBCA的时候发现节点2报 Exception in thread "main"xhl@XHL:~$ ssh -X oracle@192.168.3.201 oracle@192.168.3.201's password: Last login: Wed Nov 16 1原创 2013-10-28 10:42:17 · 2769 阅读 · 0 评论 -
用SHELL 查看spid执行SQL
使用OS命令 top / topas(AIX) / glance(HP-UX) 看到TOP PROCESS 的时候,想立即知道某些一直在TOP 中的ORACLE进程是那个应用发出、在跑什么、在经历什么等待事件、耗时多久,下面这个脚本可以完成。将下面脚本存在ssql.sh中,给执行权限使用方法:./ssql.sh 33903 /* 33903 是从TOP命令看到的 spid*/原创 2013-10-23 13:59:09 · 1029 阅读 · 0 评论 -
10GR2迁移升级到11GR2压力性能测试一
10GR2迁移升级到11GR2压力性能测试一(database replay)测试环境介绍:生产环境 10GR2 单实例升级环境 11GR2 单实例生产环境与升级环境之间的数据已经通过goldengate 同步一. capture生产环境workloadConnected to Oracle Database 10g Enterprise Edition Rel原创 2013-10-24 10:32:34 · 1412 阅读 · 0 评论 -
10GR2迁移升级到11GR2压力性能测试二
10G database 执行14:35:34 SQL> EXEC DBMS_SQLTUNE.create_sqlset(sqlset_name => 'RAC38N1',description => 'SPA TEST'); PL/SQL procedure successfully completed Executed in 0.109 seconds 将快照I原创 2013-10-24 10:35:36 · 1392 阅读 · 0 评论 -
恢复10G RAC+ASM 到单机
记 08年的一次故障处理,现在回想起前公司的机房之恶劣环境,依然心有余悸,掉电、漏水...因掉电,RAC 两NODE CRASH 起不来,为保证业务能尽快恢复,采取两线作战,哪个方案先完成就使用哪个库。应急处理方案1:同事进行原机故障分析处理,希望能将原环境恢复应急处理方案2 :我从备份中将数据库恢复到单机最后恢复快完成时,同事也通过重装CRS 后恢复原环境,方案2 就当作练手了Releas原创 2013-10-23 21:22:34 · 1102 阅读 · 0 评论 -
数据库与操作系统时区更改
ORACLE 11G 新部署的环境,刚使用GOLDENGATE 进行完数据迁移和同步,发现ORACLE 自动收集的任务时间并不是设定的晚上22点启动。检查AIX 时区发现设置的CDT ,数据库的TIMEZONE 是CST6CDT,与系统管理员沟通,他答复是AIX 6.1 没有北京时间这个时区了,所以没有按照手册特别设置,现在只能进行时区更改为Asia/Shanghai,OS更改完成后G原创 2013-10-23 15:16:26 · 1834 阅读 · 0 评论 -
存放控制文件挂载点满引发DB DOWN
at Feb 16 15:43:03 2008Thread 1 advanced to log sequence 90060Sat Feb 16 15:43:03 2008 Current log# 2 seq# 90060 mem# 0: /opt/oracle/oradata/mrpt/redomrpt02a.rdo Current log# 2 seq# 90060 me原创 2013-10-25 17:20:19 · 956 阅读 · 0 评论 -
升级到ORACLE 11G 需注意的小问题
数据库迁移升级到ORACLE 11G ,DBA 除了需要进行一系列的性能分析、压力测试等工作,还需注意某些小的变动,避免带来不必要的麻烦1. 密码默认区分大小写 SEC_CASE_SENSITIVE_LOGON = TRUE 可以设置为FALSE 关闭大小写敏感2. 审计默认开启 AUDIT_TRAIL = DB 可以设置为NONE原创 2013-10-25 18:15:03 · 970 阅读 · 0 评论 -
Bug 11891463 : MINACT-SCN MASTER-STATUS MESSAGES WRITTEN TO MMON TRACE FILE
Minact-Scn Master-Status: Grec-Scn Messages In Trace FileAPPLIES TO:Oracle Server - Enterprise Edition - Version 11.2.0.2 and laterInformation in this document applies to any platform.SYMPTOMSOrac转载 2013-10-26 10:03:39 · 8334 阅读 · 0 评论 -
使用SQL获取ASH/ADDM/AWR报告
有时候想直接在SQLPLUS中看ASH/ADDM/AWR报告,用下面方法还是比较方便,因为AWR数据在数据库中默认只保留7天,即使设置保留30天,可能有时候我们需要进行性能对比分析需要保留时段之前的AWR,那么我们可以采用脚本定时将AWR报告输出保存。原创 2013-10-26 17:31:33 · 2720 阅读 · 0 评论 -
大表新增字段
在一个业务繁忙并且数据量巨大的环境中,新增一个字段对于DBA来说都是一个不简单的任务ALTER_XHL 表记录8000W 行,与之有关的并发业务量非常大,新增带有default值的字段ALTER TABLE ALTER_XHL ADD ( DDD NUMBER DEFAULT 8 NOT NULL) ;直接执行的后果是业务全被阻塞,可以用10046跟踪下上面语句是如何执行的原创 2013-10-23 13:57:52 · 1728 阅读 · 0 评论 -
使用SQL从AWR收集数据库性能变化趋势
为了对数据库一段时间的性能情况有个全面了解,显然AWR是一个非常有用的工具,但很多人只会在数据库有性能问题时才会生成问题时段的awr报告去分析。虽然AWR中给出的统计数据是一段时间的,对于峰值情况把握不准,但是如果把一段时间的下列度量值做成统计趋势图,大家对系统的空闲、繁忙、异常时段可以一目了然,也能从趋势变化中提前发现问题。原创 2013-10-26 10:37:23 · 1551 阅读 · 0 评论 -
查看未绑定变量SQL
执行频繁的SQL 没有采取绑定变量,ORACLE将频繁发生硬解析,如果SGA采用自动管理,SHARED POOL 将会很大,更加增加ORACLE 对内存管理的消耗,这个时候最好在应用优化代码前,先将SGA设置为手动管理。用下面提供的SQL 抓取没有使用绑定变量执行非常频繁的SQL。原创 2013-10-26 17:21:59 · 1838 阅读 · 0 评论 -
DIFF AWR TOPSQL
有时候应用版本更新后想用SQL获取最近几天的AWR 报告中比较某天某个时段TOP SQL 的情况,从中比较出来每个时间段的TOPSQL 是否有异动,如果出现新的比较异常的SQL ,可以从此结果集中发现加以分析处理 select DT, HH, SNAP_ID, schema, SQL_ID,原创 2013-10-26 09:52:59 · 1242 阅读 · 0 评论 -
定位行锁源头
有时候因为应用程序逻辑问题,导致数据库中出现大量行锁,这个时候开发需要DBA快速找到源头,在紧急情况下立即进行KILL来解决问题。行锁问题的分析不单是找到源头的SESSION ID,还需要获取XID、LOCK TABLES‘S ROWID、及SQL_TEXT 来定位具体交易,或许还需要通过LOGMINER进行挖掘分析找到问题根源。下面这个SQL 只是定位行锁源头,并记录事务XID找到源原创 2013-10-23 19:05:30 · 1027 阅读 · 0 评论