Oracle的小技巧

DBMS_OUTPUT缓存溢出?

在使用DBMS_OUTPUT输出时,有时会遇到这样的错误:

ORA-20000: ORU-10027: buffer overflow, limit of 2000 bytes

我们可以通过dbms_output.enable(20000)设置一个更大的缓存。

如何生成带日期的文件名?

在UNIX上,使用`date +%y%m%d` (`这个是键盘上~所在的那个键),例:

touch exp_table_name_`date +%y%m%d`.dmp

Windows上,使用%date:~12%,其中12是取日期,你可以改成其它你需要的数字。

如何改变SQL*PLUS的默认编辑器?

在WINDOWS下,SQL*PLUS的默认编辑器是NOTEPAD,我们有时希望改变它,例如使用很多程序员喜欢的UlteraEdit等,我们可以在SQL*PLUS提示符下使用
DEFINE _EDITOR="<编辑器的完整路经>" -- 必须加上双引号
来定义新的编辑器,也可以把这个写在$ORACLE_HOME/sqlplus/admin/glogin.sql里面使它永久有效。

在UNIX下我们可以将其指向vi:DEFINE _EDITOR=vi。

如何快速下载oracle补丁?

我们首先在Metalink中查到相应补丁的信息,一般在http下载页面可以发现FTP的下载地址:

ftp://updates.oracle.com

然后我们可以用命令方式先进入站点看看,你会发现跟目录下什么都没有:

ftp> ls
200 PORT command OK.
150 Opening data connection for file listing.
226-Listing complete. Data connection has been closed.
226-It is the policy of this server to deny all
226-requests to list from the root directory.
226-Only directories with names which match
226 bug numbers exist and there are too many to be listed.
ftp> cd 3095277 --这是9204的补丁号
250 Changed directory OK.
ftp> ls
200 PORT command OK.
150 Opening data connection for file listing.
p3095277_9204_AIX64-5L.zip
p3095277_9204_AIX64.zip
p3095277_9204_HP64.zip
p3095277_9204_HPUX-IA64.zip
p3095277_9204_LINUX.zip
p3095277_9204_SOLARIS.zip
p3095277_9204_SOLARIS64.zip
p3095277_9204_TRU64.zip
p3095277_9204_WINNT.zip
226 Listing complete. Data connection has been closed.
ftp: 237 bytes received in 0.02Seconds 11.85Kbytes/sec.
ftp>

好了,现在我们知道了具体补丁的地址,如:p3095277_9204_AIX64-5L.zip的ftp下载地址为:

ftp://updates.oracle.com/3095277/p3095244_9204_AIX64-5L.zip

知道了这个信息,我们就可以用flashget或网络蚂蚁进行下载了。需要输入的认证用户名和密码就是你metalink的用户名与密码。