批量插入数据时主键冲突的处理
客户有这样一个需求:有一个大表A,有主键,经常需要往这个表中批量插入大量数据,但插入的数据可能自身重复或者跟表A重复。下面测试几种插入的方法:DB:ORACLE 11.2.0.4新建测试表:新建表scott.tb_01create table scott.tb_01 as SELECT level c1,level c2,level c3 FROM DUAL...
oracle实用sql(15)--查看SQL执行计划的顺序
Adrian Billington提供了一个xplan.sql在dbms_xplan.display_XXX的基础上增加了执行计划的顺序号,这个对于分析特别复杂的执行计划有时会派上用场。如果只想简单一点看一下执行计划的顺序,我们可以参考xplan.sql中build_order_map过程的排序SQL实现。查看SQL的执行计划+执行计划顺序:with sql...
oracle ora-60 deadlock发生在多个会话的情况
ora-60错误可以发生在两个会话之间,即两个会话之间互相持有一个对方等待的资源(A deadlock occurs when a session (A) wantsa resource held by another session (B) , but that session also wants a resourceheld by the first session (A). )。如果几个会话之间的资源争用是环形,这也是...
电脑使用手机共享上网省流量的方法
外出有时候需要临时使用手机共享的方法来让电脑上网,但电脑通常没有流量限制,一旦接入网络,流量就变的不可控制,特别象安全卫士、电脑管家这些程序。虽然象360安全卫士这个软件可以控制各个软件的网络流量,windows的防火墙也可以控制允许那些软件访问网络,但默认...
oracle存储过程中authid current_user和authid definer
DB Version :11.2.0.4用户system:create or replace procedure p_test asbegin dbms_output.put_line(v_count);用户system授权scott有执行这个存储过程system.p_test的权限。用户scott:beginend;ORA-00942: table or view does not exist...
oracle自动化同步两库用户的统计信息
一些测试需求,需要同步两库用户的统计信息,例如需要生产环境的统计信息同步到测试库,可以通过dbms_stats下的包export_*/import_*配合dblink来实现。以下举例:DB VERSION:11.2.0.4源库:ct6601目标库:ct6602步骤1:源库,新建用于导出用户统计信息的表begin dbms_stats.create_...
AIX 安装Oracle 11g RAC 内存及网络参数说明
1.虚拟内存参数IBM 建议的值为:minperm%=3maxperm%=90maxclient%=90lru_file_repage=0strict_maxperm=0strict_maxclient=1page_steal_method=1minperm%:应该用于缓存非计算性分页的最小内存量maxperm%:应该用于缓存非计算性分页的最大内存量maxclient%: 应该用于缓存非计算性客户端分页的最大内存量的限制...
通过dbms_backup_restore修改oracle的dbid
某些应用场景需要修改oracle的dbid,oracle自带的nid工具可以修改dbname,产生新的dbid,但不能直接指定dbid。通过跟踪nid的执行过程,发现它主要是调用了dbms_backup_restore下的存储过程,而dbms_backup_restore.nidbegin是可以指定新的dbid的。跟踪的方法:--测试前请做好备份1.关闭数据库...
oracle实用sql(14)--查询分区表的分区列和子分区列
SELECT * FROM (SELECT B.OWNER, B.TABLE_NAME, B.PARTITIONING_TYPE, &nb...
oracle实用sql(13)--并发简单模拟
1.准备并发测试的内容create or replace procedure p_task isbegin for i in 1 .. 5000 loop for j in (select * from scott.emp where empno=7369) loop null; end loop; end loop;end;2.通过JOB的形式实现并发--JOB的并发度依...
oracle实用sql(12)--查询数据是否在某个用户下各个表的各个列
--存放用户的用户名,表名,列名,列类型,批次号(表中50个列分一个批次)。owner根据自己的需求改--drop table tb_all_columncreate table tb_all_column as select owner, table_name, column_name, data_type,trunc(row_number() over (partition by owner,table_name order by 1)/50) lot from dba_tab_c...
ORACLE通过BIND_AWARE+SQL PATCH解决SQL绑定变量中数据倾斜的问题
绑定变量在OLTP系统中是解决硬解析问题的有利手断,但如果某SQL使用的索引中过滤字段存在数据倾斜(数据分布不均匀)的问题,就可能造成数据库性能异常。从Oracle 9i引入的BIND PEEK不能解决这个问题,因为bind peek只是发生在第一次硬解析;从11G引入了ACS(adaptive cursor sharing)...
Oracle安装Patch相关笔记
Patch Set是在大版本上来修复多个bug的补丁集,例如11.2是一个大版本,11.2.0.4就是一个Patch sets。PSU(Patch Set Updates)是Oracle比较推荐的补丁更新集,包括了CPU以及一些影响比较严重的补丁。例如11.2.0.4.x就是一个PSU。它有RDBMS PSU和GI PSU,GI PSU中包含了RDBMS PSU。CPU(Critical Patch Update)/SPU(Securi...