聊聊Oracle可传输表空间(Transportable Tablespace)(下)
最后我们聊聊关于ASM下的TTS使用。应该说,ASM是Oracle在存储层面的重要组件,也是在软件层面实现冗余和平衡IO的关键解决方案。对11gR2 RAC而言,ASM是取代裸设备的重要组件。 应用ASM的一个重要特点...
聊聊Oracle可传输表空间(Transportable Tablespace)(中)
6、Oracle数据泵Data Pump导出导入 Exp/Imp是Oracle早期推出的数据逻辑备份还原工具,使用简单、功能强大。但是Exp/Imp对一些Oracle新特性支持不是很好,而且对于海量数据备份还原速度还是不能满足要...
聊聊Oracle可传输表空间(Transportable Tablespace)(上)
我们在Oracle环境中,有很多进行数据备份和移植手段,如exp/imp、expdp/impdp和rman等。在这些方法中,可传输表空间(Transportable Tablespace)一直是传统意义上最快数据移植的技术手段。理想情况下,Tran...
使用dbms_profiler来观察每一行PLSQL程序的执行时间
使用dbms_profiler来观察每一行PLSQL程序的执行时间有时候我们在执行一段比较长的plsql程序的时候,发现执行过程比较慢,但又不知道是哪部分出现了性能问题,这时候应该如何快速找到最耗费时间的部分呢?当然有很多方法,但这里推荐一种方法,可以使用dbms_profiler包来观察每一行代码的执行次数和时间。一、操作步骤1. ...
表收缩技术
段空间收缩segment shrink,从10g开始支持。频繁的DML操作,会导致段空间产生大量空隙。观察段空间状况:点击(此处)折叠或打开select sum(bytes)/1024/1024 from dba_segmentswhere segment_name='t_table';结合表的行数,判断空间使用率。压...
对SGA和PGA的优化建议
1. SGA 1.1 Buffer Cache 1.2 Shared Pool2. PGA基准SGA和PGA的设置对OLTP系统:SGA = 物理内存 * 80% * 80%PGA = 物理内存 * 80% * 20%对OLAP系统:SGA = 物理内存 * 80% * 50%PGA = 物理内存 * 80% * 50%1. 1 Buffer CacheBuffer Cache如果想手工设定,建议设...
表分区和索引分区
分区设计建议1)选择什么类型的分区:变化量大的选择范围分区,变化量小的选择哈希分区。2)选择分区索引:本地前缀索引最佳,另外有本地非前缀索引和全局分区索引,后者性能佳,但一旦删除一个分区则必须重建;前者可以直接删除一个分区。3)如果有些分区数据不会再变化(例如以时间分区),建议将不同分区存放在不同...
排序和表连接
1. 排序金句:能不排序就不排序!处order by之外,一些隐含排序语句:distinctunion(union all不排序)2. 表连接优化嵌套循环连接:可在被驱动表的连接字段和其他约束条件字段上建立复合索引,如点击(此处)折叠或打开select e.*, d.*from emp e, dept d...
语句共享性问题
在AWR报告中,有Execute to Parse%表示语句解析的比率。如果觉得解析比率过低,找出只执行一次的语句:点击(此处)折叠或打开select sql_text from v$sqlareawhere executions=1order by upper(sql_text);根据查询结果,分析是否可以...
索引优化和维护
索引设计的建议(针对B树索引)1)选择可选性高的字段建立索引。2)对于多表连接,选择被驱动表的连接字段建立索引3)如果选择字段有多个但可选性都不高,建议创建复合索引,复合索引的首个字段应选择使用率最高的字段为了避免索引被抑制,SQL语句中应避免以下情况:1)字段类型不匹配2)条件语句中使用了函数(包...
在AIX下为Oracle调整网络参数
参考联机文档,不仅适用于RAC架构。2.4.3 Configure Network Tuning ParametersVerify that the network tuning parameters shown in the following table are set to the values shown or higher values. The procedure following the table describes how to verify and set the values....
在AIX下为Oracle调整磁盘I/O参数
A. AIO(异步IO)A. AIO(异步IO)异步I/O允许多个进程发起I/O,而不用等待和阻塞。AIO的参数:minservers aioservers最小数量,取最小CPU和10中的较小值maxservers aioservers最大数量,根据《文平》和《Oracle联机文档》的建议,设...
检查Oracle的锁状态并清除问题会话
当多个会话想同时访问一行数据,就有可能发生锁的争用。查询会话锁定状态:点击(此处)折叠或打开select /*+ ordered */ username, v$lock.sid, trunc(id1/power(2,16)) rbs,bitand(id1,to_number('ffff','xxxx'))+0 slot,id2 seq, lmode, request...
使用V$视图观察Oracle运行状况
1)V$SGASTAT: SGA内存分配状况2)V$SYSSTAT: 数据块缓存区命中率3)V$ROWCACHE 数据字典命中率4)V$LIBRARYCACHE &nb...
调整PL/SQL代码加速执行(2例)
1. 调整变量类型NUMBER为PLS_INTEGER。调整前插入300,000行数据,运行时间00:09:57.30;调整为PLS_INTEGER后,运行时间下降到00:06:47.40。结论:PLS_INTEGER可以使用更少的内部命令来处理。2. 调整MOD函数例:点击(此处)折叠或打开BEGIN stop_...
使用SQL调整顾问得到SQL优化建议
SQL调整顾问可以通过SQL*PLUS或EM调用。一般分为3个步骤:1. 创建调整任务。2. 执行调整任务。3. 查看结果。创建调整任务:点击(此处)折叠或打开DECLARE tuning_task_name VARCHAR2(30); tuning_sqltext CLOB;BEGIN...
从DBA_HIST_SQLSTAT视图中查找过去时段最占用资源的会话
超过阀值的SQL语句会在AWR中保存一段时间(默认是7天),可以通过DBA_HIST_SQLSTAT视图查询。点击(此处)折叠或打开select snap_id, disk_reads_delta reads_delta,executions_delta exec_delta, disk_reads_delta /decode(executions_delta, 0, 1,executions_de...
从V$SESSMETRIC视图中找出当前最占用资源的会话
METRIC:度量值,是一个相对值,用来比较多个会话所占用的资源,并非实际值。点击(此处)折叠或打开selectTO_CHAR(m.end_time,'DD-MM-YYYY HH24:MI:SS') e_dttm, -- Interval End Timem.intsize_csec/100 ints, -- Interval size in secs.username ...
使用EXPLAIN PLAN来查看执行计划
确认数据库中已经存在表PLAN_TABLE,否则需要执行utlxplan.sql点击(此处)折叠或打开explain planset statement_id = 'BOM1' forselect idfrom bomwhere id = 100101111;然后用以下命令查询最近一个执行计划点...
Windows下大量SYSMAN会话超出会话限制
平台:Windows 2008 R2(64bit) + Oracle 11g R2(64bit)尝试登陆sqlplus,发现报错如下:ORA-00020: maximum number of processes (150) exceeded观察当前会话情况:点击(此处)折叠或打开select username,count(sid) from v$session group by username;USERNAME ...