摘要:在64位的Windows 10上安装了Oracle 10.2.0.4的64位版
阅读全文
摘要:1. 序 在历史数据转出测试过程中,通过不断的优化,包括SQL调整和数据库调整,从AWR中看到,基本上难以进行更多的性能提升,于是准备试试并行执行的特性,从这个任务的特点来分析,也比较适合采用这项技术。本文介绍了使用并行执行过程中的常用SQL,以及遇到的一些问题,以及性能对比试验的结果,并且分享了一...
阅读全文
摘要:因为安装RAC后创建数据库时出错,发现CRS服务启动有问题,查资料说可能是时间不同步引起的,因为启动的先后原因。检查两机器的时间相差比较大,要和主机同步时间,需要安装VMWare tools,因为安装这个,折腾了大半天,终于搞定。主要是网上很多资料是错的,或者不具备参考价值。1.一定要将rpm和tar.gz拷贝到tmp文件夹中安装,如果直接在光盘上执行rpm安装,则会导致有些文件不能正确安装,安装完后会提示有警告,但打开详细内容显示是空的。最开始就是因为点了虚拟机名称的右键,install VMWare tools时弹出了光盘的文件夹,直接右击安装rpm导致后续走了不少的弯路。2.由于是在图形
阅读全文
摘要:第四章 系统和对象统计信息4.1包dbms_stats简介 从9i开始,dbms_stats代替analyze,后者仅用于对象统计信息之外的用途,例如,index structure validate,行迁移的统计。4.2系统统计信息 I/O开销模型(I/O cost model):执行SQL语句所需的数据块读的多少 该方法的主要缺点是认为单块读和多块读开销相当,结果,优化器更多倾向于使用多块读操...
阅读全文
摘要:有时候,因为服务器的权限原因,或者因为异构操作系统等因素,我们无法及时获取Trace文件,下面这种方法通过SQL查询读出Trace文件的内容。1。先查出Trace文件的名称及目录;2。建立目录对象;3。创建外部表;4。查询外部表;代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHigh...
阅读全文
摘要:1.按指定的应用程序查Select T.Sql_Text, T.Disk_Reads, T.First_Load_Time, T.Module, U.Username, T.Hash_ValueFrom V$sqlarea T, V$sql_Plan P, All_Users UWhere T.Hash_Value = P.Hash_Value And P.Operation = 'TABLE A...
阅读全文
摘要:经常有人问到oracle中的Where子句的条件书写顺序是否对SQL性能有影响,我的直觉是没有影响,因为如果这个顺序有影响,Oracle应该早就能够做到自动优化,但一直没有关于这方面的确凿证据。在网上查到的文章,一般认为在RBO优化器模式下无影响(10G开始,缺省为RBO优化器模式),而在CBO优化器模式下有影响,主要有两种观点:a.能使结果最少的条件放在最右边,SQL执行是按从右到左进行结果集的...
阅读全文
摘要:一用户对缴款日报中的票据号使用情况提出要求,希望以类似5-6,9-10,12-20的方式展现,以便直观地反映实际使用的票据号情况。我们经过分析发现,实现这一需求的难点主要有两点:1. 如果要找出断号,用SQL语句实现,主要是要考虑性能;2. 将排除断后的使用号码段的多条记录转换为一行显示,即用SQL实现行列转换;如果通过编程来实现,这两点都不难,但通过SQL来实现,则需要一些技巧。假设知道已用票据...
阅读全文
摘要:在64位的win2003操作系统上安装了64位Oracle 10G数据库后,通过网络使用PLSQL可以连接到数据库,但是服务器本机上却无法连接。按如下方法解决:1.安装32位版本的Oracle客户端(500M左右那个),选择管理员模式 并以该版本的Net Manager来配置服务器连接串,不要用服务器版的那个来配置,因为前者是32位的,后者是64位的 他们的主目录一个是在D:\oracle\pro...
阅读全文
摘要:Oracle 11G新增的SQL语法Pivot用来做行列转换非常方便实用,今天使用的时候却发现一个问题。如果一个表中有多个数值字段,只对其中一个字段进行Sum的情况下,本来应该转换后为一行的内容,被分成了多行。Create table 病人预交记录T(id number(8),结算方式 varchar2(20),冲预交 number(16,5));Insert Into 病人预交记录T Selec...
阅读全文
摘要:在配置流复制环境时,将数据库配置为归档模式后,在执行流配置时卡住了,查日志文件发现是日志文件无法归档,于是手工强制归档,出现了如下错误:SQL> archive log nextORA-16014: 日志 3 的序列号 127 未归档, 没有可用的目的地ORA-00312: 联机日志3线程1: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\REDO03.LOG...
阅读全文
摘要:近日在配置Oracle 10G的流复制环境时,遇到一个问题,关闭数据库(shutdown immediate)后,通过SQL Plus连接数据库:conn sys/his@orc0 as sysdba,出现如下错误: ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务通过重启服务的方式启动数据库,再次连接却能成功登录,也就是说在关闭数据库状态下无法连接服务器。 开始以为是系...
阅读全文
摘要:生成1-100的数字:select rownum from dual connect by rownum<=100生成10-100的数字:select rownum+(10-1) from dual connect by rownum<=100-(10-1)生成100以内的基数:select rownum*2-1 from dual connect by rownum<=50生成...
阅读全文
摘要:查了资料,有两种情况,一种Oracle 10G的一个BUG:3894962,但一直没有发布补丁。 Note:292096.1,Note:370633.1这两篇文章有介绍,当导出导入表的时候,如果有主键约束及索引,索引导入的时候没有和主键约束建立依赖,所以删除约束时,索引没有被删除。 另一种情况是Oracle 10G的一项改变,Note:309821.1 提供的解决办法就是加上删除索引的语法:alt...
阅读全文
摘要:下面这种方法在Oracle的SQL Reference文档中没有提到,关键字values是一个未公开的特性. 实现方法: SQL> conn sys/oracleSQL> select password from dba_users where username='USER1';(用户名大写)记录该用户在数据库存储的密码:035DFA98F036A771 SQL> alter user USER1...
阅读全文
摘要:专用服务器 一个客户端连接对应一个服务器进程 共享服务器 多个客户端连接对应一个服务器进程,服务器端存在一个进程调度器来管理。 Oracle缺省用的是专用服务器模式,Oracle可以同时支持共享服务器和专用服务器模式,可以指定一个会话使用专用服务器,另一个会话使用共享服务器。 MTS具有以下一些缺点: 1) 共享服务器的代码路径比专用服务器长,所以它天生就比专用服务器慢。 2) 存在人为死锁的可...
阅读全文
摘要:今天一同事发现在8i下,用sys用户登录,不能将用户A的对象权限直接授予用户B,如下语句会报没有限限的错:Grant Select On UserA.Table1 to UserB 后来,找了一个9i的数据库测试,发现没有报错.于是去查文档:Oracle Administrator's Guide,发现这项功能确实是9i以上的版本才增加的.通过查询权限视图,可以看到这种方式授权后,授权人仍然是Us...
阅读全文
摘要:Oracle 10G R2重建EM DB Control.如果安装后没有修改过IP地址或机器名字,可以跳过下面1和2两步。1.drop configuration files and repository run :emca -deconfig dbcontrol db -repos drop 2. Logon SQLPLUS as user SYS or SYSTEM, and drop th...
阅读全文
摘要:索引的压缩除了减少存储空间外,同时也减少了IO次数,减少了缓冲区内存占用。Oracle 9i在index_stats视图中提供了两列:opt_cmpr_count,opt_cmpr_pctsave ,通过分析索引的结构可以统计出索引的压缩比,以及适合压缩的字段数(如果是用PL SQL DEV多会话模式的话,注意需要在analyze index 的同一会话才能查询index_stats视图的结果)D...
阅读全文