通过Create Directory命令创建相应的Directory之后,可以将目录的访问权限授予其他用户,这样其他用户就能通过外部表访问很多主机上的文件,而不需要登录到数据库服务器。这对很多开发人员也极为方便。
来看一下使用外部表访问跟踪文件的例子(这个例子是用SYS用户来完成的)。
首先创建一个指向跟踪文件路径的Directory:
SQL> show parameter user_dump NAME TYPE VALUE --------------------------------- ----------- ---------------------------- user_dump_dest string /opt/oracle/admin/eygle/udump SQL> create or replace directory udump 2 as '/opt/oracle/admin/eygle/udump'; Directory created. SQL> select * from dba_directories; OWNER DIRECTORY_NAME DIRECTORY_PATH ---------- ------------------------------ ------------------------------ SYS BDUMP /opt/oracle/admin/eygle/bdump SYS UDUMP /opt/oracle/admin/eygle/udump
复制
如果某些操作需要生成跟踪文件:
SQL> alter session set sql_trace=true; Session altered. SQL> select count(*) from dba_users; COUNT(*) ---------- 7 SQL> alter session set sql_trace=false; Session altered.
复制
通过简单的脚本可以获得跟踪文件的名称:
SQL> @gettrcname TRACE_FILE_NAME -------------------------------------------------------------- /opt/oracle/admin/eygle/udump/eygle_ora_29731.trc
复制
然后可以创建外部表用以访问这个跟踪文件:
SQL> create table eygle_ora_29731 ( text varchar2(400) ) 2 organization external ( 3 type oracle_loader 4 default directory UDUMP 5 access parameters ( 6 records delimited by newline 7 nobadfile 8 nodiscardfile 9 nologfile 10 ) 11 location('eygle_ora_29731.trc') 12 ) reject limit unlimited 13 / Table created.
复制
最后,就可以很容易地使用外部表访问和查询这个跟踪文件的内容:
SQL> set pagesize 100 SQL> select * from eygle_ora_29731; TEXT ----------------------------------------------------------------- /opt/oracle/admin/eygle/udump/eygle_ora_29731.trc Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production With the Partitioning option JServer Release 9.2.0.4.0 - Production ORACLE_HOME = /opt/oracle/product/9.2.0 System name: Linux Node name: jumper.hurray.com.cn Release: 2.4.21-15.EL Version: #1 Thu Apr 22 00:27:41 EDT 2004 Machine: i686 Instance name: eygle Redo thread mounted by this instance: 1 Oracle process number: 8 Unix process pid: 29731 *** 2006-10-17 22:15:50.310 *** SESSION ID:(7.141) 2006-10-17 22:15:50.310 APPNAME mod='sqlplus@jumper.hurray.com.cn (TNS V1-V3)' mh=0 act='' ah=0 ===================== PARSING IN CURSOR #1 len=32 dep=0 uid=0 oct=42 lid=0 tim=1133881396787772 hv=3943786303 ad='5ac609d4' alter session set sql_trace=true END OF STMT EXEC #1:c=0 ===================== PARSING IN CURSOR #3 len=37 dep=1 uid=0 oct=3 lid=0 tim=1133881402205250 hv=3468666020 ad='5adae2d8' select text from view$ where rowid=:1 END OF STMT PARSE #3:c=0 EXEC #3:c=0 FETCH #3:c=0 ……………… 84 rows selected.
复制
外部表极大地简化了很多繁琐的管理工作。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Oracle RAC ASM 磁盘组满了,无法扩容怎么在线处理?
Lucifer三思而后行
947次阅读
2025-03-17 11:33:53
Oracle DataGuard高可用性解决方案详解
孙莹
403次阅读
2025-03-26 23:27:33
墨天轮个人数说知识点合集
JiekeXu
346次阅读
2025-04-01 15:56:03
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
336次阅读
2025-04-08 09:12:48
Oracle SQL 执行计划分析与优化指南
Digital Observer
305次阅读
2025-04-01 11:08:44
风口浪尖!诚通证券扩容采购Oracle 793万...
Roger的数据库专栏
286次阅读
2025-03-24 09:42:53
Oracle 19c RAC更换IP实战,运维必看!
szrsu
283次阅读
2025-04-08 23:57:08
切换Oracle归档路径后,不能正常删除原归档路径上的归档文件
dbaking
280次阅读
2025-03-19 14:41:51
oracle定时任务常用攻略
virvle
276次阅读
2025-03-25 16:05:19
Oracle NetSuite 客户说|健合(H&H)集团部署 Oracle NetSuite,全面提升全球运营效率
甲骨文中国
256次阅读
2025-03-28 15:00:30