rman configure
show all [@more@]RMAN配置作用RMAN中具有一些列的默认配置,这些配置决定了备份和恢复时的一些选项,比如自动分配通道的配置;备份保留时间的配置;备份集大小的限制;启用或禁用备份优化功能;镜像复制的备份数量;是否将某个表空间排除在备份之外。修改配置是通过CONFIGURE命令。如果想恢复某项设置,我们执行如下命令configure …clear。大部分配置项的值都是To后面的内容,个别的除外,例如Configure encryption for database off自动分配通道的配置Configure device type disk/stb parallelism 2;Configure device type disk/stb cl
rac 归档的存放路径下的不同的恢复方法
rac 归档的存放路径下的不同的恢复方法本地磁盘共享的CLUSTER 磁盘ASM [@more@]转http://space.itpub.net/67294/viewspace-557894一、归档日志分别存放在本地部分:对于建立在裸设备上的环境,由于归档不能存放到裸设备上,因此,所有的归档都必须保存在本地的磁盘上。直接通过RMAN备份会导致错误。首先模仿裸设备的情况,修改原来LOG_ARCHIVE_DEST_1的配置,将每个实例的归档改在本地硬盘:节点一:SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_1 = 'LOCATION=/data1/archivelog' SID = 'testrac1';节点二:SQL> ALTER SYSTEM SET LO
rman rename
$ more rman_wh.sh#!/bin/sh. /export/home/oracle/.profilerq=`date +%Y%m%d`date$ORACLE_HOME/bin/rman target / log=/u01/oracle/rman/backup$rq.log<<!backup database format '/u01/oracle/rman/mpaper_%T_%U.bak' plus archivelog format '/u01/oracle/rman/arc_%T_%U.bak' delete all input; crosscheck backup;report obsolete;delete obsolete;YESexit!date#!/bin/bash. /home/.bash_profilerq=`date +%Y%m%d`date$ORACLE_HOME/bin/rman target / log=/export/home/oracle/rman/hf$rq.log<<! run{set newname for da
window 自动任务 exp
编辑 exp_1.bat exp aaa/aaa@test tables=tt_area file=I:11tt_area%date:~0,4%%date:~5,2%%date:~8,2%.dmp log=I:11tt_area%date:~0,4%%date:~5,2%%date:~8,2%.log导出的结果是:tb_area20090918.dmp ,tb_area20090918.log 或者 set "ymd=%date:~0,4%%date:~5,2%%date:~8,2%"set "ymd=%date:~0,4%"set "mm=%date:~5,2%"set "dd=%date:~8,2%"exp aaa/aaa@test tables=tt_area file=I:11tt_area_%ymd%%mm%%dd%.dmp log=I:11tt_area_%ymd%%mm%%dd%.log或者 set "ymd=%date:~0,4%%date:~5,2%%da
oracle 模糊导出
带条件的导出exp crbt/crbt@crbtfdb tables=corp_account query="where record_time>to_date('2001122','yyyymmdd')" file=/export/home/oracle/shell/jf.dmp log=/export/home/oracle/shell/jf.log导出部分表exp rlslog/rlslog tables=G_QST_2009062% file=g_qst2009062.dmp [@more@]
managed oracle statistics
收集表的统计信息收集索引的统计信息删除表的统计信息删除索引的统计信息导出导入统计信息不同的数据库间统计信息的复制dbms_stats 和 analyze 的优点和缺点对柱状图的理解和常用的统计信息,柱状图的视图[@more@] 常用的 analyze ,dbms_stats 包的使用 dbms_stats.gather_table_stats 的使用 1 统计表名是 wrj 的统计信息,不统计索引的信息,同时,是自动确定histograms size 的最优值,也是默认值SQL> exec dbms_stats.gather_table_stats(ownname=>'test',tabname=>'wrj',cascade=>true,method_opt=>dbms_st
dbms_aq 堵塞处理
dbms_aq 堵塞处理 步骤: 今天数据迁移的时候,需要做赋权操作 grant execute on dbms_aq to aaaaa;到这个地方就死到这里啦 处理步骤如下: [@more@]今天数据迁移的时候,需要做赋权操作 grant execute on dbms_aq to aaaaa;到这个地方就死到这里啦 处理步骤如下: SQL> set linesize 300;SQL> select 'kill -9 '||a.spid,b.program,b.username,b.osuser from v$process a, v$session b,v$access c where a.addr=b.paddr and b.sid=c.sid and c.object like '%DBMS_AQ%' ;查出使用DBMS_AQ 的这个包,告诉开发人员,杀掉程序,并且 k
db file scattered read,direct path read 等待事件的原因以及解决方法
db file sequential read (single block read into one SGA buffer)db file scattered read (multiblock read into many discontinuous SGA buffers)direct read (single or multiblock read into the PGA, bypassing the SGA)direct path read and direct path read tempdirect path write and direct path write temp[@more@]10G 通过 v$session 查询 SELECT a.owner, a.object_name, a.subobject_name, a.object_type,b.sid,b.program FROM DBA_OBJECTS a, V$SESSION b WHERE data_object_id = b.row_wait_obj and b.EVENT = 'db
buffer busy waits
buffer busy waits -----解决思路 : 查找等待的对象类型: 查找等待事件对应的SQL ,优化[@more@]Check the following V$SESSION_WAIT parameter columns:P1 - File IDP2 - Block IDP3 - Class ID10.3.2.1 CausesTo determine the possible causes, first query V$SESSION to identify the value of ROW_WAIT_OBJ# when the session waits for buffer busy waits. For example:SELECT row_wait_obj# FROM V$SESSION WHERE EVENT = 'buffer busy waits'; To identify the object and object type contended for, query DBA_OBJECT
linux oracle 10客户端连接oracle 9 数据库 慢
1. 检查网络是否正常 (网络正常)2.设置 sqlnet.ora 但是还是不能解决问题 : 最后查明是linux 下的设置了dns去掉 /etc/resolv.conf 下的内容 连接正常 [@more@]sqlplus mpaper/mpaper@mpaperSQL*Plus: Release 10.2.0.1.0 - Production on Thu Jun 4 11:14:42 2009Copyright (c) 1982, 2005, Oracle. All rights reserved.Connected to:Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit ProductionWith the Partitioning, OLAP and Oracle Data Mining optionsJServer Release 9.2.0.8.0 - Production没有去掉 /etc/res
临时表空间消除的方法
以下摘自 XZH2000 消除temp ts暴涨的方法[@more@]消除temp ts暴涨的方法关于消除temp ts暴涨的方法经常有人问temp表空间暴涨的问题,以及如何回收临时表空间,由于版本的不同,方法显然也多种多样,但这些方法显示是治标不治本的办法,只有深刻理解temp表空间快速增加的原因,才能从根本上解决temp ts的问题。是什么操作在使用temp ts?- 索引创建或重创建. - ORDER BY or GROUP BY - DISTINCT 操作. - UNION & INTERSECT & MINUS - Sort-Merge joins. - Analyze 操作- 有些异常将会引起temp暴涨所以,在处理以上操作时,dba需要加倍关注te
top sql 产生的原因
top sql 产生的原因[@more@]以下摘自 XZH2000 博客问到top sql一般是什么情况下产生的,不同的公司,dba参与项目的阶段不同,所以答案也就有所区别,一般来讲,top sql产生的阶段有:系统设计阶段(表结构设计),编码实现阶段(SQL编写),SQL审核优化阶段等,这样涉及到的人的因素就有:系统设计人员+开发人员+DBA,任何一个环节出了问题,就有可能出现top sql,所以一个项目,出了性能问题,并不一定是DBA的责任,但优秀的DBA,可以消除潜在的风险。产生top sql的原因,细化起来有以下原因:1 表结构设计的不合理2 索引创建不合理3 不必要
处理数据库慢的一般方法
以下在XZH2000 博客摘取如果不用分析工具如statspack等,如何快速找出原因?lcm_0090828给出自己常用的checklist:1. 检查表空间资源2. 归档是否正常(归档空间满时,会等待归档,之后用户进程就死掉了)3. 检查alert 信息4. 用vmstat, top命令看看系统i/o, cpu的繁忙程度,以及哪个进程在消耗资源,结合v$process, v$session, v$sqlarea 等视图查找出终端机器,以及其使用的sql 语句等。5. 有没有死锁6. 有时用户进程运行的程序会报错,就根据错误提示寻找根源及解决办法,可能是初始化参数设置不合理。[@more@]
sql 中单引号的表示
select 'execute DBMS_APPLY_ADM.DELETE_ERROR('||'local_transaction_id => ' || chr(39)||local_transaction_id ||chr(39) ||')'||';' from dba_apply_errorchr(39) -----'[@more@]
bulk collect 的使用
通常在SQL语句中给PL/SQL变量赋值叫做绑定(Binding),一次绑定一个完整的集合称为批量绑定(Bulk Binding)。批量绑定(Bulk binds)可以通过减少在PL/SQL和SQL引擎之间的上下文切换(context switches )提高了性能.批量绑定(Bulk binds)包括:(i) Input collections, use the FORALL statement,一般用来改善DML(INSERT、UPDATE和DELETE) 操作的性能(ii) Output collections, use BULK COLLECT clause,一般用来提高查询(SELECT)的性能FORALL的语法如下:FORALL index IN lower_bound..upper_bound sql_statement;具体的例子 [@more
ddl 数据库trigger 监控
1. 创建表 2. 创建trigger [@more@]-- Create tablecreate table DDL_LOG( USER_NAME VARCHAR2(30), DDL_DATE DATE, DDL_TYPE VARCHAR2(30), OBJECT_TYPE VARCHAR2(18), OWNER VARCHAR2(30), OBJECT_NAME VARCHAR2(128), IP_ADDRESS VARCHAR2(40), OSUSER VARCHAR2(30), TERMINAL VARCHAR2(30));CREATE OR REPLACE TRIGGER ddl_triggerAFTER DDLON DATABASEBEGIN INSERT INTO ddl_log (user_name, ddl_date, ddl_type, object_type, owner, object_name, ip_address,
跨平台 跨版本 大规模数据迁移
昨天在 pub 上看到一个问题,oracle 9i 如果600G 的资料库需要进行最短时间的跨平台(windows 到unix) 停机(12 小时)迁移,该如何进行数据迁移 ?请教了 biti 作了一下测试[@more@] prebuilt mv 做大表,小表直接 dblink insert ,数据库30分钟足够了利用prebuilt mv实现跨平台,跨版本数据迁移 该方法的实现原理是对于要迁移的表对象,需要有一个主键,用于mv的刷新,对于符合该要求的表,在源表上创建mv日志,再在目标数据库上创建结构一样的表,然后在目标表上采用prebuilt方式创建mv,第一次采用完全刷新,之后采用增量刷新,
imp导入数据,能不能让导进来的表名跟原来导出的表名不同,也就是换个新的表名呢
今天从网上看了一个问题 imp导入数据,能不能让导进来的表名跟原来导出的表名不同,也就是换个新的表名呢?imp system/system file=mydmp.dmp fromuser=myuser1 touser=myuser2 tables=(mytable1)这样能把dmp导出文件里面myuser1.mytable1导入到myuser2,但表名还是mytable1,能不能让导进来之后变为其他表名,比如mytable2?请各位高手指点,谢谢![@more@]借助synonym可以实现这个需求!比如原来有个schema: user_a,在user_a下有个表test先exp user_a的test表到dmp然后在user_a下建个表test_new,create table test_new as select * fr
oracle权限问题
oracle权限问题 [@more@]Warning: ocilogon() [function.ocilogon]: OCIEnvNlsCreate() failed. There is something wrong with your system - please check that ORACLE_HOME is set and points to the right directory in /u1/userweb/htdocs/index.shtml on line 2修改办法 : chmod -R +r product chmod -R +x product
oracle 在线日志文件都是 active或者current 的解决办法
oracle 在线日志文件都是 active或者current 的解决办法[@more@] oracle 在线日志文件都是 active或者current 的解决办法1. 在现有的硬件不能更换的情况下,减少commit 次数2. 增大log_buffer,redo 的大小,最大的一次,是有300m 增大到1g 3. 增加SQL> show parameter fastNAME TYPE VALUE------------------------------------ ----------- ------------------------------fast_start_io_target integer 0fast_start_mttr_target integer 900fast_st