如何只导出一个用户下的表、触发器或过程

xpzhou 2007-04-12 08:18:15
如何只导出一个用户下的表、触发器或过程?在PL/SQL DEVELOPER里可以吗?听说TOAD可以,哪里有破解版的TOAD下载?
...全文
286 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
meyou123 2007-04-16
  • 打赏
  • 举报
回复
可以把存储过程语句取出来,重建。
用pl/sql developer工具很方便
或者用以下存储过程写入指定的txt文件
先修改或添加init.ora的UTL_FILE_DIR参数
例如:
utl_file_dir=G:\oracle\temp //保存文本的路径为G:\oracle\temp
此过程将用户FILE_OWNER的过程FILE_NAME的代码保存到G:\oracle\temp\TEXT.TXT中
create or replace procedure PRO_TO_TXT(FILE_OWNER VARCHAR2,FILE_NAME VARCHAR2)
is
file_handle utl_file.file_type;
STOR_TEXT VARCHAR2(4000);
N NUMBER;
I NUMBER;
begin
I:=1;
SELECT MAX(LINE) INTO N FROM ALL_SOURCE WHERE OWNER=FILE_OWNER AND NAME=FILE_NAME AND TYPE='PROCEDURE';
file_handle:=utl_file.fopen('G:\oracle\temp','test.txt','a');
utl_file.put_line(file_handle,'PROCEDURE NAME:'||FILE_NAME);
WHILE I<=N LOOP
SELECT TEXT INTO STOR_TEXT FROM ALL_SOURCE WHERE OWNER=FILE_OWNER
AND NAME=FILE_NAME AND TYPE='PROCEDURE' AND LINE= I;
I:=I+1;
utl_file.put_line(file_handle,stor_text);
END LOOP;
utl_file.fclose(file_handle);
commit;
end PRO_TO_TXT;
/
xpzhou 2007-04-15
  • 打赏
  • 举报
回复
我的意思是:只想导出该用户下的存储过程,如何写EXP命令?
haisenmai 2007-04-13
  • 打赏
  • 举报
回复
exp system/password owner=username buffer=10000000 direct=y file=e:\11.dmp log=e:\11.log
xpzhou 2007-04-13
  • 打赏
  • 举报
回复
请问如何写具体EXP命令
tgm78 2007-04-13
  • 打赏
  • 举报
回复
按照属主导出,即:owner

楼上说的对
jdsnhan 2007-04-12
  • 打赏
  • 举报
回复
exp 足以

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧