2008年7月17日 08:43 pm

Oracle 的一些学习心得

已经是培训的第四天,感觉时间过得很快,明天就是最后一天。这也表示我对培训的总体感觉不错。看来过一段时间就离开日常的工作来这么一个星期的脱产充电还是很必要的。

虽然自己在7年前就开始接触 Oracle (那是好像是Oracle 7)了,而且日常的工作也是与这个数据库程序打交道。但是繁忙的日杂已经将自己磨得没有心思去研究它每次版本更新的新功能了。所以这次的培训,不但让自己再一次系统地回顾Oracle数据库中的各种功能,也对新版本10g(不过,Oracle现在是11g了,又得跟进,嗨)中一些新功能有了一些新的认识。


首先要说的就是从9i开始有的External Table类型。主要是自己工作中要接触到一些外部数据,象另一个系统传过来的文本文件.txt格式航班信息。以前都是用自己写的SQL loader脚本将他们加载到一个临时table里,然后再做其他数据库操作。有了External Table就不一样了,虽然底层继续使用loader的技术,但可以通过External Table直接在Oracle使用文本文件的数据。虽然每次在使用 select 命令调用这个外部table时,Oracle每次都使用加载命令将文本文件的数据调入内存,但总体来说比自己用加载脚本强多了。

不过要注意

1)在表明文本文件或其他外部数据文件的数据分隔符时一定要小心,要不虽然你的生成外部table命令可以通过,但在调用外部table的数据时会带来意想不到的错误或直接是系统长时间没反应。昨天在练习时,自己在分隔符逗号前后不小心加了个空格如 ‘ , ‘,而指向的外部文件里的逗号是直接接着数据的,所以每次我在调看external table时系统都报错。我抓破了头皮才将问题的罪魁祸首-逗号前的空格找出来。切记!

2)每次在external table上使用 select 命令时,loader都会在数据服务器上生成一个log日志文件并将以后的log附加上去。如果你调用external table很频繁并关心服务器空间的话,可以建议时不时删除那个log文件(可以在传输外部文件里的脚本加上删除文件命令的)。一般那个文件名就是你的external table的table名字加上系统时间,和它的文件后缀名就是.log。不要删除错了。另外,那个出错的日志文件后缀名是.bad,可以留下来看看怎么回事。

标签关键词: ,
相关网络话题:

相关文章

文章导航

【前一篇】: 从范美忠事件想起要谈的三两事 (接着侃) »
【后一篇】: 另外一个便宜的网上眼镜店 »

尚无评论

Trackback URI | Comments RSS

阅读完毕,有话要说?请多指教:

    • 赞助链接

    • 最新评论

    • 网站功能

    • 免责声明

      Blog Logo欢迎光临超凡工作室的中文网络日记【超凡博俗】之 IT 博客系列【数码人生】,由WebGuru[网络精灵]维护管理 Powered by SuperIT Web Studio Copyright ©2007 All rights reserved.

      该博客网站上所有文章除特别注明外都是由 WebGuru 个人著作,并不代表 WebGuru 所在公司及所从属的协会等的观点。如果,你认为本人文章所涉及的内容有版权侵犯或名誉损害之嫌,请及时写信通知,我会尽快审核并作出相应撤文行动。同样,如果你想要引用本博客站的有关文章,请保留全文并注明出处!

      Powered By
      SuperIT Web Studio