随笔分类 - ORACLE
一个隐式转换引发的执行计划错误
摘要:查看awr报告过程发现一个隐式转换导致的索引失效问题,做做记录awr中语句实际消耗大40多w逻辑读代入变量后测试很快SQL> SELECT a.order_prod_amount, b.prod_cost_price FROM user_sess a, PR_DO_T b WHERE a.prod_id = b.prod_id AND a.order_no = '125924325287';Elapsed: 00:00:00.00Execution Plan----------------------------------------------------------
阅读全文
oracle丢失temp表空间处理
摘要:之前有做临时表空间的切换,切换后没drop tablespace就删除了temp01.dbf结果排序跟查dba_temp_files报错SQL> select tablespace_name,file_id,file_name,bytes/1024/1024 Mbytes from dba_temp_files;select tablespace_name,file_id,file_name,bytes/1024/1024 Mbytes from dba_temp_files ...
阅读全文
delete大批量数据引起空间爆满处理
摘要:前一天晚上做大表删除操作测试,分段删除,没删除100000条commit一次,由于存储过程打印了执行时间中途断网,无法看到执行时间于是直接kill了任务结果早上登录测试数据库发现空间爆满然后一时糊涂去弄了表的shrink跟dbms_stats.gather_table_stats想着收缩表释放空间弄到一半突然想起,表的收缩最多是释放表空间的空闲空间,并非系统空间后来想想,大量删除反复操作过程引发了undo的扩展,后来检查表空间后确实如此最后在线更换undo tablespace后删除原tablespace后恢复附上存储过程 create or replace procedure delete_
阅读全文
大表建立索引引发enq: TX - row lock contention等待
摘要:今天要给一张日志表(6000w数据)建立索引,导致生产系统行锁部分功能卡住create index idx_tb_cid on tb_login_log(user_id);开始执行后大概花费了20分钟中途功能卡住无法使用SQL> select sid,event from v$session_wait where event='enq: TX - row lock contention'; SID EVENT---------- ---------------------------------------------------------------- 2 en...
阅读全文
oracle导出数据到文本、从文本导入数据
摘要:经常有需求向表中导入大量的数据,使用insert不靠谱,太慢oracle提供了sqlldr的工具也有时需要讲数据导入到文本,oracle的spool可以轻松实现方便的实现oracle导出数据到txt、txt导入数据到oracle一、导出数据到txt这里用all_objects表做测试SQL> desc all_objects; Name Null? Type ----------------------------------------- -------- ----------------------------...
阅读全文
详细学习ORACLE JOBS
摘要:一点一点学习jobs的各个方面比较长,比较烦,但是应该看完后会对jobs比较好的应用一、学习准备开始dbms_job学习前,先认识一个参数job_queue_processesa、job_queue_processes参数决定了job作业能够使用的总进程数。b、当该参数为0值,任何job都不会被执行,建议合理设置该值且至少大于1。c、对于job运行时间也应该尽量合理的设置间隔以及启动时间。d、如果同一时间内运行的Job数很多,过小的参数值导致job不得不进行等待。而过大的参数值则消耗更多的系统资源。f、对于存在依赖关系的job,尽可能将其进行合并到一个job中,如使用chain等。想细致了解的
阅读全文
ORACLE创建、增加分区及每月自动创建新分区表存储过程
摘要:创建分区表create table pdba (id number, ctime date) partition by range (ctime)(partition PD_201303 values less than (to_date('2013-04-1', 'yyyy-mm-dd')),partition PD_201304 values less than (to_date('2013-05-1', 'yyyy-mm-dd')),partition PD_201305 values less than (to_date(
阅读全文
不同用户、表空间导表
摘要:首先,我们在一个常用的数据库用户里导出数据该用户只具有基本的CONNECT,RESOURCE角色再创建一张测试表,并导出[oracle@centos5 ~]$ sqlplus imptest/imptestSQL*Plus: Release 10.2.0.4.0 - Production on Thu May 30 15:26:51 2013Copyright (c) 1982, 2007, Oracle. All Rights Reserved.Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - .
阅读全文
ORACLE分区索引学习
摘要:全局索引(global)、本地索引(local)1.1 local索引(局部索引)1.1.1 local索引仅适用于分区表,如果在未做分区的表上尝试建立local索引将报错SQL> create table npart_local as select * from all_objects;Table created.SQL> create index idx_npart_local_oid on npart_local(object_id) local;create index idx_npart_local_oid on npart_local(object_id) local
阅读全文
ORACLE普通用户开启AUTOTRACE功能
摘要:需要做执行计划分析,新服务器上执行autotrace提示要确认PLUSTRACE角色是否存在SQL> connect osa_test/osa_testConnected.SQL> set autotrace traceonlySP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabledSP2-0611: Error enabling STATISTICS report尝试给用户赋予权限:SQL> connect / as sysdbaConnected.SQL> grant
阅读全文
ORACLE用户、角色、权限
摘要:用了ORACLE很久,但对用户、角色、权限还是很模糊,认真看书,查资料整理文档,做下记录,希望从日常使用的角度去看ORACLE的用户、角色与权限理论性的知识再此省略,建议还是翻翻书透彻点开工!先放一张图,可以跳过图,读完文章再回头看看图说明:双箭头表示用户与角色查那张表,单虚线箭头表示包含关系,角色除了系统自带的dba_roles里定义的以外还可以自己创建定义正式开工:创建一个表空间,命名为ts_urp指定空间为100M创建一个用户urp密码urp,默认表空间ts_urp,临时表空间为tempSQL> create user urp identified by urp default t
阅读全文
oracle b-tree、位图索引测试
摘要:引言:大家都知道“效率”是数据库中非常重要的一个指标,如何提高效率大家可能都会想起索引,但索引又这么多种,什么场合应该使用什么索引呢?哪种索引可以提高我们的效率,哪种索引可以让我们的效率大大降低(有时还不如全表扫描性能好)下面要讲的“索引”如何成为我们的利器而不是灾难!多说一点,由于不同索引的存储结构不同,所以应用在不同组织结构的数据上,本篇文章重点就是:理解不同的技术都适合在什么地方应用!B-Tree索引场合:非常适合数据重复度低的字段 例如 身份证号码 手机号码 QQ号等字段,常用于主键 唯一约束,一般在在线交易的项目中用到的多些。原理:一个键值对应一行(rowid) 格式: 【索引头|键
阅读全文
oracle外键约束学习
摘要:一、准备知识约束放置在表中,有以下五种约束: NOT NULL 非空约束C 指定的列不允许为空值 UNIQUE 唯一约束U 指定的列中没有重复值,或该表中每一个值或者每一组值都将是唯一的 PRIMARY KEY 主键约束P 唯一的标识出表的每一行,且不允许空值值,一个表只能有一个主键约束 FOREIGN KEY 外键约束R 一个表中的列引用了其它表中的列,使得存在依赖关系,可以指向引用自身的列 CHECK 条件约束C 指定该列是否满足某个条件约束命名规则 如果不指定约束名Oracle server 自动按照SYS_Cn 的格式指定约束名,也可手动指定, 推荐的约束命名是:约束类型_表名_列名。
阅读全文
dict数据字典表-忘记数据字典表也没关系
摘要:经常因为忘记数据字典表名而烦恼死记硬背太麻烦只要记得dict这个字典表即可:SQL> desc dict; Name Null? Type ----------------------------------------- -------- ---------------------------- TABLE_NAME VARCHAR2(30) COMMENTS ...
阅读全文
Oracle Silent Install 静默安装
摘要:一、安装必要的包yum install compat-gcc-34 compat-gcc-34-c++ compat-libstdc++-33 gcc gcc-c++ glibc-devel libstdc++-devel sysstat libXp二、修改Linux发行版本信息[root@centos5 oracle]# vi /etc/redhat-release#CentOS release 5.8 (Final)Red Hat Enterprise Linux AS release 4 (Nahant Update 4)三、修改系统设置及内核参数vi /etc/sysctl.confk
阅读全文
dbms_metadata.get_ddl学习
摘要:dbms_metadata一些用途测试学习查看建立表空间语句SQL> set head offSQL> set pages 0SQL> set long 9999999SQL> select dbms_metadata.get_ddl('TABLESPACE','TEST') from dual; CREATE TABLESPACE "TEST" DATAFILE '/home/oracle/TEST/TEST.dbf' SIZE 52428800 LOGGING ONLINE PERMANENT BL
阅读全文
ORACLE在线重定义--将普通表转化为分区表
摘要:10gR2需要将一个普通表转为按月分区提高查询效率测试如下:一、建立测试表SQL> CREATE TABLE T(ID NUMBER ,TIME DATE);Table created.SQL> DESC T; Name Null? Type ----------------------------------------- -------- ---------------------------- ID NUMBER ...
阅读全文
ORA-279 standby指定时间恢复时遇到报错解决
摘要:环境 rac+双standbystandbystandby2按时间恢复报找不到归档Media Recovery Log /home/oracle/oradata/rac/archive/3_59241_681301512.arcErrors with log /home/oracle/oradata/rac/archive/3_59241_681301512.arcORA-279 signalled during: alter database recover automatic standby database until time '2013-04-26 00:00:59'
阅读全文
浙公网安备 33010602011771号