Oracle10g新增DBMS_FILE_TRANSFER包(二)

 
   | |

导读:本文介绍COPY_FILE包的另外两个过程,GET_FILE和PUT_FILE。和COPY_FILE过程唯一不同之处在于,GET_FILE和PUT_FILE过程多了一个参数,这个参数用来指定数据库链信息。

关键词:Oracle 10g COPY_FILE GET_FILE PUT_FILE

正在加载数据...

  前面介绍了COPY_FILE,这里介绍这个包的另外两个过程,GET_FILE和PUT_FILE。这两个过程的功能和FTP的get和put命令是否类似,就是利用数据库的功能将文件在两个数据库服务器之间进行拷贝。和COPY_FILE过程唯一不同之处在于,GET_FILE和PUT_FILE过程多了一个参数,这个参数用来指定数据库链信息。

[oracle@yanttest ~]$ export ORACLE_SID=testzj
[oracle@yanttest ~]$ sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.3.0 - Production on 星期四 5月 7 15:31:47 2009
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.

  连接到:

Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SQL> select directory_path
2 from dba_directories
3 where directory_name = 'D_OUTPUT';

  未选定行


SQL> create directory d_output as '/home/oracle';

  目录已创建。


SQL> grant read, write on directory d_output to test;

  授权成功。

  在远端数据库做好DIRECTORY的准备工作。


bash-2.03$ sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.3.0 - Production on 星期六 3月 7 19:15:24 2009
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.

  连接到:

Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
SQL> grant execute on dbms_file_transfer to test;

  授权成功。


SQL> grant read, write on directory d_output to test;

  授权成功。


SQL> conn test/test已连接。
SQL> create database link testzj 
2 connect to test
3 identified by test
4 using '172.25.13.231/testzj';

  数据库链接已创建。


SQL> begin
2 sys.dbms_file_transfer.put_file(
3 'D_OUTPUT', 
4 'spfiletestrac.ora', 
5 'D_OUTPUT', 
6 'spfiletestzj.ora', 
7 'TESTZJ');
8 end;
9 /
PL/SQL 过程已成功完成。

  已经将本地/export/home/oracle目录下的spfiletestrac.ora文件拷贝到远端站点,下面在利用GET_FILE,从远端读取文件:


SQL> begin
2 sys.dbms_file_transfer.get_file(
3 'D_OUTPUT', 
4 'spfiletestzj.ora', 
5 'TESTZJ', 
6 'D_OUTPUT', 
7 'spfiletestrac.bak');
8 end;
9 /
PL/SQL 过程已成功完成。

  需要注意,这个过程的执行要求本地数据库和远端数据库的版本都是10g以上,否则会出现错误:


SQL> create database link testdata94.emedchina.com 
2 connect to test 
3 identified by test 
4 using '172.25.88.94/testdata';

  数据库链接已创建。


SQL> select * from v$version@testdata94.emedchina.com;
BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production PL/SQL Release 9.2.0.4.0 - Production
CORE 9.2.0.3.0 Production
TNS for Linux: Version 9.2.0.4.0 - Production
NLSRTL Version 9.2.0.4.0 - Production
SQL> col directory_path format a50
SQL> set pages 100 lines 120
SQL> select directory_name, directory_path from all_directories@testdata94.emedchina.com;
DIRECTORY_NAME DIRECTORY_PATH
------------------------------ --------------------------------------------------
DIR_TEST /home/oracle/test
D_TEST /data/oradata/testdata
SQL> exec sys.dbms_file_transfer.put_file('D_OUTPUT', 'spfiletestzj.ora', 'D_TEST', 'spfiletestzj.ora', 'TESTDATA94.EMEDCHINA.COM')
BEGIN sys.dbms_file_transfer.put_file('D_OUTPUT', 'spfiletestzj.ora', 'D_TEST', 'spfiletestzj.ora', 'TESTDATA94.EMEDCHINA.COM'); END;
*第 1 行出现错误:
ORA-03115: 不支持的网络数据类型或表示法
ORA-02063: 紧接着 line (起自 TESTDATA94.EMEDCHINA.COM)
ORA-06512: 在 "SYS.DBMS_FILE_TRANSFER", line 60
ORA-06512: 在 "SYS.DBMS_FILE_TRANSFER", line 168
ORA-06512: 在 line 1


Oracle10g新增DBMS_FILE_TRANSFER包
 Oracle10g新增DBMS_FILE_TRANSFER包(二)
 Oracle10g新增DBMS_FILE_TRANSFER包(一)

原文出处:http://space.itpub.net/batch.viewlink.php?itemid=369993
 
来源:BLOG    作者:杨廷琨    
 
 
 
 
 

Oracle性能与调优

 
在关系型数据库理论中,在任何表中对行列的顺序并没有严格的概念。一个表就是一个数据集,而数据集是没有顺序而言的。
 
在进行Oracle升级过程中,创建测试用例来验证升级并没有对数据或者读取这个数据库的应用造成不良的影响是至关重要的。
 
去年年底当Oracle公司宣布他们的虚拟管理软件Oracle VM时,该公司承诺Oracle应用程序能顺利地被虚拟化,而同时Oracle公司对公众声称它不支持虚拟化系统,不能在……

热门技术手册排行

 

在本次的技术手册中,我们为您提供了PL/SQL的基础知识以及专家指导,包括了PL/SQL中的数据类型简介、PL/SQL函数与触发器以及PL/SQL中的存储过程等,相信您无论是高手还是菜鸟都可以获得有帮助的信息。

 

本系列文章由三部分组成,为Oracle数据库管理员(DBA)面试成功的必备手册。本专题内容囊括从DBA最初的面试开始,从写“杀手简历”到求职信、到面试过程到Oracle认证再到上升到公司高层最后到你成为公司里的明星DBA。专家为你一一指点迷津,最终让你登上成功的宝座。

 

要成为一名DBA,你需要具备哪些素质?DBA的薪酬待遇如何?DBA的职业道路究竟可以走向何方?我们将在本次的技术手册中为您一一解答。

 

在本次技术手册中,我们将对SQL Server存储过程的调试进行详细的介绍,包括了基础的调试方法和在调试过程中出现的T-SQL性能问题和解决方法。

 

本技术专题主要围绕sql server设计这个话题展开,侧重介绍了sql server集簇索引的设计、如何创建sql server索引、如何优化索引、索引的能与不能、处理sql server 2000索引碎片技巧以及维护sql server索引以实现查询优化等等。

查看更多
 
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录