临时表空间损坏——两个处理方式
1:在受损的临时表空间内添加一个临时文件2:将受损的临时文件脱机3:删除受损的临时文件另外一个方法:1:创建一个新的临时表空间2:通过alter database 命令将用户切换到这个新的临时表空间。SQL> shutdown immediate;数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。SQL> startupORACLE 例程已经启动。Total System Global Area 135338868 bytesFixed Size 453492 bytesVariable Size 109051904 bytesDatabase Buffers 25165824 bytesRedo Buffers 667648 byte
数据文件的损坏恢复过程
create tablespace pengpeng2datafile '/oracle/oradata/mis/pengpeng02.dbf' size 10m;create table test_3(peng int)tablespace pengpeng2;insert into test_3 values(1);insert into test_3 values(2);insert into test_3 values(3);commit;alter system switch logfile;alter system checkpoint;select file#, name from v$datafile;rman>connect target /rman>backup datafile 30RMAN> backup datafile 30;Starting backup at 25-MAR-11using target database controlfile instead of recovery catalogallocated channel
rman catalog创建步骤
1.新建RMAN恢复目录数据库(实例=rman).第一步,在目录数据库中创建恢复目录所用表空间:create tablespace rman_tar datafile '/oracle/oradata/rman/rman_tar.dbf' size 20M;第二步,在目录数据库中创建RMAN 用户并授权:create user rman identified by rman default tablespace rman_tar;grant recovery_catalog_owner to rman;grant connect to rman;grant resource to rman;第三步,在目录数据库中创建恢复目录$rman catalog rman/rman如果未安装恢复目录 (执行)create catalog tablespace rman_tar;2.注册目标数据库第一步:启动恢复
oracle官方文档介绍
oracle官方文档介绍 原则:凡是Reference相关的文档都无需精读,碰到问题时速查即可1.ORACLE新功能 Oracle Database New Features Guide每次新版本的ORACLE RELEASE以后,看一下《Oracle Database New Features Guide》,以了解一下最新的FEATURE,此文档可以粗略地阅读,不需精读。2.ORACLE,RDBMS的概念及体系结构 Oracle Database Concepts入门级,系统级地读物。如果你想了解ORACLE的相关概念和体系结构,《Oracle Database Concepts》是不错的文档。另外,从这个文档中,你可以了解到其它的文档中提及的名词和概念
9个重要的动态视图
v$session + v$session_wait (在10g里功能被整合,凑合算1个吧.)v$processv$sqlv$sqltextv$bh (更宁愿是x$bh)v$lockv$latch_childrenv$sysstatv$system_event[@more@]
7*24大型和小型数据库备份策略
原则:1:小型数据库 每天在线全备份2:大型数据库 每周末进行一次完全在线全备份,而平时进行增量在线备份3:超大型数据库 经常需要轮换备份计划,使得每晚备份一个或一组表空间。这样也许要几天才能得到一个完整的备份。从而可以缩短每晚备份的时间。4:活动表空间 若没写表空间活动性很强,应定位这些表空间并经常对其备份。5:不可恢复的操作对数据库执行不可恢复的操作时候,应进行完全脱机备份。若无法保证这一点,就应该 避免执行不可恢复的操作。6:归档日志 备份归档日志,防止归档日志损坏。[@more@]
redo undo区别
1:redo.logredo log (重做日志):记录数据块的变化。生成的日志记录,保存在log buffer,在通过LGWR写入日志文件。系统出现故障时重做已经提交的事务(rolling-forward)并回滚未提交的事务(rolling-back)2:undo undo 用于撤销数据,比如insert into 以后可以delete 就用到撤销段undo 其实就是还没有commit事务的数据镜像;当事务提交以后,undo就没有此脏数据了,DBWR就把此脏数据写入数据文件了。undo_management=auto[@more@]
闪回查询表:一个小时以前的数据
闪回查询表命令: select *from PENG2as of timestamp(SYSTIMESTAMP-INTERVAL '1' hour)[@more@]
RMAN做数据迁移(一)
利用RMAN做数据迁移 由于数据库数据量大(1TB左右),数据库采用的是裸设备。而且原有的存储无法扩容,数据库正常运行必须将数据文件必须迁移至新的存储设备上(主机不变)。 1.新建RMAN恢复目录数据库(实例=rman). 第一步,在目录数据库中创建恢复目录所用表空间: create tablespace rman_tar datafile '/oracle/oradata/rman/rman_tar.dbf' size 20M; 第二步,在目录数据库中创建RMAN 用户并授权: create user rman identified by rman default tablespace rman_tar; grant recovery_catalog_owner to rman;
ORA-27300 ORA-27301 ORA-27302
http://blog.csdn.net/aicon/archive/2009/11/26/4877826.aspx[@more@]
ORA-01078: 处理系统参数失败
SQL> startup nomount pfile='c:pfile.ora';ORA-00119: invalid specification for system parameter LOCAL_LISTENERORA-00132: syntax error or unresolved network name 'LISTENER2TEST'ORA-01078: 处理系统参数失败解决方法如下:改pfile文件中参数*.local_listener修改之前:*.local_listener='LISTENER_TEST'修改之后:*.local_listener='LISTENER2TEST'改为这个值是参考listener.ora文件中的配置信息:SID_LIST_LISTENER2TEST = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = f:oracleproduct1
物理方式下建立oracle data guard 收藏(1-12)
物理方式下建立oracle data guard 收藏 物理方式下建立oracle data guard(一):前奏前后折腾了一个星期左右时间,把物理方式下建立ORACLE data guard配好了,同事帮了不少忙,在此表示感谢。在这个过程中遇到了很多问题,有的问题很浅显,一下就解决了;有的问题是因为粗心引起的,比如说在服务器参数文件里面少写了一点,结果花很长时间来排错;有的问题第一次碰到,解决了之后很兴奋,因为又积累了经验,就像上次配置HP MC双机的时候碰到的那个问题,之前从未碰到过,这样折腾一下倒还认识了kcmodule这么样一个命令,附带一些不同的内
全面学习分区表及分区索引(10)--交换分区
全面学习分区表及分区索引(10)--交换分区 直白的说就是迁移数据。迁移数据的方式很多,为什么要使用exchange partition的方式呢Exchange partition提供了一种方式,让你在表与表或分区与分区之间迁移数据,注意不是将表转换成分区或非分区的形式,而仅只是迁移表中数据(互相迁移),由于其号称是采用了更改数据字典的方式,因此效率最高(几乎不涉及io操作)。Exchange partition适用于所有分区格式,你可以将数据从分区表迁移到非分区表,也可以从非分区表迁移至分区表,或者从hash partition到range partition诸如此类吧。其语法很简单:al
查找没有使用绑定变量SQL语句
select * from v$latchname where name like 'library cache%'在分析系统性能时,如果看到有library cache这样的Latch争用,就可以断定是共享池中出现了问题,这种问题基本上是由SQL语句导致的,比如没有绑定变量或者一些存储过程被反复分析。SQL> select * from v$latchname where name like 'library cache%'; LATCH# NAME---------- ---------------------------------------------------------------- 157 library cache 158 library cache pin 159 library cache pin allocation 160 library cache lo
linux/unxi LOGMNR安装说明
晚上很多介绍是windows下如何使用LOGMNR,很少linux.我在linux下安装logmnr做个说明安装两个包 dbmslm.sql dbmslmd.sqlSQL> conn sys/pt500416@mistest as sysdba;Connected.SQL> @dbmslm.sqlPackage created.Grant succeeded.SQL> @dbmslmd.sqlProcedure created.No errors.Grant succeeded.PL/SQL procedure successfully completed.Package created.SQL> show parameter utlNAME TYPE VALUE------------------------------------ ----------- ------------------------------utl_f
logminer 分析redo log 工具
一、LogMiner的用途日志文件中存放着所有进行数据库恢复的数据,记录了针对数据库结构的每一个变化,也就是对数据库操作的所有DML语句。在Oracle 8i之前,Oracle没有提供任何协助数据库管理员来读取和解释重作日志文件内容的工具。系统出现问题,对于一个普通的数据管理员来讲,唯一可以作的工作就是将所有的log文件打包,然后发给Oracle公司的技术支持,然后静静地等待Oracle 公司技术支持给我们最后的答案。然而从8i以后,Oracle提供了这样一个强有力的工具-LogMiner。LogMiner 工具即可以用来分析在线,也可以用来分析离线日志文件,即
$sqlarea,v$sql 查找消耗资源的SQL
$sqlarea,v$sql-----------------------从V$SQLAREA中查询最占用资源的查询select b.username username,a.disk_reads reads, a.executions exec,a.disk_reads/decode(a.executions,0,1,a.executions) rds_exec_ratio, a.sql_text Statementfrom v$sqlarea a,dba_users bwhere a.parsing_user_id=b.user_id and a.disk_reads > 100000order by a.disk_reads desc;用buffer_gets列来替换disk_reads列可以得到占用最多内存的sql语句的相关信息。 V$SQL是内存共享SQL区域中已经解析的SQL语句。列出使用频率最高的5个查询:select sq
dba_tables.blocks V$ dba_segments.blocks
dba_tables.blocks V$ dba_segments.blocks 1:表的分析统计信息不全,导致dba_tables信息出错。SQL> select count(*) from TESTSIZE; COUNT(*)---------- 584576SQL> select table_name,blocks,empty_blocks from dba_tables where owner='HXG';TABLE_NAME BLOCKS EMPTY_BLOCKS------------------------------ ---------- ------------TESTSIZE SQL> BLOCKS,EMPTY_BLOCKS居然都是空值!SQL> select segment_name,blocks from dba_segments where own
oracle分布式事务总结 oracle分布式事务总结(转)
oracle分布式事务总结 oracle分布式事务总结(转) 2008-09-18 17:47 基本概念 Local Coordinator:在分布事务中,必须参考其它节点上的数据才能完成自己这部分操作的站点。 Global Coordinator:分布事务的发起者,负责协调这个分布事务。 Commit Point Site:在分布事务中,首先执行COMMIT或ROLLBACK操作的站点。一般情况下,应该把存储关键数据的站点作为Commit Point Site。因为Commit Point Site和其它站点不一样,从来不会进入prepared状态,所以不会存在IN-DOUBT事务。 可以设置初始化参数COMMIT_POINT_STRENGTH,在分布式事务中,
ORA-60死锁解决
在一个数据库的警告日志中发现产生大量的ORA-60死锁报错,并导致了udump下产生了大量的trace文件。导致/app文件系统迅速增长。分析警告日志,和死锁产生的trace文件。 警告日志节选Tue Feb 9 14:19:13 2010ORA-00060: Deadlock detected. More info in file /app/oracle/admin/NMPR1/udump/nmpr1_ora_4366.trc.Tue Feb 9 14:19:13 2010ORA-00060: Deadlock detected. More info in file /app/oracle/admin/NMPR1/udump/nmpr1_ora_4366.trc. trace 文件节选如下:Deadlock graph: ---------Blocker(s)-------- --