导出ORACLE中指定的程序包\视图等.

本文介绍了如何利用dbms_metadata在ORACLE数据库中导出特定的程序包、视图和触发器,特别是针对以CUX或XXD开头的客户化程序。首先需要设置服务器上的文件路径,并在数据库中创建directory对象并赋予apps用户权限。
摘要由CSDN通过智能技术生成

最近由于项目原因需要导出系统中有所的客户化程序包\视图\触发器等,试了不少办法,感觉使用dbms_metadata来导入ddl是最为方便的,代码中为了防止utl_file输出溢出采用了raw转换,如果大家觉得还有更好的方法也可以提出来一起讨论.

首先需要在服务器上创建好需要导出文件的文件路径,并在数据库中创建成directory并授权给apps用户(需要使用到system用户).

因为本次项目的所有客户化程序都是按照规范CUX或者是XXD开头的,可以根据自己的实际需求修改查询范围.

 

--服务器上创建目录
--例子中是在/usr/tmp/coa_out_put 目录下
--修改目录权限

--chmod 776 coa_out_put

--使用system用户 创建目录

--create or replace directory CUX_OUT_PATH as '/usr/tmp/coa_out_put/';

--授权目录读写给apps用户

--grant read, write on directory CUX_OUT_PATH to apps;

DECLARE

  l_limit          CONSTANT NUMBER := 2000;

 

  l_clob            CLOB;

  l_output_patch   VARCHAR2(30) := 'CUX_OUT_PATH';

  l_output         utl_file.file_type;

  l_file_name      VARCHAR2(360);

  

  CURSOR cur_program IS

  SELECT ds.owner, ds.name,ds.type

    FROM dba_source ds

   WHERE 1=1

     AND regex
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值