说明:STATSPACK并不能获取全面分析性能问题所需要的所有信息。特别是问题出在DISK,RAM,CPU以及NETWORK等数据库外部。 STATSPACK表的分类 A:控制表:stats$database_instance ,stats$snapshot B:参数表:stats$statspack_parameter C:细节表:其他的stats$表 细节表的分类
主题:本文说明在数据库启动的时候,如何自动获取Shared Pool里最常用的过程和包等对象。 正文: 下面用实例来演示Startup之后和Shutdown之前,如何用Triger来完成自动管理的任务。 1.创建一个供Triger调用的Procedure a.创建一个用来保存Procedure和Package的名称的Table(list_tab) SQL&g
Oracle公司出品的ORACLE Enterprise 8.0.5以其优越的性能博得了广大用户的青睐,它以丰富的内嵌函数,PL/SQL支持,多平台,Application Server集成等,给开发人员提供了极大的灵活性。 在ORACLE的用户权限分配中,只提供对表、函数、同义词、视图、包等的Insert,Update,Select,Delete,Execute等操作,并未提供字段级的权
先手动建立归档目录,在调整oracle启动方式 将oracle设为归档模式 手工在主服务器创建归档目录 $cd $ORACLE_BASE #$ORACLE_BASE 所指向的目录是/opt/oracle/,可参看ORACLE用户环境变量的具体设置 $mkdir p oradata/orcl/archive # orcl的目录名称根据数据库的SID号进行指定,其
可以用以下几点对highwater mark进行理解 1.指一个表中曾经被用过的最后一个块 2.如果有数据被插入表,highwater mark 就移到到被使用的最后一个块 3.如果有数据被删除,highwater mark的位置不会变 4.highwater mark被储存在表的段头(segment header of the table) 5.当对表执行全表扫描时,oracle server
事先声明,因为工作变动,偶有整一年没有摸过ORACLE了,呵呵 昨天晚上装完ORACLE后,准备创建属于自己的表空间的时候,出现了ORA12913: 无法创建字典管理的表空前。 当然了,故障排除很简单,找到文档,看一眼就排除了。 但既然在ORACLE9I之后,系统缺省安装时为本地管理表空间(Local Managed Tablespace)LMT,好
1. 删除表的注意事项 在删除一个表中的全部数据时,须使用TRUNCATE TABLE 表名;因为用DROP TABLE,DELETE * FROM 表名时,TABLESPACE表空间该表的占用空间并未释放,反复几次DROP,DELETE操作后,该TABLESPACE上百兆的空间就被耗光了。 2.having 子句的用法 having 子句对 group by 子句所确定的行组进行控制,
本人系统为fedora core4,内核版本2.6.12.所安装的ORACLE版本为oracle10.1.0.3. 安装步骤: 1.当然是下载软件包:http://www.oracle.com/technology/software/products/database /oracle10g/index.html 选择自己需要的 .我下载的是:for linux x86.(注意,下载前需要先注册用户) 2.解压 gunzip ship.db.
表空间 创建表空间 SQL> create tablespace emp 2 logging 3 datafile ''/oracle/oradata/dba/emp.dbf'' size 5M extent 4 management local; 增加表空间大小 SQL> alter tablespace emp 2 add datafile ''/oracle/oradata/dba/emp_1.dbf'' size 3M; 删除表空间 SQL> drop tab
首先建立Linux用户组 groupadd oinstall groupadd dba 建立Oracle用户 useradd g oinstall G dba oracle passwd oracle 设置共享内存 在/etc/sysctl.conf文件中加入如下行 kernel.shmall = 2097152 kernel.shmmax =2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 f
作为一个Oracle数据库开发者或者DBA,在实际工作中经常会遇到这样的问题:试图对库表中的某一列或几列创建唯一索引时,系统提示ORA01452:不能创建唯一索引,发现重复记录。 下面我们以表code_ref为例来讨论这个问题及其解决办法。 ERROR位于第1行: ORA01452: 无法 CREATE UNIQUE INDEX;找到重复的关键字
一、表的类型 常用表、分区表、索引组织表(Indexorganized)、族表 二、Oracle数据类型 用户定义类型 内部定义类型: 1、数量:CHAR(N)/NCHAR(N)、VARCHAR2(N)/NVARCHAR2(N)、NUMBER(P,S)、DATE、TIMESTAMP、RAW(N)、BLOB/CLOB/NCLOB/BFILE、LONG/LONG RAW、ROWID/UROWID 2、集
一、管理UNDO数据的两种方式 自动(9i新特性)和手动(在9i之前唯一的管理方式)。 二、Undo段 在一个进程修改数据库过程中存放旧的数据,包括数据没有修改之前的位置和值。Undo段的头包含了一个事物处理表,表中存放了目前使用undo段事物处理的信息。一个系列的事物处理只使用一个undo段存放undo数据
编译Java代码时出现的ORA4031 在你编译Java代码的时候如果内存溢出,你会看到错误: A SQL exception occurred while compiling: : ORA04031: unable to allocate bytes of shared memory ("shared pool","unknown object","joxlod: init h", "JOX: ioc_allocate_pal") 解决办法是关闭数据库然
批量删除海量数据通常都是很复杂及缓慢的,方法也很多,但是通常的概念是:分批删除,逐次提交。 下面是我的删除过程,我的数据表可以通过主键删除,测试过Delete和For all两种方法,for all在这里并没有带来性能提高,所以仍然选择了批量直接删除。 首先创建一下过程,使用自制事务进行处理: create
在Oracle9i之前,如果你想要把对象权限授予某些用户,那么你需要使用该对象属主或者使用具有该对象with grant option权限的用户。 很多时候你可能需要进行批量授权,那么DBMS_SYS_SQL包可以为你提供简便. 以下过程供参考: declare sqltext varchar2(200); c integer; begin for userlist in (
当我们在共享池中试图分配大片的连续内存失败的时候,Oracle首先清除池中当前没使用的所有对象,使空闲内存块合并。如果仍然没有足够大单个的大块内存满足请求,就会产生ORA04031 错误。 当这个错误出现的时候你得到的错误解释信息类似如下: 04031, 00000, "unable to allocate %s bytes of shared memory (\"
前言 每一个DBA在进行数据库管理的过程中不可避免的要遇到形形色色的错误(ORA1547 ,ORA904,ORA1578 ......)。有些错误由于频繁出现、原因复杂而被 Oracle DBA 们戏称之为"经典的错误"。其中ORA3113 "end of file on communication channel" 就是这样的一个。 我们可以简单的把这个错误理解为Oracle客户端进程
近期,IBM宣布OpenPower已在中国取得一系列重要进展,其中包括Oracle等重要厂商已经加入合作伙伴团体并通过了产品测试,此外在产品发展和客户认同方面也有重大突破。同时,IBM还强调在未来将继续加大对OpenPower等Linux on POWER平台的支持。 IBM eServer OpenPower & JS20 大中华区总经理翁慕泰先生表示:“OpenPower