如何使用 oracle forms 6i 导出模式及其数据
How to export schema and its data with oracle forms 6i
我正在处理 oracle 表单以创建与我连接的用户的备份。
我有一个文本项 :filepath
和一个可以打开文件对话框的按钮 :getfile
,效果很好。
declare
v_file_name varchar2(2000);
begin
:filepath := get_file_name(:filepath);
go_item('savefile');
end;
最后一个按钮将进行备份 :savefile
HOST('exp userid=user/pass@orcl file=:filepath log=:filepath||.log grants=Y full=Y buffer=1024000');
当我按下按钮时,cmd 屏幕卡住并等待确认
EXP-00023: must be a DBA to do Full Database or Tablespace export
(2)U(sers), or (3)T(ables): (2)U >
我不想让用户确认任何事情。如何解决?
只需删除 grants=Y
HOST('exp userid=user/pass@orcl file=:filepath log=:filepath||.log);
或者您可以创建专业代码并动态添加用户名、密码和 connect_string...
DECLARE
cmd VARCHAR2 (255);
un VARCHAR2 (255) := GET_APPLICATION_PROPERTY (username);
pass VARCHAR2 (255) := GET_APPLICATION_PROPERTY (PASSWORD);
conn VARCHAR2 (255) := GET_APPLICATION_PROPERTY (connect_string);
BEGIN
cmd :='exp '|| un|| '/'|| pass|| '@'|| conn|| ' file='|| :filepath|| un|| '_'|| TO_CHAR (SYSDATE, 'DDMMYYYY')|| '.dmp'|| ' log='|| :filepath|| un|| '_'|| TO_CHAR (SYSDATE, 'DDMMYYYY')|| '.log';
MESSAGE ('Exporting...', no_acknowledge);
SYNCHRONIZE;
HOST (cmd, screen);
MESSAGE ('done');
MESSAGE (' ');
EXCEPTION
WHEN OTHERS
THEN
MESSAGE (SQLERRM);
END;
编辑
注:
那不是备份,那是导出,不是备份数据库的真正方法
希望您不要将其用于任何重要的数据。
如果你真的想备份使用RMAN。这是你可以统计的... Getting Started with RMAN
我正在处理 oracle 表单以创建与我连接的用户的备份。
我有一个文本项 :filepath
和一个可以打开文件对话框的按钮 :getfile
,效果很好。
declare
v_file_name varchar2(2000);
begin
:filepath := get_file_name(:filepath);
go_item('savefile');
end;
最后一个按钮将进行备份 :savefile
HOST('exp userid=user/pass@orcl file=:filepath log=:filepath||.log grants=Y full=Y buffer=1024000');
当我按下按钮时,cmd 屏幕卡住并等待确认
EXP-00023: must be a DBA to do Full Database or Tablespace export
(2)U(sers), or (3)T(ables): (2)U >
我不想让用户确认任何事情。如何解决?
只需删除 grants=Y
HOST('exp userid=user/pass@orcl file=:filepath log=:filepath||.log);
或者您可以创建专业代码并动态添加用户名、密码和 connect_string...
DECLARE
cmd VARCHAR2 (255);
un VARCHAR2 (255) := GET_APPLICATION_PROPERTY (username);
pass VARCHAR2 (255) := GET_APPLICATION_PROPERTY (PASSWORD);
conn VARCHAR2 (255) := GET_APPLICATION_PROPERTY (connect_string);
BEGIN
cmd :='exp '|| un|| '/'|| pass|| '@'|| conn|| ' file='|| :filepath|| un|| '_'|| TO_CHAR (SYSDATE, 'DDMMYYYY')|| '.dmp'|| ' log='|| :filepath|| un|| '_'|| TO_CHAR (SYSDATE, 'DDMMYYYY')|| '.log';
MESSAGE ('Exporting...', no_acknowledge);
SYNCHRONIZE;
HOST (cmd, screen);
MESSAGE ('done');
MESSAGE (' ');
EXCEPTION
WHEN OTHERS
THEN
MESSAGE (SQLERRM);
END;
编辑
注: 那不是备份,那是导出,不是备份数据库的真正方法
希望您不要将其用于任何重要的数据。
如果你真的想备份使用RMAN。这是你可以统计的... Getting Started with RMAN