oracle碎片整理方法
采用两种方法:exp imp 和 SQL脚本整理[@more@]---- 我们知道,段由范围组成。在有些情况下,有必要对段的碎片进行整理。要查看段的有关信息,可查看数据字典 dba_segments ,范围的信息可查看数据字典 dba_extents 。如果段的碎片过多, 将其数据压缩到一个范围的最简单方法便是用正确的存储参数将这个段重建,然后将旧表中的数据插入到新表,同时删除旧表。这个过程可以用 Import/Export (输入 / 输出)工具来完成。 ---- Export ()命令有一个(压缩)标志,这个标志在读表时会引发 Export 确定该表所分配的物理空间量,它会向输出转
Java关键字final、static使用总结
Java关键字final、static使用总结[@more@]Java关键字final、static使用总结一、final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。final类不能被继承,没有子类,final类中的方法默认是final的。final方法不能被子类的方法覆盖,但可以被继承。final成员变量表示常量,只能被赋值一次,赋值后值不再改变。final不能用于修饰构造方法。注意:父类的private成员方法是不能被子类方法覆盖的,因此private类型的
关于数据库open的深入探究
关于数据库open的深入探究[@more@]关于数据库open的深入探究 SQL> shutdown immediateDatabase closed.Database dismounted.ORACLE instance shut down.SQL> startup mountORACLE instance started.Total System Global Area 131142648 bytesFixed Size 451576 bytesVariable Size 104857600 bytesDatabase Buffers 25165824 bytesRedo Buffers 667648 bytesDatabase mounted.SQL> alter session set sql_trace = true;Session altered.SQL> alter database open;Database altered.SQL> 首先我们来参考跟踪文件的前部分(参
什么是CS和BS结构,两种结构的区别
C/S又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户端需要安装专用的客户端软件。 B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。[@more@]什么是C/S和B/S结构? C/S又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小
oracle删除重复记录
删除重复记录[@more@]oracle-快速删除重复的记录做项目的时候,一位同事导数据的时候,不小心把一个表中的数据全都搞重了,也就是说,这个表里所有的记录都有一条重复的。这个表的数据是千万级的,而且是生产系统。也就是说,不能把所有的记录都删除,而且必须快速的把重复记录删掉。对此,总结了一下删除重复记录的方法,以及每种方法的优缺点。为了陈诉方便,假设表名为Tbl,表中有三列col1,col2,col3,其中col1,col2是主键,并且,col1,col2上加了索引。1、通过创建临时表可以把数据先导入到一个临时表中,然后删除原表的数据,再
数据仓库构建实施方法及步骤
数据仓库是面向主题的、集成的、不可更新的、随时间的变化而不断变化的,这些特点决定了数据仓库的系统设计不能采用同开发传统的OLTP数据库一样的设计方法。[@more@] 数据仓库是面向主题的、集成的、不可更新的、随时间的变化而不断变化的,这些特点决定了数据仓库的系统设计不能采用同开发传统的OLTP数据库一样的设计方法。 数据仓库系统的原始需求不明确,且 不断变化与增加,开发者最初不能确切了解到用户的明确而详细的需求,用户所能提供的无非是需求的大的方向以及部分需求,更不能较准确地预见到以后的需求。因此,采用原型法来进
ORACLE备份策略
ORACLE备份策略[@more@]ORACLE备份策略(ORACLE BACKUP STRATEGY)第一章. 概要1、了解什么是备份2、了解备份的重要性3、理解数据库的两种运行方式4、理解不同的备份方式及其区别5、了解正确的备份策略及其好处第二章. 了解备份的重要性可以说,从计算机系统出世的那天起,就有了备份这个概念,计算机以其强大的速度处理能力,取代了很多人为的工作,但是,往往很多时候,它又是那么弱不禁风,主板上的芯片、主板电路、内存、电源等任何一项不能正常工作,都会导致计算机系统不能正常工作。当然,这些损坏可以修复,不会导致应用和数据的损坏
数据库管理日常sql列表
数据库管理日常sql列表[@more@]--监控索引是否使用alter index &index_name monitoring usage;alter index &index_name nomonitoring usage;select * from v$object_usage where index_name = &index_name;--求数据文件的I/O分布select df.name,phyrds,phywrts,phyblkrd,phyblkwrt,singleblkrds,readtim,writetimfrom v$filestat fs,v$dbfile dfwhere fs.file#=df.file# order by df.name;--求某个隐藏参数的值col ksppinm format a54col ksppstvl format a54select ksppinm, ksppstvlfrom x$ksppi pi, x$ksppcv cvwhere cv.i
Oracle专家调优秘密
Oracle专家调优秘密[@more@]前言 在过去的十年中, Oracle 已经成为世界上最专业的数据库之一。对于 IT 专家来说,就是要确保利用 Oracle 的强大特性来提高他们公司的生产力。最有效的方法之一是通过 Oracle 调优。它有大量的调整参数和技术来改进你的 Oracle 数据库的性能。 Oracle 调优是一个复杂的主题。关于调优可以写整整一本书,不过,为了改善 Oracle 数据库的性能,有一些基本的概念是每个 Oracle DBA 都应该遵从的。 在这篇简介中,我们将简要地介绍以下的 Oracle 主题: -- 外部调整:我们应该记住 Oracle 并
基于成本的优化器 — 一般错误概念和问题
基于成本的优化器 — 一般错误概念和问题[@more@] Background 背景 ~~~~~~~~~~ 为了执行任何一个SQL语句,Oracle都要先导出一个“执行计划(execution plan)”。它基本上就是Oracle如何检索出符合给定SQL语句要求的数据的执行计划。 Oracle7和Oracle8 都有两种可以为SQL语句导出执行计划的优化器: - 基于规则的优化器(RBO) 继承自Oracle6,它使用一系列严格的规则来决定每个SQL语句的执行计划。如果你知道这些规则,你可以构造一个SQL查询使其以指定的方式访问数据。表的内容对于执行计划没有影响。 这个优化
Oracle 数据库 10g中的分区功能
Oracle 分区功能可以提高许多应用程序的可管理性、性能与可用性。通过分区功能,可以将表、索引和索引组织表进一步细分为段,从而能够更精确地管理和访问这些数据库对象。Oracle 提供了种类繁多的分区方案以满足每种业务要求。而且,因为在 SQL 语句中分区是完全透明的,所以该功能几乎可应用于任何应用程序。[@more@]执行概要Oracle 分区功能可以提高许多应用程序的可管理性、性能与可用性。通过分区功能,可以将表、索引和索引组织表进一步细分为段,从而能够更精确地管理和访问这些数据库对象。Oracle 提供了种类繁多的分区方案以满足每
Oracle数据类型简介
在ORACLE8中定义了:标量(SCALAR)、复合(COMPOSITE)、引用(REFERENCE)和LOB四种数据类型[@more@]一、概述 在ORACLE8中定义了:标量(SCALAR)、复合(COMPOSITE)、引用(REFERENCE)和LOB四种数据类型,下面详细介绍它们的特性。 二、标量(SCALAR) 合法的标量类型与数据库的列所使用的类型相同,此外它还有一些扩展。它又分为七个组:数字、字符、行、日期、行标识、布尔和可信。 数字,它有三种基本类型--NUMBER、PLS_INTEGER和BINARY_INTENER。NUMBER可以描述整数或实数,而PLS_INTEGER和BINARY_INTENER只能描述整
oracle性能调整
Oracle 数据库广泛应用在社会的各个领域,特别是在Client/Server模式的应用,但是应用开发者往往碰到整个系统的性能随着数据量的增大显著下降的问题,为了解决这个问题,从以下几个方面:数据库服务器、网络I/O、应用程序等对整个系统加以调整,充分发挥Oracle的效能,提高整个系统的性能。[@more@]1 调整数据库服务器的性能 Oracle数据库服务器是整个系统的核心,它的性能高低直接影响整个系统的性能,为了调整Oracle数据库服务器的性能,主要从以下几个方面考虑:1.1 Oracle 调整操作系统以适合Oracle数据库服务器运行 数据库服务
ORACLE回滚段
ORACLE回滚段[@more@]创建回滚段 语法: CREATE [PUBLIC] ROLLBACK SEGMENT rollback_segment [TABLESPACE tablespace] [STORAGE ([INITIAL integer[K|M]] [NEXT integer[K|M]] [MINEXTENTS integer] [MAXTENTS {integer|UNLIMITED}] [OPTIMAL {integer[K|M]|NULL}]) ] 注: 回滚段可以在创建时指明PRIVATE或PUBLIC,一旦创建将不能修改。 MINEXTENTS 必须大于等于2 PCTINCREASE必须是0 OPTIMAL如果要指定,必须大于等
oracle9i学习笔记
oracle9i学习笔记[@more@]######### 创建数据库----look $ORACLE_HOME/rdbms/admin/buildall.sql ############# create database db01 maxlogfiles 10 maxdatafiles 1024 maxinstances 2 logfile GROUP 1 ('/u01/oradata/db01/log_01_db01.rdo') SIZE 15M, GROUP 2 ('/u01/oradata/db01/log_02_db01.rdo') SIZE 15M, GROUP 3 ('/u01/oradata/db01/log_03_db01.rdo') SIZE 15M, datafile 'u01/oradata/db01/system_01_db01.dbf') SIZE 100M, undo tablespace UNDO datafile '/u01/oradata/db01/undo_01_db01.dbf' SIZE 40M default tempora
Oracle Partitioning
Oracle Partitioning[@more@]Oracle 分区是 Oracle9i 企业版的一个选项,可以增强各种应用程序的可管理性、性能和可用性。分区允许将表、索引以及索引编排表细分为更小的段,从而能在更细的粒度级管理和访问这些数据库对象。Oracle 提供丰富的分区模式来满足每一种商务需求。而且,由于它在 SQL 语句中是完全透明的,分区几乎可应用于任何应用程序。分区的优点 分区能改善各种应用程序的可管理性、性能和可用性,具有非常多的优点。分区往往根据数量级提高某些查询或维护操作的性能。另外,分区可以极大地简化常见的管理任务。 分区还可以
关于Oracle数据库热备份脚本深入剖析
关于Oracle数据库热备份脚本深入剖析[@more@]我们都知道Oracle的备份有几钟方式,冷备,热备,rman,imp等,我们注意到当我们采取热备的时候,需要对每个要备份的表空间置为backup模式。通常的热备脚本都是这样的: alter tablespace XXX begin backup;cp XXX ....alter tablespace XXX end backup;(这里需要注意一点,Oracle的最小存储单位是一个数据块,一个块的大小通常设置为8KB,而操作系统的块通常是512B,这样的话一个Oracle的数据由很多个操作系统的块组成。而且对于一个数据文件来说,它的所有块对应的操作系统的块并不是按顺序存
表碎片起因及解决办法
表碎片起因及解决办法[@more@]跟表碎片有关的基础知识:什么是水线(High Water Mark)? ---------------------------- 所有的oracle段(segments,在此,为了理解方便,建议把segment作为表的一个同义词) 都有一个在段内容纳数据的上限,我们把这个上限称为"high water mark"或HWM。这个HWM是一个标记,用来说明已经有多少没有使用的数据块分配给这个segment。HWM通常增长的幅度为一次5个数据块,原则上HWM只会增大,不会缩小,即使将表中的数据全部删除,HWM还是为原值,由于这个特点,使HWM很象一个水库的历史最高水位,这也就是
Oracle SQL optimization
Oracle SQL optimization[@more@]Symptom1. What is SQL optimization?2. How important is SQL optimization?3. Which criteria are used to determine the load of an SQL statement?4. Where can I find information on the executed SQL statements?5. How do I find the most processing-intensive SQL statements overall?6. How do I find information on an SQL statement that is currently running?7. How can I determine what values are hidden behind the bind variables?8. Why does the SQL statement appear different o
EXISTS、IN、NOT EXISTS、NOT IN用法区别
EXISTS、IN、NOT EXISTS、NOT IN用法区别[@more@]EXISTS、IN、NOT EXISTS、NOT IN:in适合内外表都很大的情况,exists适合外表结果集很小的情况。exists 和 in 使用一例 =========================================================== 今天市场报告有个sql及慢,运行需要20多分钟,如下:update p_container_decl cdset cd.ANNUL_FLAG='0001',ANNUL_DATE = sysdatewhere exists(select 1from (select tc.decl_no,tc.goods_nofrom p_transfer_cont tc,P_AFFIRM_DO adwhere tc.GOODS_DECL_NO = ad.DECL_NOand ad.DECL_NO = 'sssssssssssssss