
oracle
文章平均质量分 73
olnathen
欢迎大家加我QQ
展开
-
oracle之密码文件
Oracle 密码文件 --==============================-- Oracle 密码文件一、密码文件 作用:主要进行DBA权限的身份认证 DBA用户:具有sysdba,sysoper权限的用户被称为dba用户。默认情况下sysdba角色中存在sys用户,sysoper角色中存在system用户 二、Oracle的两种认证方式;原创 2013-02-20 17:46:23 · 2194 阅读 · 0 评论 -
oracle exchange partition索引失效问题
Exchange partition提供了一种方式,让你在表与表或分区与分区之间迁移数据,注意不是将表转换成分区或非分区的形式,而仅只是迁移表中数据(互相迁移),由于其号称是采用了更改数据字典的方式,因此效率最高(几乎不涉及io操作)。Exchange partition适用于所有分区格式,你可以将数据从分区表迁移到非分区表,也可以从非分区表迁移至分区表,但不支持range partition 和原创 2013-04-15 17:56:05 · 1402 阅读 · 0 评论 -
Oracle分区表drop和truncate partition索引失效问题
DBA的维护管理中,索引失效是一常见的问题,比如move、ctas、交换分区等都会造成索引的失效,以下实验是验证drop partition、truncate partition分区对本地索引和全局索引的影响,在平常中,truncate table表是不会对索引失效的。基础环境SQL> create table ou_part (a integer) 2 partition by原创 2013-04-22 16:31:09 · 3510 阅读 · 0 评论 -
oracle在线重定义
oracle自9i开始提供了一个在线重定义的功能,能在线完成对一个表结构或存储的重定义,并且不影响当前应用的使用,是oracle高可用的一个很有用的特性。在线重定义存在两种定义方法,一种是基于主键,另外一种是基于ORWID。ROWID的方式不能用于索引组织表,而且重定义后会增加一隐藏列M_ROW$$,重建之后需要手动删除该列。一般默认采用主键的方式。在线重定义步骤1、调用dbms_re原创 2013-04-15 15:54:08 · 547 阅读 · 0 评论 -
位图索引
B*树索引和Bitmap索引Bitmap索引在索引块中主要存储的是键值和起止ROWID,以及这些键值的位置编码,位置编码中的每一位表示对应数据行的有无,0表示不存在,1表示存在。这种存在方式相对B*树索引来说存储空间小,访问效率高,存储快。建立Bitmap索引的条件:多个列选择、键值distinct后值少,Bitmap索引主要应用于OLAP系统中,而OLTP系统由于存在大量的高并发访问原创 2013-04-15 10:59:59 · 103 阅读 · 0 评论 -
深入了解B*树索引50-50坼分和90-10坼分
Oracle的B*树索引在Dml操作时,会对索引的平衡树进行坼分或修改动作。典型的索引坼分有50-50坼分和90-10坼分,90-10坼分亦可称为99-01坼分。90-10坼分:指的是新插入的键值是最大值,或者修改某键值为最大值时,当当前最大的索引块不存在剩余空间时,Oracle会新增一个索引块,将新的最大值插入到新的索引块中,但不会存在50-50坼分的数据迁移过程。以下是90-10坼分的定义原创 2013-04-20 10:42:10 · 743 阅读 · 0 评论 -
Insert给索引带来的开销问题
验证insert 给索引带来的开销问题--1、构造一个表--2、插入表500W的数据--3、创建索引usernumber列的索引--4、insert 1000数据,记录时间--5、删除索引,创建inserttime列的索引--6、insert 1000数据,记录时间,跟4的时间做对比SQL> create table big_table as 1 select原创 2013-04-18 14:19:01 · 443 阅读 · 0 评论 -
no_unnest,push_subq,push_pred的用法
作者: guyuanli(http://guyuanli.itpub.net) 出处:http://guyuanli.itpub.net/post/37743/504406--------------------------------------------------------------- 常常有人把这三个hint搞混,主要是因为对三种重写原理不清楚。特总结如下。(实验环境转载 2013-05-08 17:21:27 · 380 阅读 · 0 评论 -
sqlplus copy(复制大批量数据(long类型))
使用sqlplus Copy 命令从远程数据库读取数据.需要从9个地市的计费数据库中读取一些表,存储到运营分析系统中.有几个表数据量超过1亿条.对于这么大的数据量,如果用create table as select 或者使用cursor的话,对回滚段的压力肯定非常大.经过同事提示,想到了sqlplus的copy命令.connect ods/odsset time转载 2013-06-18 18:07:42 · 563 阅读 · 0 评论 -
virtual index、unusable index、invisiable index的区别
一、virtual index 、unusable index、invisiable index定义 oracle11g后,index又推出了一个新的特性invisiable,invisiable表示不可见。在oracle11g之前,index有一个这样的特性unusable,unusable表示不可用。 unusable index表示该索引停止使用,所占资源不会继续增长,随原创 2013-07-25 15:18:16 · 815 阅读 · 0 评论 -
oracle 虚拟索引
虚拟索引 虚拟索引(virtual index)是指没有创建对应的物理实体的索引。虚拟索引的目的,是在不必耗cpu,耗IO以及消耗大量存储空间去实际创建索引的情况,来判断一个索引是否能够对sql优化起到作用。例如下面一个查询SQL> create table tt as select OWNER,OBJECT_NAME,OBJECT_ID from dba_objects;表已创转载 2013-07-25 15:22:21 · 839 阅读 · 0 评论 -
查找行迁移及消除行迁移(chained rows)
一、概述: 如果你的Oracle数据库性能低下,行链接和行迁移可能是其中的原因之一。我们能够通过合理的设计或调整数据库来阻止这个现象。 行链接和行迁移是能够被避免的两个潜在性问题。我们可以通过合理的调整来提高数据库性能。本文主要描述的是: 什么是行迁移与行链接 如何判断行迁移与行链接 如何避免行迁移与行链接 当使用索引读取单行时,行迁移影响O转载 2013-09-22 17:22:55 · 508 阅读 · 0 评论 -
Oracle优化器介绍
Oracle优化器介绍Oracle优化器介绍 本文讲述了Oracle优化器的概念、工作原理和使用方法,兼顾了Oracle8i、9i以及最新的10g三个版本。理解本文将有助于您更好的更有效的进行SQL优化工作。RBO优化器 RBO是一种基于规则的优化器,随着CBO优化器的逐步发展和完善,在最新的10g版本中Oracle已经彻底废除了RBO。正在使用Oracle8i转载 2013-10-12 18:03:54 · 447 阅读 · 0 评论 -
oracle hint
hint 是Oracle 提供的一种SQL语法,它允许用户在SQL语句中插入相关的语法,从而影响SQL的执行方式。因为Hint的特殊作用,所以对于开发人员不应该在代码中使用它,Hint 更像是Oracle提供给DBA用来分析问题的工具 。在SQL代码中使用Hint,可能导致非常严重的后果,因为数据库的数据是变化的,在某一时刻使用这个执行计划是最优的,在另一个时刻,却可能很差,这也是CBO 取代转载 2013-10-14 17:34:25 · 476 阅读 · 0 评论 -
dbms_job的解析
1.确保Oracle的工作模式允许启动任务队列管理器 Oracle定时执行“Job Queue”的后台程序是SNP进程,而要启动SNP进程,首先要确保整个系统的模式是可以启动SNP进程的,这需要以DBA的身份去执行如下命令:svrmgrl> alter system enable restricted session; 或sql> alter system disenable re转载 2013-10-15 17:33:23 · 532 阅读 · 0 评论 -
oracle性能调优之--Oracle硬解析与软解析
oracle性能调优之--Oracle硬解析与软解析 Oracle 硬解析与软解析是我们经常遇到的问题,什么情况会产生硬解析,什么情况产生软解析,又当如何避免硬解析?下面的描述将给出 软硬解析的产生,以及硬解析的弊端和如何避免硬解析的产生。 一、SQL语句的执行过程 当发布一条SQL或PL/SQL命令时,Oracle会自动寻找该命令是否存在于共享池中来决定对当前的语句使用硬转载 2013-10-15 17:22:03 · 547 阅读 · 0 评论 -
DBMS_SCHEDULER的详细介绍
DBMS_SCHEDULER是Oracle 10G中新增的一个包, 在10g以前使用的是dbms_job包,现DBMS_SCHEDULER包比dbms_job更加强大,oracle已开始用其替代久的job。下面详细介绍其功能:1. 创建jobjob是什么呢? 简单的说就是计划(schedule)加上任务说明. 另外还有一些必须的参数.这里提到的"任务"可以是数据库内部的存储过转载 2013-10-16 11:23:24 · 569 阅读 · 0 评论 -
No_expand hint 解决CBO针对where...or..语句中的cardinality计算问题
在where...or..语句中,CBO在计算关联cardinality数量中,会产生计算的偏差,从而造成语句效率低下,通常我们解决的办法: 1、重写SQL语句 2、加no_expand hint 以下是从原理上分析CBO造成计算cardinality错误的原因。 1、创建测试脚本SQL>execute dbms_rando转载 2013-10-16 17:41:37 · 740 阅读 · 0 评论 -
oracle10g登录em后,提示“java.lang.Exception: Exception in sending Request :: null”
出现错误时登录企业管理器时出现的界面出现这种错误一般是因为没有设置时区,一般默认的是agentTZRegion=GMT,也就是GMT。所以大家只要设置了这个东西,然后重新启动dbconsole就可以了。下面是设置以及重新启动dbconsole的全过程。第一步,在Oracle安装目录中找打这个文件emd.properties(以往大家都是找不到这个文件在哪里),D:\orac转载 2013-04-07 18:26:55 · 392 阅读 · 0 评论 -
Oracle区分参数是动态、静态
目录(?)[+]Oracle区分参数是动态静态oracle参数文件概述Pfile文件Spfile文件参数文件启动顺序Spfile和Pfile文件比较查看数据库以什么文件启动pfile和spfile相互转换Oracle 参数修改Oracle 参数分类Oracle 参数变更生效范围转载http://blog.youkuaiyun.com/java3344520/ar转载 2013-03-15 10:07:23 · 1861 阅读 · 0 评论 -
oracle之Flashback table
1、Flashback table是指闪回table对象到某一位置,主要用于恢复数据,它是通过undo tablespace来实现数据的回退功能,命令如下:SQL>flashback table table_name to scn|timestamp 针对flashback table,table有一参数row movement,当启动闪回,则需设置为enable,反之设置为disable原创 2013-02-20 17:57:04 · 323 阅读 · 0 评论 -
oracle之Flashback query
flashback query是自oracle 9i开始的一种新特性,通过flashback query可以查看回滚段中一定时间内的数据,可以用来数据的对比,同时也可以修复由于意外提交的错误数据。flashback query的查询是在标准查询语句的表名后面加上as of scn(基于scn)或as of timestamp(基金时间)。flashback query实例⑴scnS原创 2013-02-20 18:00:22 · 268 阅读 · 0 评论 -
oracle之parameter file
oracle10g初始化参数文件 数据库启动时,执行命令startup,oracle会先读取初始化参数文件,然后根据参数配置去启动相关的后台进程及读取数据库相关信息。 1、初始化参数注意事项 初始化参数文件分为动态参数和静态参数,动态参数是指当利用ALTER SYSTEM命令修改参数后,数据库不需要重新启动即可生效,而静态参数被修改后,数据库需要重新启动才可生效。原创 2013-02-20 17:55:30 · 908 阅读 · 0 评论 -
oracle之NULL
ORACLE数据库NULL介绍如下:1、在where条件中支持 IS NULL、IS NOT NULL,不支持 = NULL、!= NULL、 NULL时,sql语句会查不到任何数据;SQL> SELECT * FROM DEPT WHERE DEPT_ID IS NOT NULL;2、在CONSTRAINT约束条件中,如表里字段是primary key,则该字段不允许为NULL,如原创 2013-02-20 17:53:28 · 346 阅读 · 0 评论 -
oracle之Flashback Drop
1、Flashback Drop 是oracle10g开始出现的,用于恢复被删除的数据库对象,如table、index,oracle10g里有一个tablespace recycle bin(表空间回收站),类似于windows下的回收站,用于保存被删除掉的对象。Oracle10g中有一参数recyclebin,用于控制是否启动recyclebin功能,缺省模式下是on(打开),off(关闭)原创 2013-02-20 17:59:21 · 388 阅读 · 0 评论 -
oracle之Trunc、round
--round(number,digits)--number必需,要四舍五入的数字--digits必需,位数,根据位数对number进行四舍五入--digits = 0 四舍五入取整select round(45.55, 0) from dual;select round(45.35, 0) from dual;select round(45,0) from dual;原创 2013-02-21 09:12:18 · 260 阅读 · 0 评论 -
数据泵避免个别表数据的导出(二)
对于数据泵EXPDP/IMPDP而言,功能比普通EXP/IMP功能要强的多,因此也可以实现一些普通导出导入工具很难完成的工作。这一篇介绍如何对分区表实现这个功能。数据泵避免个别表数据的导出:http://blog.youkuaiyun.com/olnathen/article/details/8603598 上一篇文章提到了,如何利用EXCLUDE的方式指定TABLE_DATA,来避免导出个转载 2013-02-22 17:32:26 · 284 阅读 · 0 评论 -
数据汞避免个别表数据的导出(一)
对于数据泵EXPDP/IMPDP而言,功能比普通EXP/IMP功能要强的多,因此也可以实现一些普通导出导入工具很难完成的工作。 比如今天碰到的这个问题,要导出一些表,但是其中个别表只导出结构而不导出数据。SQL> conn test/testConnected.SQL> set pages 100 lines 120SQL> select count(*) from转载 2013-02-22 17:30:19 · 507 阅读 · 0 评论 -
ORA-32004: obsolete and/or deprecated parameter(s) specified
转:http://space.itpub.net/23163255/viewspace-662279log_archive_start参数在10g中已经被抛弃,无意间给设置后:SQL> show parameter log_archive_start;NAME TYPE VALUE--------转载 2013-02-22 13:02:44 · 263 阅读 · 0 评论 -
Oracle归档日志
归档日志(Archive Log)是非活动的重做日志备份.通过使用归档日志,可以保留所有重做历史记录,当数据库处于ARCHIVELOG模式并进行日志切换式,后台进程ARCH会将重做日志的内容保存到归档日志中.当数据库出现介质失败时,使用数据文件备份,归档日志和重做日志可以完全恢复数据库.日志操作模式:ARCHIVELOG NOARCHIVELOG1,改变日志操作模式:检查当前日转载 2013-02-22 09:19:37 · 1026 阅读 · 0 评论 -
Oracle临时表空间
oracle的临时表空间Oracle临时表空间为何暴涨? 昨天在做测试的时候发现一个非常奇怪的问题:在程序的查询模块中做查询的时候,开始速度很快,但是过了一段时间以后速度就变慢,最后干脆就报错,不工作了。在排错的过程中,发现Oracle临时表空间暴涨,达到了几十个GB,在Oracle中对Session进行跟踪,发现磁盘空间还在不停的消耗,几乎是每隔5s,临时表转载 2013-02-22 16:20:13 · 1169 阅读 · 0 评论 -
oracle之undo tablespace
UNDOTBS01.DBF太大的解决方法最近碰到一个oracle的问题,在网上查了好久,终于找到了解决办法,虽然还在不断的测试,不过就目前测试的情况来看,好像没有不正常,不知道有没有潜在的不安全。不过通过这次问题的发生,我对oracle产生了浓厚兴趣,哈哈,纪念一下 方法一:转载 2013-02-22 16:22:07 · 314 阅读 · 0 评论 -
Oracle Analyze 命令 详解
原创地址:http://blog.youkuaiyun.com/tianlesoftware/article/details/7055164?reload官网的链接如下:http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_4005.htm#SQLRF01105 使用DBMS_STATS 收集统计信息参考:Orac转载 2013-03-07 15:26:31 · 1067 阅读 · 0 评论 -
Oracle数据库启动与关闭
数据库的开启与关闭oracle数据库,数据库管理员必须拥有SYSDBA或SYSOPER的角色授权后才可能执行数据库的开启和关闭。一、数据库开启oracle数据库的开启分为几个步骤,每个步骤对应一个状态,每个状态可以执行相应的功能,以便正常的维护数据库。⑴shutdown状态:此时数据库是关闭状态;⑵nomount状态: 此时数据库去读取初始化参数文件parameter file原创 2013-03-01 09:21:40 · 584 阅读 · 0 评论 -
Oracle之Exp、Imp(一)
Oracle数据库中执行备份、恢复与数据的重整的方式有多种,其中最简单快捷的是导入导出功能,Oracle有两个工具导出(Export Unility)和导入(Import Unility),Export Unility可以创建一个逻辑的备份文件,可以只单纯创建备份对象的定义,也可以将对象的数据及对象的完整性约束一起备份,导出的文件格式是二进制(Binary File)。Import Uni原创 2013-03-01 14:25:58 · 333 阅读 · 0 评论 -
OEM简介及按钮乱码问题
自ORACLE 9i之后,Oracle提供了一个基于Web图形化数据管理工具Oracle企业管理器(Oracle Enterprise Manager),用来代替SQL命令来管理数据库。Windows下OEM默认是开启的,可以直接访问,Linux下必须通过命令启动,相关命令如下:--查看当前OEM状态EMCTL STATUS DBCONSOLE;--停止OEMEMCTL S原创 2013-03-12 21:37:14 · 1257 阅读 · 0 评论 -
Oracle之Exp、Imp(二)
Oracle中的Exp和Imp在使用中是最多的,它支持从一个表空间导入到另外一个表空间,具体的实现如下:1、利用操作系统认证连接Oracle数据库[oracle@localhost ~]$ sqlplus / as sysdbaSQL*Plus: Release 10.2.0.1.0 - Production on 星期二 1月 29 17:28:10 2013Copyright原创 2013-03-01 14:27:12 · 326 阅读 · 0 评论 -
表连接的执行计划
Oracle表、视图、嵌套视图所查询的中间集合等主要通过表连接进行连接的,这其中包括子查询、半连接等。需注意的是表连接指的是两个表之间连接,表可以是视图、子查询等。 Oracle的表连接方式有嵌套循环连接(NESTED LOOPS JOIN)、排序合并连接(SORT MERGE JOIN)、哈希连接(HASH JOIN)、半连接(SEMI JOIN)、笛卡尔连接(CARTESAIN JOI原创 2013-10-22 17:09:14 · 561 阅读 · 0 评论