Oracle数据库系统使用经验六则

oracle|数据|数据库

1.having 子句的用法   having 子句对 group by 子句所确定的行组进行控制,having 子句条件中只允许涉及常量,聚组函数或group by 子句中的列.   2.外部联接"+"的用法   外部联接"+"按其在"="的左边或右边分左联接和右联接.若不带"+"运算符的表中的一个行不直接匹配于带"+"预算符的表中的任何行,则前者的行与后者中的一个空行相匹配并被返回.若二者均不带’+’,则二者中无法匹配的均被返回.利用外部联接"+",可以替代效率十分低下的 not in 运算,大大提高运行速度.例如,下面这条命令执行起来很慢 4.set transaction 命令的用法   在执行大事务时,有时oracle会报出如下的错误: ORA-01555:snapshot too old (rollback segment too small)   这说明oracle给此事务随机分配的回滚段太小了,这时可以为它指定一个足够大的回滚段,以确保这个事务的成功执行.例如 set transaction use rollback segment roll_abc; delete from table_name where ... commit;   回滚段roll_abc被指定给这个delete事务,commit命令则在事务结束之后取消了回滚段的指定.   5.使用索引的注意事项   select,update,delete 语句中的子查询应当有规律地查找少于20%的表行.如果一个语句查找的行数超过总行数的20%,它将不能通过使用索引获得性能上的提高.   索引可能产生碎片,因为记录从表中删除时,相应也从表的索引中删除.表释放的空间可以再用,而索引释放的空间却不能再用.频繁进行删除操作的被索引的表,应当阶段性地重建索引,以避免在索引中造成空间碎片,影响性能.在许可的条件下,也可以阶段性地truncate表,truncate命令删除表中所有记录,也删除索引碎片.   6.数据库重建应注意的问题   在利用import进行数据库重建过程中,有些视图可能会带来问题,因为结构输入的顺序可能造成视图的输入先于它低层次表的输入,这样建立视图就会失败.要解决这一问题,可采取分两步走的方法:首先输入结构,然后输入数据.命令举例如下 (uesrname:jfcl,password:hfjf,host sting:ora1,数据文件:expdata.dmp): imp jfcl/hfjf@ora1 file=empdata.dmp rows=N imp jfcl/hfjf@ora1 file=empdata.dmp full=Y buffer=64000 commit=Y ignore=Y   第一条命令输入所有数据库结构,但无记录.第二次输入结构和数据,64000字节提交一次.ignore=Y选项保证第二次输入既使对象存在的情况下也能成功. select a.empno from emp a where a.empno not in (select empno from emp1 where job=’SALE’);   倘若利用外部联接,改写命令如下: select a.empno from emp a ,emp1 b where a.empno=b.empno(+) and b.empno is null and b.job=’SALE’;   可以发现,运行速度明显提高.   3.删除表内重复记录的方法   可以利用这样的命令来删除表内重复记录: delete from table_name a where rowid< (select max(rowid) from table_name where column1=a.column1 and column2=a.column2 and colum3=a.colum3 and ...);   不过,当表比较大(例如50万条以上)时,这个方法的效率之差令人无法忍受,需要另想办法(

时间: 2024-10-01 11:12:15

Oracle数据库系统使用经验六则的相关文章

Oracle数据库系统使用经验六则_oracle

正在看的ORACLE教程是:Oracle数据库系统使用经验六则. 1.having 子句的用法  having 子句对 group by 子句所确定的行组进行控制,having 子句条件中只允许涉及常量,聚组函数或group by 子句中的列.  2.外部联接"+"的用法  外部联接"+"按其在"="的左边或右边分左联接和右联接.若不带"+"运算符的表中的一个行不直接匹配于带"+"预算符的表中的任何行,则前

Oracle 数据库 系统使用经验六则

oracle|数据|数据库 Oracle 数据库 系统使用经验六则  ---- 1.having 子句的用法 ---- having 子句对 group by 子句所确定的行组进行控制,having 子句条件中只允许涉及常量,聚组函数或group by 子句中的列. ---- 2.外部联接"+"的用法 ---- 外部联接"+"按其在"="的左边或右边分左联接和右联接.若不带"+"运算符的表中的一个行不直接匹配于带"+

Oracle数据库系统调优方法

    Oracle 数据库广泛应用在社会的各个领域,特别是在Client/Server模式的应用,但是应用开发者往往碰到整个系统的性能随着数据量的增大显着下降的问题,为了解决这个问题,从以下几个方面:数据库服务器.网络I/O.应用程序等对整个系统加以调整,充分发挥Oracle的效能,提高整个系统的性能.    1 调整数据库服务器的性能    Oracle数据库服务器是整个系统的核心,它的性能高低直接影响整个系统的性能,为了调整Oracle数据库服务器的性能,主要从以下几个方面考虑:    1

Oracle 数据库系统的启动方式

Oracle数据库系统管理常用的工具是svrmgrl..,启动oracle数据库系统,通常所用的是启动实例的时候不挂接数据库,等启动实例以后再用mount挂接数据库:另外一种方法是在启动实例的时候,加入mount参数,使oracle启动实例与挂接数据库形成一个连续的动作. 有以下几种启动方式: 1.startup nomount 读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件. 这种方式启动常用于修复数据库.重建控制文件.重建数据库 等

Oracle数据库系统的安全策略

oracle|安全|策略|数据|数据库 Oracle是关系型数据库管理系统,它功能强大.性能卓越,在当今大型数据库管理系统中占有重要地位.在我们开发的一MIS系统中,选用了Oracle7.3数据库.在正常情况下,Oracle数据库会保证数据的安全.稳定,为用户提供正确的数据,但由于计算机系统的故障(硬件故障.软件故障.网络故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失,整个系统都将处于瘫痪状态.因此,如何保证Oracle数据库的安全就

Oracle数据库系统紧急故障处理方法_oracle

正在看的ORACLE教程是:Oracle数据库系统紧急故障处理方法.Oracle物理结构故障是指构成数据库的各个物理文件损坏而导致的各种数据库故障.这些故障可能是由于硬件故障造成的,也可能是人为误操作而引起.所以我们首先要判断问题的起因,如果是硬件故障则首先要解决硬件问题.在无硬件问题的前提下我们才能按照下面的处理方发来进一步处理.  控制文件损坏:  控制文件记录了关于oracle的重要配置信息,如数据库名.字符集名字.各个数据文件.日志文件的位置等等信息.控制文件的损坏,会导致数据库异常关闭

《高并发Oracle数据库系统的架构与设计》一1.4 本章小结

1.4 本章小结 纵观本章,主要介绍了一下高并发Oracle数据库系统的特点.难点以及架构和设计的基本思路,并闲话了一些时下流行的话题.下一章我们将进入本书的正题,给读者们介绍如何在Oracle数据库里进行高效索引的设计.

Oracle数据库系统的安全性

Oracle 9i的安全性体系     1.物理层的安全性    数据库所在节点必须在物理上得到可靠的保护.    2.用户层的安全性    哪些用户可以使用数据库,使用数据库的哪些数据对象,具有什么样的权限等.    3.操作系统层的安全性    数据库所在的主机的操作系统的弱点将可能提供恶意攻击数据库的入口.    4.网络层的安全性    Oracle 9i数据库主要是面向网络提供服务,因此,网络软件的安全性和网络数据传输的安全性至关重要.    5.数据库系统层的安全性    通过对用户

oracle数据库系统紧急故障处理方法

oracle|数据|数据库 Oracle物理结构故障是指构成数据库的各个物理文件损坏而导致的各种数据库故障.这些故障可能是由于硬件故障造成的,也可能是人为误操作而引起.所以我们首先要判断问题的起因,如果是硬件故障则首先要解决硬件问题.在无硬件问题的前提下我们才能按照下面的处理方发来进一步处理. 控制文件损坏:控制文件记录了关于oracle的重要配置信息,如数据库名.字符集名字.各个数据文件.日志文件的位置等等信息.控制文件的损坏,会导致数据库异常关闭.一旦缺少控制文件,数据库也无法启动,这是一种