nls设置相关的两个视图
1.查看数据库有效的nls相关参数SQL> select * from 2 ( 3 select row_number()over(partition by parameter order b...
使用 DBMS_SCHEDULER执行外部命令
使用 DBMS_SCHEDULER可以很方便的执行操作系统下的命令或脚本,这样在执行一些定时脚本时就不需要依赖于操作系统的计划任务或crontab了。如下,创建定时执行exp导出的定时任务:一。创建job1.创建job...
set autotrace on 产生不准确的执行计划
SQL> select count(*) from test; COUNT(*)---------- 500000SQL> select count(*) from test where id=498671; COUNT(*)---------- 1在id上有索引,显...
通过10046跟踪对比rownum和rowid两种分页方式的性能
有两种分页查询的实现方式,分别是传统的基于rownum的和基于rowid的方式,写法如下:-----基于rownum的分页方式SELECT * FROM ( select t.*,rown...
一个禁用和启用外键约束及触发器的脚本(转)
最近在做一个项目时,要往测试环境里加载数据,需要先把外键约束及触发器等先disable,这样就不用考虑导入的先后关系了,从网上找了一个脚本,在此记录之:--禁用脚本SET SERVEROUTPUT ON SIZE 10000BEGINfor c in ...
plsql学习范例--在动态sql中指定绑定变量的输入输出模式
在动态plsq中,对于in out 类型的变量,在绑定时需要指明in out模式: SQL> create or replace procedure create_dept( 2 deptid in out number, 3 d...
使用oracle外部表进行数据加载
最近在使用sql loader进行数据的导入,顺便测试体验了一把oracle外部表的功能,如下:SQL> conn / assysdba已连接。 会话已更改。 SQL> create orreplace directory scott_dir as 'c:\...
一个实现行变列的存储过程
最近一个项目,需要实现动态的行变列的功能,写了一个存储过程,收录之:---创建函数f_split_str,输入n个奶站的sid列表,依次输出第1到n个奶站的sidCREATE OR REPLACE FUNCTION f_split_str(p_str VARCHAR2...
空值对not in执行计划的影响
如果优化器不确定是否包含空值,只能采用filter操作,而无法选择hash join,原因是无法对空值做hashSQL> l 1 select * from t where id not in(select id from t where 2 (zhifang ...
数据泵import之 network_link 参数
在导入数据时,可以通过network_link参数,直接将远程数据库的数据导入到本地数据库,中间不产生任何的导出文件。具体操作步骤如下: 检查db link是否存在,如果不存在需要创建 SQL> select * ...
数据泵expdp之network_link 参数
使用数据泵的network_link参数,可以在本地的数据库中创建一个指向远程数据库的db link,在执行导出时,指定network_link参数为dblink名称,就可以直接将远程数据库的数据导出到本地数据库里创建的directory下面:...
变化无常的filter操作
一。问题由来:xxx数据库上一个sql性能突然下降,从原来的耗时不到1秒,降低到8秒左右,而涉及到的表数据量并没有发生大的变化,将数据导入到测试环境中执行,耗时35秒之多二。初步分析通过10046事件,可以跟踪...
listener挂起时的诊断步骤
如果遇到客户端报告 ORA-12520错误,导致无法连接数据库。处理步骤如下: 使用Oracle用户:$ps -ef| grep tnslsnr检查并记录进程号。 AIX使用如下命令$truss -aef -o output.txt -p <tnslsn...
几个查询streams环境下capture和apply状态的视图
-----目标端apply情况Set lines132col apply_name fora15col source_databasefor a15selectapply_name,source_database,applied_message_number,oldest_message_number,apply_timefrom dba...
用dbms_random包获取随机时间
取100天内的随机时间精确到秒: SQL> SELECT TO_DATE (TRUNC (DBMS_RANDOM.VALUE (TO_NUMBER(TO_CHAR (SYSDATE - 100, 2 &nbs...
global_name设置为true时 db link 的创建和使用
远程数据库名: SQL> show parameter db_name NAME &...
/var/tmp/.oracle目录权限被修改导致listener启动失败
在系统里装了weblogic之后,把/var目录下的一些权限改了,导致启动listener失败:-bash-3.00$ lsnrctl start LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 27-JUL-201123:32:25 ...
Semi join 与anti join
1.semi join Oracle在处理exists或in的时候,会使用semi join的连接方式: sys@EBANK>select object_name,object_type from test where object_type in(select object_type from dept where d...
索引数据块的重用机制探究(2)
再看一下branch block的重用机制,删除一个branch block下的所有记录: sys@EBANK>delete from test where id <=315840; 315340 rows deleted. sys@EBANK>commit; Commit comple...
索引数据块的重用机制探究(1)
创建一个100万条记录的表,其中id 的值为1-1000000,并在id上创建索引: sys@EBANK>create table test (id number(10),comm varchar2(10)) tablespace users; Table created. sys@EBAN...