I/O Calibration
I/O Calibration[@more@]I/O Calibration在Oracle11g中有一个比较有意思的引入,就是引入了一个过程来测量IO的基准。DBMS_RESOURCE_MANAGER.CALIBRATE_IO这个过程的功能是用于效准IO存储磁盘的性能,可以使用下面的工程来测试:SQL> SET SERVEROUTPUT ONSQL> DECLARE 2 lat INTEGER; 3 iops INTEGER; 4 mbps INTEGER; 5 BEGIN 6 -- DBMS_RESOURCE_MANAGER.CALIBRATE_IO (<DISKS>, <MAX_LATENCY>, iops, mbps,lat); 7 DBMS_RESOURCE_MANAGER.CALIBRATE_IO (1, 10, iops, mbps, lat); 8 9 DBM
大型数据库(T level)管理
大型数据库(T level)管理[@more@]大型数据库T管理谈谈自己的想法:在分析这个问题的时候,需要看这个数据库是OLTP,OLAP还是DSS,不同的类型管理的侧重应该是不一样的。数据库的规划:对于大多数数据库来说,之所以这个数据库能够上T,是因为一个或者多个表的数据量比较大,而数据量比较大的表的数量一般不是很多,这是因为在数据库开始规划的时候就应该考虑到这些问题。一般来说会根据功能,IO,或者表的大小等将数据库split。在数据库的规划阶段还需要注意的问题是有可能成为大表的两个或者几个大表之间的连接问题,一般来说系统出现性能
Redo wastage产生的原因
Redo wastage产生的原因[@more@]Redo wastage产生的原因在v$sysstat中有一个统计是redo wastage,这个究竟是什么意思,为什么汇产生这个问题哪?reod wastage会对系统的性能产生影响吗?1、为什么会产生redo wastage?我们都熟知产生的redo会先写入到redo buffer中,然后Oracle中的LGWR进程会根据某些触发条件将redo buffer中的redo写入到redo文件中。redo文件一般块是512,除去每个块有16字节的块头,真正能够使用的部分512-16。而redo文件在逻辑上是有redo record组成。LGWR写入redo的时候,会在redo文件中留下一些没有使用的空间,例如
10g中的新伪列ORA_ROWSCN总结
10g中的新伪列ORA_ROWSCN总结[@more@]10g中的新伪列ORA_ROWSCN总结这个伪列是10g中引进的,在oracle的官方文档上说的是:这个伪列是为了提供每一行最近修改的SCN的上限。For each row, ORA_ROWSCN returns the conservative upper bound system change number (SCN) of the most recent change to the row.不过oracle随后也说这是一行最新修改的大致SCN的确定。为什么是这样的哪?Oracle解释说是这个SCN的跟踪是对这个行驻留块的事务提交的SCN而得到的。This pseudocolumn is useful for determining approximately when a row was last u
Oracle 11g对AWR的扩展
Oracle 11g对AWR的扩展[@more@]Oracle 11g对AWR的扩展1、AWR数据的导入、导出在Oracle 11g中能够将AWR数据在系统之间传递,这个功能有利于使用分离的系统来处理、分析AWR数据。在传递AWR数据,需要两个过程:将AWR数据从源数据中导出,然后在将这些数据导入到目的数据库中。导出AWR数据使用的是$ORACLE_HOME/rdbms/admin/awrextr.sql这个脚本。导入AWR数据使用的是$ORACLE_HOME/rdbms/admin/awrload.sql这个脚本2、Baseline Templates在10g中只是有baseline这个,在11g中新添加了这个概念,按照Oracle官方的定义就是:这个所谓的Baseline
RMAN中检查脚本语法错误的命令
RMAN中检查脚本语法错误的命令[@more@]RMAN中检查脚本语法错误的命令在执行RMAN脚本或者命令之前,需要将这个脚本或者命令检查一遍,看看命令或者脚本上是否存在语法错误,这就可以使用Oracle提供的一个检查RMAN脚本,命令语法错误的命令checksyntax ,(检查命令文件中的语法错误)但是这个命令执行的时候是不实际运行的。例如:RMAN> run < backup database;>RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ==
关于直接路径插入的工作原理
关于直接路径插入的工作原理[@more@]关于直接路径插入的工作原理关于直接路径插入的工作原理可以从三个形式的插入来说:1、串行直接路径插入到分区或者非分区表这个比较容易理解,就是一个单独的进程将数据直接插入到表数据段上每一个分区段的高水位之上的空间。这里说的直接路径是指不经过数据缓冲区。2、并行直接插入到分区表这个和第一中情况类似,每一个进程对应一个或者多个分区段,但是每一个分区段最多只能有一个进程对应,一个单独的进程将数据直接插入到表数据段上每一个分区段的高水位之上的空间。3、并行直接插入到非分区表这个
可恢复空间分配
可恢复空间分配[@more@]可恢复空间分配在平时我们做一个大的表的索引,或者插入大量数据的时候,临时表空间,undo表空间或者数据表空间都有可能会产生空间不足的错误,这时候就可以利用可恢复表空间来管理,将这个操作挂起,等错误排除之后再恢复。这个好用的功能是在Oracle 9i之后被引入的。这个功能在thomas的http://tomszrp.itpub.net/post/11835/264965已经介绍比较详细了。两种启动方式1、设置resumable_timeout。2、alter session enable resumable可恢复语句被挂起的发生状态:1、超出空间使用ORA-1653 unable to extend table ...
对临时表空间的SHRINK
对临时表空间的SHRINK[@more@]对临时表空间的SHRINK在11g中新添加一个新的功能就是对临时表空间的SHRINK,在使用临时表空间的时候,可能临时表空间被扩展的比较大,如何将临时表空间缩小到自己想要的大小,这是11g推出这个命令的目的。这个命令只能用于临时表空间。能够减少临时表空间的使用。有两种方式使用:1、将本地管理的临时表空间缩小为20M。SQL> select bytes/1024/1024 from v$tempfile;BYTES/1024/1024--------------- 28SQL> alter tablespace temp shrink space keep 20M;Tablespace alteredSQL> select
READ_ONLY_OPEN_DELAYED参数
READ_ONLY_OPEN_DELAYED参数一直没有在意这个参数,再一次看Oarcle文档的时候,看到这个参数。在一个很大的数据库上的比较大的一部分只读表空间是存储在低速访问的设备上。例如CDROM上的时候,需要将这个参数设置为true。[@more@]
数据库驻留连接池(Database Resident Connection Pooling)(4)
数据库驻留连接池(Database Resident Connection Pooling)(4)[@more@]配置连接池可以使用包dbms_connect_pool来配置连接池。在RAC环境下,配置参数针对的是每一个oracle RAC实例而言的。参数说明MINSIZE在pool中最小数量的pooled servers,缺省为4MAXSIZE在pool中最大数量的pooled servers,缺省为40INCRSIZE这个参数是在一个客户端应用需要连接的时候,当pooled servers不可用的状态时候,每次pool增加pooled servers的数目。SESSION_CACHED_CURSORS缓存在每个pooled servers上的会话游标的数目,缺省为20INACTIVITY_TIMEOUTpooled ser
数据块驻留管理池(Database Resident Connection Pooling)(3)
数据块驻留管理池(Database Resident Connection Pooling)(3)[@more@]DRCP的限制1、不能关闭数据库2、不能停止DRCP3、不能修改连接用户的密码4、不能共享数据库链接到其他实力上的DRCP5、不能使用ASO6、不能直接使用OCI_MIGRATE 和非直接使用 OCIConnectionPool迁移会话。缺省的时候,Oracle会包括一个缺省的连接池SYS_DEFAULT_CONNECTION_POOL,但是并没有被打开,要想启动数据库驻留连接池,需要显性开启连接池。SQL> select connection_pool from dba_cpool_info;CONNECTION_POOL STATUS--------------------
数据块驻留管理池(Database Resident Connection Pooling)(2)
数据块驻留管理池(Database Resident Connection Pooling)(2)[@more@]DRCP的优点1、能够在多中间层客户应用之间共享资源2、通过减少资源的使用来提高数据库和应用的扩展能力。三个服务器结构的区别专用共享DRCP当收到一个客户端请求的时候,会增加一个新的服务器进程和会话当接受一愕个从客户端的请求,分配器进程会将这个请求放置到一个队列中,共享服务器进程来响应请求,分配器管理在客户端和共享服务器之间的通讯。当收到一个客户端请求的时候,连接代理(Connection Broker)会拣一个可用的pooled server,连接客户端和pooled serv
数据块驻留管理池(Database Resident Connection Pooling)(1)
数据块驻留管理池(Database Resident Connection Pooling)(1)[@more@]数据块驻留管理池(Database Resident Connection Pooling)我们知道在之前的Oracle系统中的体系结构有两种:专用服务器和共享服务器,在11g中提供了一个新的服务器结构数据块驻留管理池(Database Resident Connection Pooling)。这个新特性是11g中新提供的,目的是为了对于那些典型的web应用而提供的一个新的功能。因为这些应用主要是数据库的连接时间通常是比较短的连接,既是客户端会有很多次的连接,但是每次连接持续的时间比较短。在我们之前的应用中主要是使
11g警告文件的查看
11g警告文件的查看[@more@]11g警告文件的查看在11g中警告文件将有两种格式来存放:文本格式和xml格式。同时在11g中新引入了一个视图v$diag_info:SQL> col value format a40SQL> select * from v$diag_info; INST_ID NAME VALUE---------- -------------------- ---------------------------------------- 1 Diag Enabled TRUE 1 ADR Base /opt/oracle 1 ADR Home /opt/oracle/diag/rdbms/orcl/orcl 1 Diag Trace /opt/oracle/diag/r
口令的大小写敏感
口令的大小写敏感[@more@]口令的大小写敏感在从11g之后,数据库的口令将是大小写敏感的,而在11g之前,所有的口令都不是大小写敏感。SQL> create user test identified by TEST;用户已创建。SQL> grant connect,resource to test;授权成功。SQL> conn test/test@linuxERROR:ORA-01017: invalid username/password; logon denied警告: 您不再连接到 ORACLE。SQL> conn test/Test@linuxERROR:ORA-01017: invalid username/password; logon deniedSQL> conn test/TEST@linux已连接。SQL>需要注意的是,只是口令是大小写敏感
工具新特性2-expdp 加密dump文件集
工具新特性2-expdp 加密dump文件集[@more@]工具新特性2-expdp 加密dump文件集在10g中有一个加密的功能,这个功能是在以前Oracle版本所没有的功能:ENCRYPTION_PASSWORD 用于创建加密列数据的口令关键字。但是这个是数据库自身默认的加密方式,DBA是不能选择,只能是使用这个方式而已,但是在11g之后就发展了加密方式的应用:1、加密的对象加密的对象可以是数据,元数据,数据列和所有都加密等选择。缺省为ALL。ENCRYPTION Encrypt part or all of the dump file where valid keyword values are: ALL
工具新特性1-expdp 压缩dump文件集
工具新特性1-expdp 压缩dump文件集[@more@]工具新特性1-expdp 压缩dump文件集在oracle 10g时候提供了一个新的导入,导出的工具expdp和impdp。其中有一个特点就是将导出的数据压缩,但是在Oracle 10g中的压缩只是将metadata数据进行压缩。Export: Release 10.2.0.1.0 - Production on 星期二, 28 8月, 2007 13:57:10Copyright (c) 2003, 2005, Oracle. All rights reserved.COMPRESSION 减小有效的转储文件内容的大小 关键字值为: (METADATA_ONLY) 和 NONE。在11g中将这个特性升级为压缩整个dump文件集,
Automatic Workload Repository (AWR)总结(3)
Automatic Workload Repository (AWR)总结(3)[@more@]添加和删除基准:DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE( start_snap_id IN NUMBER, end_snap_id IN NUMBER, baseline_name IN VARCHAR2, dbid IN NUMBER DEFAULT NULL);DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE( start_snap_id IN NUMBER, end_snap_id IN NUMBER, baseline_name IN VARCHAR2, dbid IN NUMBER DEFAULT NULL) RETURN NUMBER;DBMS_WORKLOAD_REPOSITORY.DROP_BASELINE( baseline_name
Automatic Workload Repository (AWR)总结(2)
Automatic Workload Repository (AWR)总结(2)[@more@]baseline:Automatic Workload Repository (AWR)的baseline是通过指定一定范围的快照,来作为典型的性能时间为基准,通过这个基准来测定一段时间的负载上的性能问题发生的原因。Automatic Workload Repository (AWR)的操作AWR的操作可以通过两种方式进行:OEM和API。使用API管理AWR是通过过程DBMS_WORKLOAD_REPOSITORY来进行管理的。添加快照:SQL> exec dbms_workload_repository.create_snapshot(flush_level => 'TYPICAL');PL/SQL procedure successfully completedSQL>