Create directory让我们可以在Oracle数据库中灵活的对文件进行读写操作,极大的提高了Oracle的易用性和可扩展性。
其语法为:
CREATE [OR REPLACE] DIRECTORY directory AS 'pathname';

本案例具体创建如下:

create or replace directory exp_dir as '/tmp';

目录创建以后,就可以把读写权限授予特定用户,具体语法如下:
GRANT READ[,WRITE] ON DIRECTORY directory TO username;

例如:

grant read, write on directory exp_dir to eygle;

此时用户eygle就拥有了对该目录的读写权限。

让我们看一个简单的测试:

 SQL> create or replace directory UTL_FILE_DIR as '/opt/oracle/utl_file';Directory created.SQL> declare2    fhandle utl_file.file_type;3  begin4    fhandle := utl_file.fopen('UTL_FILE_DIR', 'example.txt', 'w');5    utl_file.put_line(fhandle , 'eygle test write one');6    utl_file.put_line(fhandle , 'eygle test write two');7    utl_file.fclose(fhandle);8  end;9  /PL/SQL procedure successfully completed.SQL> ![oracle@jumper 9.2.0]$ more /opt/oracle/utl_file/example.txteygle test write oneeygle test write two[oracle@jumper 9.2.0]$

类似的我们可以通过utl_file来读取文件:

   SQL> declare2    fhandle   utl_file.file_type;3    fp_buffer varchar2(4000);4  begin5    fhandle := utl_file.fopen ('UTL_FILE_DIR','example.txt', 'R');67    utl_file.get_line (fhandle , fp_buffer );8    dbms_output.put_line(fp_buffer );9    utl_file.get_line (fhandle , fp_buffer );10    dbms_output.put_line(fp_buffer );11    utl_file.fclose(fhandle);12  end;13  /eygle test write oneeygle test write twoPL/SQL procedure successfully completed.

可以查询dba_directories查看所有directory.

 SQL> select * from dba_directories;OWNER                          DIRECTORY_NAME                 DIRECTORY_PATH------------------------------ ------------------------------ ------------------------------SYS                            UTL_FILE_DIR                   /opt/oracle/utl_fileSYS                            BDUMP_DIR                      /opt/oracle/admin/conner/bdumpSYS                            EXP_DIR                        /opt/oracle/utl_file

可以使用drop directory删除这些路径.

 SQL> drop directory exp_dir;Directory droppedSQL> select * from dba_directories;OWNER                          DIRECTORY_NAME                 DIRECTORY_PATH------------------------------ ------------------------------ ------------------------------SYS                            UTL_FILE_DIR                   /opt/oracle/utl_fileSYS                            BDUMP_DIR                      /opt/oracle/admin/conner/bdump

转载于:https://blog.51cto.com/168ok8/1200651

Create directory命令相关推荐

  1. 【错误记录】Android 文件查看错误 ( Error opening contents of device file ““: Cannot create directory )

    文章目录 一.报错信息 二.解决方案 一.报错信息 Error opening contents of device file "hello.txt": Cannot create ...

  2. hadoop3: mkdir: cannot create directory `/usr/local/hadoop/bin/../logs’: Permission denied

    1.hadoop3: mkdir: cannot create directory `/usr/local/hadoop/bin/../logs': Permission denied 把所有Data ...

  3. 容器编排技术 -- Kubernetes kubectl create clusterrolebinding 命令详解

    容器编排技术 -- Kubernetes kubectl create clusterrolebinding 命令详解 1 kubectl create clusterrolebinding 2 语法 ...

  4. 容器编排技术 -- Kubernetes kubectl create serviceaccount 命令详解

    容器编排技术 -- Kubernetes kubectl create serviceaccount 命令详解 1 kubectl create serviceaccount 2 语法 3 示例 4  ...

  5. 容器编排技术 -- Kubernetes kubectl create rolebinding 命令详解

    容器编排技术 -- Kubernetes kubectl create rolebinding 命令详解 1 kubectl create rolebinding 2 语法 3 示例 4 Flags ...

  6. 容器编排技术 -- Kubernetes kubectl create role 命令详解

    容器编排技术 -- Kubernetes kubectl create role 命令详解 1 kubectl create role 2 语法 3 示例 4 Flags kubectl create ...

  7. 容器编排技术 -- Kubernetes kubectl create quota 命令详解

    容器编排技术 -- Kubernetes kubectl create quota 命令详解 1 kubectl create quota 2 语法 3 示例 4 Flags kubectl crea ...

  8. 容器编排技术 -- Kubernetes kubectl create poddisruptionbudget 命令详解

    容器编排技术 -- Kubernetes kubectl create poddisruptionbudget 命令详解 1 kubectl create poddisruptionbudget 2  ...

  9. 容器编排技术 -- Kubernetes kubectl create namespace 命令详解

    容器编排技术 -- Kubernetes kubectl create namespace 命令详解 1 kubectl create namespace 2 语法 3 示例 4 Flags kube ...

  10. 容器编排技术 -- Kubernetes kubectl create deployment 命令详解

    容器编排技术 -- Kubernetes kubectl create deployment 命令详解 1 kubectl create deployment 2 语法 3 示例 4 Flags ku ...

最新文章

  1. RabbitMQ学习(1):安装
  2. mongodb @aggregation 返回字段映射不上_MongoDB---基于分布式文件存储的数据库(二)...
  3. ML 自学者周刊:第 2 期
  4. python try else_python try/except/else与递归
  5. autowired的对象为null_spring-为什么我的@Autowired对象为null?
  6. php _get返回,php如何无刷新获取get返回值
  7. NYOJ98 - 成绩转换
  8. 语法制导定义 SDD
  9. 九大类背包问题专题1---01背包问题(二维和优化一维法附代码)
  10. CAS实现单点登录SSO执行原理探究超详细
  11. Jquery 强大的表单验证操作
  12. 回声消除技术--整理编
  13. Excel中index和match结合解决vlookup匹配出错问题
  14. iOS Apple Pay(银联渠道) 、云闪付
  15. plsql快速导入sql文件
  16. 同步辐射X射线断层扫描成像在各行业的应用
  17. 深圳弘辽科技电商:拼多多“砍单免费拿”:一场关于人性的较量
  18. 【东大自控笔记9】一文掌握根轨迹法
  19. 5G时代的物联网:福器还是凶器
  20. DMA方式、中断方式的传输速率比较

热门文章

  1. ai作文批改_每日即评 | 积极适应“AI批改作文”的潮流
  2. java argument parse_snmp4j 之 ArgumentParser
  3. linux网络总线的作用,I2C总线是什么?基于I2C总线的Linux系统有哪些优点?
  4. eja智能压力变送器工作原理_eja变送器详解_eja变送器工作原理_eja变送器如何选型...
  5. 机器学习和深度学习_人工智能、机器学习和深度学习三者关系?
  6. 查看Linux版本命令
  7. 帆软数据集函数ds1.select()和ds1.group()函数的使用
  8. 会议室预约微信小程序推荐_又是BYPASS!微信小程序预约 YEEZY BOOST 350 V2 只要3S就能搞定!...
  9. 我的第一个博客正式注册
  10. Spring-boot + Mybatis-plus 3.0-gamma 配置记录