自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我爱海

人可以没有才气,但一定要有勇气!

  • 博客(85)
  • 资源 (2)
  • 收藏
  • 关注

原创 个人闪回技术小结

概述:Flashback 技术在Oracle 10g中提供了更强大的功能。它包括了table level的Flashback Query, Flashback Version Query, Flashback Transaction Quey, Flashback Table and Flashback Drop 和database level的Flashback database。其中,Fl

2010-03-25 13:04:00 1654

原创 遭遇数据库自动关闭()

<br />日志显示:<br />Tue Dec 14 15:37:40 2010ITPUB个人空间QxL X W1s;_:~qV<br />Flush retried for xcb 0x2f5fc160, pmd 0x2f7a98e8ITPUB个人空间h,q-bvNb<br />Doing block recovery for file 2 block 145<br />3FZ+q5hG9@]Y21916216Block recovery from logseq 8, block

2010-12-15 10:39:00 4373

转载 ORA-1034 ORACLE not available

<br />前言 <br />  每一个DBA在进行数据库管理的过程中不可避免的要遇到形形色色的错误(ORA-xxxx)。有些错误由于频繁出现、原因复杂而被DBA们戏称之为"经典的错误"。其中ORA-3113 "end of fileon communication channel" 就是这样的一个. <br /><br />  我们可以简单的把这个错误理解为Oracle客户端进程和数据库后台进程连接中断。不过,导致这个错误的原因实际上有很多种,对数据库设置不当、任何能导致数据库后台进程崩溃的行 为都可能产

2010-12-14 13:03:00 14900

原创 重建控制文件引发的一系列ORA

<br />最近在做stream实验,主库stream1,从库stream2<br />我把主库安装好后直接拷贝到丛库中,才发现所有文件都是stream1,至此犯了一个错误<br /> <br />于是开始从参数文件开始修改,当mount状态的时候:<br />ORA-01503: CREATE CONTROLFILE failed<br />ORA-01161: database name STREAM1 in file header does not match given name of<br />S

2010-12-14 12:58:00 6132

原创 批量重建索引

<br />set   serveroutput   on   size   50000;<br />/*--<br />1、存储过程使用了dba视图,所以执行行时必须用sys账户进去执行exec tsioms.rebuildindex;<br />2、排除了带有大字段表索引情况<br />3、排除 “UNUSA“,”VALID“,已经索引高度和高水位情况<br />--*/<br />CREATE OR REPLACE PROCEDURE TSIOMS."REBUILDINDEX"<br />is<br

2010-11-15 16:24:00 1524

原创 rman迁移及异地恢复

<br />/u01/app/oracle/product/10.1/bin/rman target sys/sys123<br />一、在数据库没有改变的情况下<br />1、备份全库及控制文件<br />run {<br />  configure controlfile autobackup on;<br />  configure controlfile autobackup format for device type disk to '/opt/rmanbak/%F';<br />  alloc

2010-11-12 11:54:00 4408

原创 徽商银行迁移方案现场经历

环境说明 OS:hp unix 11.11 数据库:ORACLE 9.2迁移方案 1、概述 使用生产库的 rman 备份,在新存储上进行还原,再利用备份后的归档日志、联机日志进行恢复,最终达到数据的同步。 2、迁移前备份 1)rman备份数据库 rman target / backup database format '/backup/rman/full_%d_%T_%s' plus archivelog format '/backup/rman/arch_%d_%T_%s' delete all inpu

2010-10-22 14:10:00 1963

原创 索引原理

当我们创建索引时,oracle会为索引创建索引树,表和索引树通过rowid(伪列)来定位数据。当表里的数据发生更新时,oracle会自动维护索引树。但是在索引树中没有更新操作,只有删除和插入操作。例如在某表id列上创建索引,某表id列上有值“101”,当我将“101”更新为“110”时,oracle同时会来更新索引树,但是oracle先将索引树中的“101”标示为删除(实际并未删除,只是标示一下),然后再将“110”写到索引树中。如果表更新比较频繁,那么在索引中删除标示会越来越多,这时索引的查询效率必然降低

2010-10-09 17:15:00 839

转载 Oracle中捕获问题SQL解决CPU过渡消耗

<br />1.登陆数据库主机 <br /><br />  使用vmstat检查,发现CPU资源已经耗尽,大量任务位于运行队列: <br />bash-2.03$ vmstat 3 <br />procs memory page disk faults cpu <br />r b w swap free re mf pi po fr de sr s6 s9 s1 sd in sy cs us sy id <br />0 0 0 5504232 1464112 0 0 0 0 0 0 0 0 1 1 0 42

2010-08-29 15:36:00 1003

原创 绑定变量速度实验

<br />SQL>  create table m(x int);<br />SQL> create or replace procedure proc1<br />  2  as<br />  3  begin<br />  4  for i in 1..10000<br />  5  loop<br />  6  execute immediate<br />  7  'insert into m values(:x)'using i;<br />  8  end loop;<br />  9  en

2010-08-06 17:46:00 729

原创 归档日志定时删除

<br />以前写了一个 不知道被谁删除了 ,昨天又重复工作,今天记录下来备份省的下次重写<br />一、系统参数<br />hpux 16G内存、4核cpu<br />二、物理定时删除<br />contab -e<br />0 2 * * * find  /home/sxtsiomsArc -mtime +15 -exec rm -f {} /;<br />45 3  *  *  *  /oradata/scripts/delarchivelog.sh<br />三、逻辑删除<br />delarchi

2010-08-06 17:09:00 2820

原创 防火墙阻止监听引起ORA-12560错误

今天一哥们装数据库,让我帮配置监听,监听配置完成后,tnsping  正常,其它也没发现错误。(我装也不是一次两次了)。郁闷中。。。。。,后经过群里“从心开始”指点发现是防火墙问题,[root@sxtsiomsweb1 ~]# setup  关闭后正常。

2010-07-28 10:44:00 735

原创 大表插入

当需要对一个非常大的表update的时候,会消耗非常多的资源,因为update表的时候,oracle需要生成 redo log和undo log;此时最好的解决办法是用insert, 并且将表设置为nologging;当把表设为nologging后, 并且使用/*+ append*/的insert时,速度是最快的,这个时候oracle只会生成最低限度的必须的redo log,而没有一点undo信息。如果有可能将index也删除,重建1.alter table table_name nologging;2. 

2010-07-27 11:40:00 1390 2

转载 oracle数据库巡检优化-快速定位数据库瓶颈

<br />--数据库巡检或性能优化方法各异,但首要的是要发现数据库性能瓶颈,系统自带的statspack,或awr太耗时,<br />--以下是本人常用的方法,共享之<br />--1、查询数据库等待事件top10,关注前前几个等待事件,关注前三个等待事件是否有因果或关联关系<br />--oracle 9i<br />select t2.event,round(100*t2.time_waited/(t1.w1+t3.cpu),2) event_wait_percent  from (<br />SEL

2010-07-26 14:38:00 1639

转载 统计信息有误导致B-tree to Bitmap Conversions

<br />生产库cpu使用率增加,查看awr报告可见如下sql的cpu time较高:<br /> <br />条sql 的执行计划是一样的,查看其执行计划:<br />SQL> select child_number  from v$sql where sql_id='cdp2vwt31665p';                <br />CHILD_NUMBER<br />------------<br />           1<br />SQL> select * from table(dbm

2010-07-23 16:00:00 979 1

原创 ORA-00257 : archiver error. Connect internal only, until freed

〖环境(Environment)〗OS:LINUXDB:ORACLE10G〖现象(Symptom)〗以普通用户登录数据库时,报告错误:ORA-00257 : archiver error. Connect internal only, until freed。用ALTER SYSTEM ARCHIVE LOG CURRENT执行手工归档也不行。〖原理(Cause)   〗Step01:用ps -ef|grep oracle查看归档进程,归档进程运行正常。oracle  524    1 1 15:50:30

2010-07-21 12:19:00 1853

原创 Move all database objects from one tablespace to another

<br />Sometime is necessary to move all database objects from one tablespace to another.<br />Basically are tables, indexes and lobs.<br />This script permit move database objects from one user and/or tablespace to another:<br />1、此脚本只用于产生相应语句。<br />2、如果是同

2010-07-20 10:48:00 683

原创 ORA-01653 unable to extend table TSSA.PROFESSOR_TABLE by 8192 in tablespace TSSAPUB

SELECT UPPER(F.TABLESPACE_NAME) "表空间名",D.TOT_GROOTTE_MB "表空间大小(M)",D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') "使用比",F.TOTAL_BYTES "空闲空间(M)",F.MAX_BYTES "最大块(M)"FROM (SE

2010-07-19 10:14:00 5681 3

原创 一次行迁移记录的解决方案

<br />一、查找出有迁移记录的表(解决迁移记录后还是能查出此表,在处理的时候不可以根据这个来判断)<br />SELECT<br />    owner                               owner<br />  , table_name                          table_name<br />  , ''                                  partition_name<br />  , num_rows        

2010-07-14 16:59:00 928

原创 行迁移/行链接 参考资料二

迁移(row migration):由于在table的pctfree设置过小,在update这个table并使其行长增大的时候,就有可能因为块的剩余空间不够存储该行,oracle会把该行数据迁移到另外一个有足够空闲空间的block中,此即发生了行迁移;发生行迁移时,行rowid并不变,原先存储该行的地方增加了一个新的指针,该指针指向迁移后的block id,所以我们在访问发生了行迁移的行时,会要读取迁移前和迁移后的2个block,一个表如果有大量的行发生了row migration,那么就有必要查看该tab

2010-07-14 16:50:00 614

转载 行迁移/行链接 参考资料一

、行迁移/行链接的介绍在实际的工作中我们经常会碰到一些oracle数据库性能较低的问题,当然,引起oracle数据库性能较低的原因是多方面的,我们能够通过一些正确的设计和诊断来尽量的避免一些oracle数据库性能不好,row migration (行迁移) & row chaining (行链接)就是其中我们可以尽量避免的引起oracle数据库性能低下的潜在问题。通过合理的诊断行迁移/行链接,我们可以较大幅度上提高oracle数据库的性能。那究竟什么是行迁移/行链接呢,先让我们从oracle的block开始

2010-07-14 16:37:00 803

原创 做了表的空间迁移后,索引失效处理

<br />当对一大表做了ALTER TABLE xxx MOVE TABLESPACE xxx后<br /><br />发现索引不生效,为什么会这样的呢?该如何处理? <br /> <br />因为表的rowid 变了,重建一下不就好了,如下:<br /> <br />SQL> alter table F_CREDIT move tablespace HWM;<br /><br />Move一个表到另外一个表空间时,索引不会跟着一块move,而且会失效。(LOB类型例外)<br /><br />在创建失效

2010-07-13 10:54:00 2002

原创 long---clob转化

1、long--long 只能在server下进行copy from scott/tiger@lsj to lsj/lsj@sunserve create dept using select * from dept;2、long-clob 不用多说3、clob-clob 省略4、clob---longSQL>  declare  2  my_char varchar2(32000);  3  begin  4   for x in (select aa.id,aa.interior_id,aa.remark

2010-07-08 16:38:00 1354

原创 tns-12570错误解决

今天有哥们突然出现tns-12570,重建lis也不行。原来哥们用的是11G,11g 的 listener 写了一个日志该日志达到4G 重命名该文件后 重启lsnrctl就ok了

2010-07-05 11:58:00 1889

原创 物化视图学习笔记一

<br />add by htliu  -2009/10<br /><br />基本说明<br />create table t(key int primary key,val varchar2(50));<br />插入记录<br />select *  from t<br />1 1 a<br />2 2 b<br />3 3 c<br />----------<br />create view v as select * from t; <br />select  * from v;此时普通视图和表一

2010-07-02 15:19:00 796

原创 oracle job 定时调用过程应用

主要是利用job定时调用过程进行批量处理一些事物:PROTABLE表含有long字段 每次业务处理完要删除,速度很慢,后来通过置标志位解决,夜间再通过job删除,有效解决在业务繁忙期间删除慢的情况。联通现场数据job创建如下:(有时会出现next time 不准 需要通过客户端调节一下即可)-----建立SQL> variable joba number;SQL> begin  2  dbms_job.submit(:joba,'AUTO_DELETE_PROTABLE;',sysdate,'(sysdat

2010-06-30 13:35:00 1492

原创 批量分析日志

<br />有时需要大量分析日志,甚至上百个,如果一个个手动dbms_logmnr.add_logfile 无疑是一个很大工作量<br /> 于是写了存储过程进行批量分析<br />前提条件:sys用户建立<br />               日志序列连续<br />----------------------------------------------------<br />-- Export file for user SYS                       --<br />-- C

2010-06-30 13:23:00 742

原创 excel into oracle

<br />今天一哥们要导入客户信息,老是失败。我提供步骤如下:<br />1、首先建立表<br />2、将excel转换成csv格式<br />3、配置ctl配置文件如下:<br />load data <br />infile 'eosoperator.csv' <br />append into table eosoperator<br />fields terminated by "," optionally enclosed by "'"<br />trailing   nullcols  <br

2010-06-27 18:38:00 1186 1

原创 oracle静态监听和动态监听辨析

<br />以前也看过很多类似的文章 一直没有做过实验,最近在qq群里有人提出类似问题,于是照葫芦画瓢做了个实验,<br />关键步骤是需要修改SID和servicename ,例如我原来SID和servicename都是sxtsioms    后来分别改成instest和test重启数据库后发现sxtsioms和test都可以作为连接符,而且lister。org和tnsname。org内容并没有改变。<br />总之个人感觉是能用静态的最好不要用动态的毕竟修改sid也不是一件很有趣的事情<br /> <b

2010-06-26 11:11:00 1277

原创 rman现场备份策略

<br /> <br /><br />/u01/app/oracle/product/10.1/bin/rman target sys/sys123@sxtsioms   cmdfile=/opt/rmanbak/bakl0   log=/opt/rmanbak/bakl0.log append<br />/u01/app/oracle/product/10.1/bin/rman target sys/sys123@sxtsioms   cmdfile=/opt/rmanbak/bakl1   log=/o

2010-06-22 17:55:00 826

原创 imp到不同表空间

<br /> 用户tssa默认表空间是tssapub,现想迁移到tssapubnew<br />1、首先建立默认表空间为tssapubnew<br /> <br />2、<br />revoke unlimited tablespace  from TSSA;<br /> <br /> alter user tssa quota 0 on TSSAPUB;<br /><br />alter user tssa quota unlimited on TSSAPUBNEW;<br /> <br />发现导入数据

2010-06-21 14:58:00 796

原创 imp导入报错

导入时 dbf文件也需要oracle属组

2010-06-03 15:20:00 815

原创 impdp传输表空间错误小记 ORA-39083: Object type INDEX_STATISTICS failed to create with error:

<br />经常用expdp和impdp  但今天在论坛上看到哥们在讨论一个问题所以下先记录下了免得今后碰到:<br /> 狐狸(375394747)  15:28:07<br />impdp遇到错误 <br />狐狸(375394747)  15:28:49<br />报告<br />ORA-39083: Object type INDEX_STATISTICS failed to create with error:<br />ORA-01403: no data found<br />ORA-0140

2010-06-02 16:02:00 8828 1

原创 分区表、分区索引和全局索引部分总结

<br />在一个表的数据超过过2000万条或占用2G空间时,建议建立分区表。<br /><br />create table ta(c1 int,c2 varchar2(16),c3 varchar2(64),c4 int constraint pk_ta primary key (c1)) partition by range(c1)(partition p1 values less than (10000000),partition p2 values less than (20000000),par

2010-06-01 10:32:00 710

原创 Oracle表分区学习笔记

Oracle表分区学习笔记<br /><br />Oracle表分区<br />自从oracle8i 开始可以把一个表分割为多个小的部分,这样可以对oracle的性能优化带来很大的好处~<br />例如:改善表的查询性能,更加容易管理表数据,备份和恢复操作更方便<br />在oracle 中分区表 分为好几种的(范围分区,散列分区,子分区,列表分区,索引分区)下面我们来慢慢介绍<br />现在我们来建立一个[范围分区]<br /><br /><br />create table range_test (ra

2010-06-01 10:31:00 594

原创 分区表概述

<br />19/08/2005 09:25 FP 分区表PARTITION table,以及把已存在数据的表转为分区表。<br />http://xsb.itpub.net/post/419/384861.1分区表PARTITION table<br />在ORACLE里如果遇到特别大的表,可以使用分区的表来改变其应用程序的性能。1.1.1分区表的建立:<br />某公司的每年产生巨大的销售记录,DBA向公司建议每季度的数据放在一个分区内,以下示范的是该公司1999年的数据(假设每月产生30M的数据),操

2010-06-01 10:29:00 568

原创 Oracle 分区表(Partition)

<br />看示例库的时候,发现有一些表的DDL不仅有Column部分,还有很多Partition部分,不理解什么意思。于是搜索了一下,发现原来是Oracle的一个Feature。 以下是参考资料:(可以结合示例库中的SH下的一些表学习)<br />Oracle提供了分区技术以支持VLDB(Very Large DataBase)。分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中。分区完全对应用透明。 <br /><br />Oracle的分区表可以包括多个分区,每个分区都是一个独立的段(SE

2010-06-01 10:28:00 721

原创 组合分区表的创建及其表空间的存储位置

oracle只支持两种组合分区表:range-list和range-hash组合分区表。我们测试一下创建方法,以及组合分区表中的 表、分区、子分区 的表空间如何存储:--1.创建range-hash组合分区表testrhp1<br />SQL> create table testrhp1( a number(5), b varchar2(10) )<br />  2  partition by range(a)<br />  3  subpartition by hash(b) subpartitions

2010-06-01 10:26:00 1327

原创 分区表分区字段的update操作

<br />默认情况下,oracle的分区表对于分区字段是不允许进行update操作的,如果有对分区字段行进update,就会报错——ORA-14402: 更新分区关键字列将导致分区的更改。但是可以通过打开表的row movement属性来允许对分区字段的update操作。<br /><br />例:创建分区表test_part进行实验<br /><br />create table TEST_PART<br />(<br />  A1 NUMBERnot null,<br />  A2 DATE     

2010-06-01 10:24:00 9803

原创 分区表

分区表分区表是将大表的数据分成称为分区的许多小的子集,9i提供四种分区方法:范围分区,列表分区,哈希分区和混合分区;<br />· 范围分区是根椐分区键的不同取值范围来划分子集的,关键字RANGE, VALUES LESS THAN;<br />· 列表分区是根椐分区键的一些离散的取值来划分子集的,关键字LIST, VALUES;<br />· 哈希分区是应用哈希算法将分区键对应到某个子集中去,关键字HASH, PARTITIONS;<br />· 混合分区只能有两层,第一层是范围分区,第二层可以是列表分区

2010-06-01 10:23:00 610

oracle考试,ocp考试及笔记

ocp考题精选,很好的一部书.很值得大家学习oracle

2009-08-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除