oracle forall instructs must be followed by DML

Oracle BULK COLLECT and Oracle FORALL are the new features in Oracle 8i, 9i and 10g PL/SQL that can really make a different to you PL/SQL performance. The keyword FORALL instructs the PL/SQL engine to bulk-bind input collections before sending them to the SQL engine. Although the FORALL statement contains an iteration scheme, it is … Read more

The lowercase and quotes table names may not be able to audit(小写表名可能不会审计)

昨一好朋友问我开了审计,有些表但无审计记录。 下面我来还原这个问题 db_version oracle 10201 for linux SQL> show parameter audit NAME TYPE VALUE ———————————— ———– —————————— audit_file_dest string /u1/oracle/admin/ORCL/adump audit_sys_operations boolean FALSE audit_syslog_level string audit_trail string DB, EXTENDED audit select any table by access; SQL> select os_username,username,terminal,timestamp,owner,obj_name,audit_option from DBA_AUDIT_TRAIL order by 4; OS_USERNAM USERNAME TERMINAL TIMESTAMP OWNER OBJ_NAME AUDIT_OPTION ———- ———- ———- ——————- —————————— … Read more

ORA-1688: unable to extend table SYS.WRH$_ACTIVE_SESSION_HISTORY

1) Export the snapshots and then do a manual purge To purge the Table SYS.WRH$_ACTIVE_SESSION_HISTORY, you may first query the Snapshot History with the query below: select snap_id, begin_interval_time from sys.dba_hist_snapshot order by snap_id; Then, you choose the range of snapshot you want to delete, and you execute the following Procedure: exec dbms_workload_repository.drop_snapshot_range ( low_snap_id … Read more

How to config hugepage on Linux for Oracle(配置大页)

内存管理是一个非常复杂的结构,在操作系统中用Virtual memory System进行内存管理,pagetable是中记录了内存的虚拟地址和物理地址的映射关系,当一个进程真正的访问数据是首先访问的是page table然后转向真实的地址,cpu中有固定的大小来缓存部份的pagetables,这块区域就是translation lookaside buffer(TLB).

about get bind_data column in v$sql(绑定变量值)

今天查看AWR时,发现有个sql占用的cpu很高而且也并不复杂,top 5 event出现了cpu,read by other sessions,而且sql中再次看到的hint index,随后从生产环境中拿到绑定变量参数值进行本地调试,发现hint index 选择了错误的索引一致读为93万,去掉hint立即降低到了36,随后服务器压力将了下来