数据库连接时密码传输问题
client连接数据库,其密码都是加密后传输的;首次登录失败,如果ORA_ENCRYPT_LOGIN为false,则会尝试第二次明文登录。client上的ORA_ENCRYPT_LOGIN是为了向后兼容而保留的参数。不是sqlnet.ora参数,而是 environmen...
存储过程出现ORA-06508错误
一个存储过程平时执行正常,刚才执行出ORA-06508错误。百思不得其解,好像没有什么不正常的地方啊!后来找到了答案。重现这个错误如下:执行一个存储过程,其运行时间比较长。刚开始运行时,所有的被依赖对象当然都...
不吐不快:另类SQL
select count(*) into num_countfrom (select 1from dualwhere exists (select 1from the_tablewhere the_column = v_valud));你瞧得起这样的程序员吗?另外:强烈鄙视只写代码不写注释的所谓程序员!...
基表ts$, obj$, tab$定义在sql.bsq中
rdbms/admin/sql.bsq 用途:CREATE DATABASE过程中,Oracle会调用$ORACLE_HOME/rdbms/admin/sql.bsq脚本来创建数据字典。据说可以通过手工修改sql.bsq文件来更改数据库字典对象参数,从而实现特殊要求数据库的创建或...
用SQL巧改文件名
有100个文件,编号从1到100,文件名为log1.txt到log100.txt。在有些程序中,排序存在问题,如log1.txt的下一个文件不是log2.txt,而是log10.txt。为了适应这些程序的排序方式,需要将文件编号修改为001到100,也就是...
低级错误:perfstat不能通过查询all_tables得到所有的表
perfstat帐号能通过dba_tables视图查询到所有用户的表,想当然地以为也能通过all_tables查询到所有用户的表。恰好被查询用户有相当一部分表授权给了PUBLIC,因此用perfstat帐号初步查询all_tables时,能查询到一些表...
受不了了,还是将cursor_sharing改回exact吧
两个月以前,将cursor_sharing修改为similar,目的是共享SQL,减少hard parse。最近将大表进行调整,重新进行分区,但以前运行正常的统计程序的执行计划就变得比较怪--总之一言难尽。一怒之下,将cursor_sharing改...
如何为在线的大表创建索引--注意事项
当然是选择在系统业务量小的窗口时间;为了不阻塞其它会话对表的DML,应使用 ONLINE 选项;制定NOLOGGING选项,避免产生大量日志(但表空间级别如果设定为LOGGING,则nologging设置无效);加上COMPUTE STATISTICS,...
在输入sql语句的过程中临时运行sql*plus命令
在输入SQL语句时,常常会忘记列的名字,只好取消已经完成的输入,然后DESC TABLE_NAME,然后重新输入SQL.一个简易的办法是输入回车另起一行,在新行上首先输入#字符,然后紧跟一条SQL*PLUS命令(注意不是SQL语句),...
UPDATE语句-简单形式-子查询形式
关于UPDATE语句一般的update语句格式比较简单,由where过滤子句和set子句组成。当where和set都需要关联一个表进行查询时,整个update执行时,就需要对被关联的表进行两次扫描,显然效率比较低。一般的update语句格式...
jdbc driver与ORA-00600错误 [ttcgcshnd-1], [0]
java虚拟机版本为1.4.2。启动java的数据库应用,立即报ORA-00600错。ksedmp: internal or fatal errorORA-00600: internal error code, arguments: [ttcgcshnd-1], [0], [], [], [], [], [], []trace文件部分内容:O...
数据库主备归档路径
最近在数据库服务器上增加了硬盘,将其作为归档日志和数据库备份的专用盘。先是直接将log_archive_dest_1指向新的磁盘。后来想想不安全:万一这块盘坏了,如果未及时处理,数据库岂不会停顿了?能否设置成:首先往 /...
sql*plus显示执行计划时,如何不折行?
SQL> column plan_plus_exp format a50SQL> select count(*) from the_gateway;Execution Plan----------------------------------------------------------0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=1)1 0...
SQL*PLUS跟踪到的执行计划可能与实际的不相同
SQL*PLUS为了得到执行计划,实际上是另外执行了一条EXPLAIN PLAN FOR xxx语句。一个是SELECT ... 语句,另一个是EXPLAIN PLAN FOR SELECT ...语句,因此产生不同的执行计划,也不应该算是什么不能理解的事情。参见:...
IMP/EXP学习笔记(5)
-------------------------------------------------EXP 可能遇到的错误-------------------------------------------------1. 与数据库版本有关的错误 不能用oracle9.2的exp导出oracle8i的数据会提示:找不到视图解...
一次奇怪的ORA-01722 invalid number错误
ORA-01722 invalid number很容易理解,无须多言,一般发生在显式的to_number()类型转换的参数错误时。前几天我也遇到了一个由于直觉作怪而差点被忽略了的ORA-01722错误。一个查询 select to_number(c.name) as srvty...
删除UNDO表空间包括文件后,空间不释放(17小时后被释放!)
UNDO表空间一直增大到23GB,空间快满了,忍无可忍,按照http://www.eygle.com/archives/2005/11/oracle_howto_shrink_undo_tablespace.html新建并切换到该新UNDO表空间,然后删除表空间及文件DROP TABLESPACE "UNDOT...
V$PROCESS 与 V$SESSION 的对应关系
关系是 1 : 0~n如:会话结束后,进程可以保留;又如:一个进程可以产生两个会话(另一个来统计前一个的 v$sesstat)SQL*PLUS:DISCONNECT 更准确的叫法是 DESTROY_ALL_SESSIONSCONNECT 更准确的叫法是 CREATE_SESSION自...
动态SQL的用途
执行DDL(如CREATE TABLE),数据控制语句(如GRANT)或会话控制语句(如ALTER SESSION)。PL/SQL不允许静态执行这些语句;更多的代码灵活性。例如,我们想在运行时根据实际需求来生成SELECT语句的WHERE子句;或者选择不同...
第二次使用ORACLE的sample功能
select * from my_table SAMPLE(采样比率)where ...SAMPLE关键字跟在表名后面,括号内是采样比率,必须大于0小于100,可以是小数。不知道采样结果的随机性好不好,不过对于一般情况,用起来还是很方便的。一个小问题...