ora-03115:不支持的网络数据类型 oracle,Oracle10g新增DBMS_FILE_TRANSFER包(二)
前面介紹了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
我們一直都在努力堅持原創.......請不要一聲不吭,就悄悄拿走。
我原創,你原創,我們的內容世界才會更加精彩!
【所有原創內容版權均屬TechTarget,歡迎大家轉發分享。但未經授權,嚴禁任何媒體(平面媒體、網絡媒體、自媒體等)以及微信公眾號復制、轉載、摘編或以其他方式進行使用。】
微信公眾號
TechTarget
官方微博
TechTarget中國
總結
以上是生活随笔為你收集整理的ora-03115:不支持的网络数据类型 oracle,Oracle10g新增DBMS_FILE_TRANSFER包(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle里default什么意思,O
- 下一篇: oracle jpa字段加注释,JPA注