最近常听的歌 王蓉 - 爸爸妈妈
王蓉 - 爸爸妈妈歌词:歌手:王蓉 专辑:多爱 哦嘿妈妈那天你再次为我悄悄流下泪你可知道它已化作伤痛滴滴落在我心扉永远都不会忘记你看我时那难舍的眼神我不会哦嘿爸爸从一小就给我最多保护那个人你为什么总是低着头一直的抽烟不说话这次我独自离开想找另一种生活听我说让我说[@more@]我爱他他是我心中的那只雨蝶飞吧飞到我心里面化成茧不知道还要多久才能叫醒我共筑城一曲祝英台和梁山伯我爱他他是我心中的那只雨蝶飞吧飞到我心里面化成茧不知道还要多久才能叫醒我共筑城一曲祝英台和梁山伯(music)哦嘿妈妈我那么幸福能在你身边长大现
Ora Ora Oracle电子杂志:关于索引的检验 之 5-8
上次对1万笔数据的表进行了1~5000笔(一半)的范围检索,结果对索引发生了45次I/O。这次我们要以TREEDUMP功能确认结果。[@more@]<关于索引的检验 之5>上次对1万笔数据的表进行了1~5000笔(一半)的范围检索,结果对索引发生了45次I/O。这次我们要以TREEDUMP功能确认结果。◎扩张到100万笔的过程说明1. 现有的10000010~10100000的1万笔,进一步插入10100010~11000000的9万笔(间隔10),扩张成总计10万笔的表(末尾都是0)。2. 插入10000001~10999991的10万笔(间隔10),扩张为总计20万笔数据的表(末尾都是1)。3. 之后,依序
Ora Ora Oracle电子杂志:关于索引的检验 之 1-4
“有了索引,检索就会变快了。”这种想法当然不算错,因为索引本来就是为了让数据查询加快的最常用的方法。可是,各位读者可曾思考过:索引在任何情况下都起作用吗?[@more@]<关于索引的检验 之1>“有了索引,检索就会变快了。”这种想法当然不算错,因为索引本来就是为了让数据查询加快的最常用的方法。可是,各位读者可曾思考过:索引在任何情况下都起作用吗?这次我们要让索引构造恶化,从各种角度分析这个问题。【实验的目的与环境】目的:确认执行什么样的处理会导致索引变慢,并以实验检验变慢的原因。假设:业务操作以Inser
Ora Ora Oracle电子杂志:关于剩余数据块的检验 之6-8
订阅Ora Ora Oracle电子杂志已经有几个月了,今天把它的第一个专题《关于剩余数据块的检验》整理了一下想订阅该杂志的可以访问:http://www.performance-insight.com/china/[@more@]<关于剩余数据块的检验 之6>这次要从表的角度检验剩余数据块的空间分配方式,我会按照下面的顺序说明。接着上次的内容,这次要继续介绍如何检验剩余数据块。有如下三个知识点:1. 理解minimum extent2. 最大程度防止剩余空间碎片的方式﹝本次主题﹞3. 图解Oracle如何使用剩余空间﹝以后再说明﹞这次要向大家说明第2个主题:最大程度防止剩余空间碎片化
Ora Ora Oracle电子杂志:关于剩余数据块的检验 之1-5
订阅Ora Ora Oracle电子杂志已经有几个月了,今天把它的第一个专题《关于剩余数据块的检验》整理了一下想订阅该杂志的可以访问:http://www.performance-insight.com/china/[@more@]<关于剩余数据块的检验 之1>我们曾经收到这样的问题:「想知道coalesce(结合)的作用」、「如何确保剩余数据块、作为表的空间使用?」此外,在实际的支持工作中,也经常有客户问到相同的问题。因此,我们将一边检验这些有密切关系的项目,一边向大家说明。首先向大家说明「coalesce(结合)」。简单的说,就是将空闲空间碎片合并的功能,通常SMON每
导出错误EXP-00091: Exporting questionable statistics
今天在客户那儿在数据库服务器上导出数据时发生EXP-00091,看看帮助[oracle@localhost backup]$ oerr exp 9100091, 00000, "Exporting questionable statistics."// *Cause: Export was able export statistics, but the statistics may not be// usuable. The statistics are questionable because one or more of// the following happened during export: a row error occurred, client// character set or NCHARSET does not match with the server, a query [@more@]估计是客户端字符集设置有问题,然后一看,果然数据库服
查询条件中对rowid进行直接比较的问题
在查询条件中直接使用rowid进行筛选数据时,如果rowid不存在该表中,系统会返回一个错误:ORA-01410: 无效的 ROWID 比如:select * from demo where rowid='ACAJSpAAMAABgfKAAY';但是如果比较是用> < like 这些比较符就不过报这个错据oldwain分析原因可能是oracle调用了dbms_rowid.rowid_verify来验证rowid的合法性。详见:http://www.itpub.net/389839.html[@more@]
在Oracle9i Release 2中使用PL-SQL的集合增强 [作者:Scott Stephens]
Oracle9 Release 2 非常有力地增强了PL/SQL集合功能,它可以对以前的发布版本进行代码维护。例如,可以在Release 2 中将PL/SQL集合用作一个单一的参数,从而避免了使用一长串单个的字段作为参数。[@more@]另外一个优点是记录的集合现在可以是BULK COLLECTION INTO 子句的目标。而在Release 2以前,我们必须为返回的每个列创建一个集合。例如:Declare type deptno_coll is table of dept.deptno%type; type dname_coll is table of dept.dname%type; type loc_coll is table of dept.loc%type; deptno_list deptno_coll; d
一个高人写的oracle资料[转载]
我们从一个用户请求开始讲,ORACLE的完整的工作机制是怎样的,首先一个用户进程发出一个连接请求,如果使用的是主机命名或者是本地服务命中的主机名使用的是机器名(非IP地址),那么这个请求都会通过DNS服务器或HOST文件的服务名解析然后传送到ORACLE监听进程,监听进程接收到用户请求后会采取两种方式来处理这个用户请求,下面我们分专用服务器和共享服务器分别采用这两种方式时的情况来讲:[@more@]专用服务器模式下:一种方式是监听进程接收到用户进程请求后,产生一个新的专用服务器进程,并且将对用户进程的所有控制信息传给此服务器进程,
分布式查询优化一例
在分布式查询中,对于分布在两个节点上的两张表进行嵌套循环连接将会非常慢,这是由于Oracle将所有的远程数据传到本地来处理。所以对于这类查询最好换成排序合并连接或者hash连接。[@more@]下面例子中的表aaa、bbb分别位于两个库,aaa所在库通过数据库链db244访问bbb表:create table aaa as select * from dba_objects;create table bbb as select * from dba_objects;1、嵌套循环连接SQL> select count(*) from aaa a where exists (sel
在PL/SQL开发中正确使用数据类型来提高性能
1、确保比较运算中的数据类型相同 下面例子比较了采用不同数据类型的代价,也就是在if语句中将一个数字类型的数据类型和字符值进行比较。[@more@]程序1:create or replace procedure test_if(p_condition_num number) as lv_temp_num number := 0; lv_temp_cond_num number := p_condition_num;begin for lv_cont_num in 1..100000 loop if lv_temp_cond_num = '1' then lv_temp_num := lv
Oracle9i和10g并存时问题
在Windows2000上先安装10g,再安装9i软件后,无法启动9i的dbca界面[@more@]同时安装10g、9i后的系统pathD:oracleproduct9.2.0bin;C:Program FilesOraclejre1.1.8bin;C:Program FilesOraclejre1.3.1bin;D:oracleproduct10.1.0bin;D:oracleproduct10.1.0jre1.4.2binclient;D:oracleproduct10.1.0jre1.4.2bin;%SystemRoot%system32;%SystemRoot%;%SystemRoot%System32Wbem;C:KAV2003;C:PROGRA~1ULTRAEDT;C:Program FilesSecureCRT;C:Program FilesATI TechnologiesATI Control Panel;C:KAV69i的dbca能启动的path(需要将10g的jre去掉)D:orac
利用Oracle工具sysresv来显示、清除共享内存和信号量
Oracle从8i开始提供sysresv工具来对Oracle使用的共享内存和信号量进行管理。当服务器上存在多个实例时,该命令能显示每个实例对应的共享内存和信号量,当一个实例由于某种原因崩溃了,但是由该实例创建的共享内存和信号量却没有被系统回收清理掉,可以用这个工具来清除应该回收的共享内存和信号量。[@more@]usage : sysresv [-if] [-d <on/off>] [-l sid1 <sid2> ...] -i : Prompt before removing ipc resources for each sid &n
Linux环境下的一个rman备份的实例脚本
背景:目标数据库192.168.1.172 Redhat Linux AS 3.0 Oracle 9.2.0.6 恢复目录数据库 192.168.1.244 Windows2000 Oracle 9.2.0.1 rman/rman [@more@]1、配置catalog恢复目录 create tablespace ts_rman datafile='d:oratestrman.dbf' size=100M; create user rman identified by rman default tablespace ts_rman; grant connect ,resource , RECOVERY_CATALOG_OWNER to rman; 连接到目标数据库和
rman技术速查手册
1、配置catalog恢复目录 create tablespace ts_rman datafile='d:oratestrman.dbf' size=100M; create user rman identified by rman default tablespace ts_rman; grant connect ,resource , RECOVERY_CATALOG_OWNER to rman;[@more@] 连接到目标数据库和CATALOG数据库 rman target / catalog rman/rman@catalog_tnsname 创建CATALOG用户的表 rman>create catalog 登记目标数据库: rman>regis
在sqlplus下格式化输出查询结果集
在sqlplus下经常会遇到这种问题:查询结果中包含有许多列,在一行内不能完全显示sqlplus就自动换行,导致输出非常混乱,可读性很差,Tom写了个以列形式显示每行的程序,我稍稍改动了一下,增加了显示每行行号。[@more@]该程序中使用了调用者权限属性,即调用者调用该过程查看的表是调用者自己的表,而不是过程定义者所属的表注意:最好把输出缓存设置得大一些,免得报错 ORA-20000: ORU-10027: buffer overflow,limit of 2000 bytesset serveroutput on size 10000000CREATE OR REPLACE PROCEDURE print_table( p
oracle9i下配置企业管理器
1、运行企业管理器配置助理创建EM repository Windows平台: - 选择菜单 Programs > Oracle-OraHome92 > Configuration and Migration Tools > Enterprise Manager Configuration Assistant - 在命令行中输入: emca [@more@] Linux平台: [oracle@sms oracle]$ emca2、启动Oracle Management Server Windows平台: a. 双点[控制面板/Contro
在Oracle中通过优化器计划稳定性来优化应用程序
dba在实际工作中经常会遇到这种情况:应用程序开发者写得SQL效率极其低下,dba想通过给sql语句添加提示(hint)的方式来提高效率,但是又不允许直接对应用程序进行修改。[@more@]对此Oracle从8i开始就提供了优化器计划稳定性(Optimizer Plan Stability)来完成这一功能,可以对当前应用程序中的SQL创建最优的执行计划存储概要。下面就通过一个例子来描述这一功能的具体实现:(Oracle 9.2.0.6)SQL> create table aaa as select * from dba_objects where object_id is not null;Table createdSQL> alter table aaa modify object_id not
Oracle9i中v$sql、v$sqlarea、v$sqltext、v$sql_plan的联系与区别
对于同一个SQL语句,如果在不同环境下使用了不同的优化器目标的情况下,会有不同的执行计划,这样就要求分别有一个独立的游标(即子游标)来区别出每一种情况下的不同的运行行为。[@more@]Oracle用v$sqlarea中一行保存同样语句的SQL,并用字段version_count的值来指出子游标的个数,而在v$sql里面为每个子游标保留了一个单独的行。两个表可以通过字段address和hash_value相互对应。例如下面例子:SQL> select address,hash_value,sql_text,version_count 2 from v$sqlarea where sql_text like 'select value$ from sys.pr
基于角色的安全性和显示grant语句的区别
我们经常会遇到这种情况:a用户把自己的表demo权限授予一个角色,再把这个角色授予用户b,用户b可以在sql语句中访问a.demo,但是在创建视图、存储过程中用到a.demo却报错,必须要显示的用语句grant all on a.demo to b; 才能创建这些对象[@more@]原因是对于一个会话来说其状态可以打开或关闭,而授权却在所执行的grant后被永久存储到数据字典中。在DDL语句创建包、存储过程、存储函数、触发器和视图等数据库对象时,当前用户所拥有的角色都会被禁用。对于命名PL/SQL对象的情况,会报错:"ORA-01031:insufficient privileges",对