环境情况: 数据库服务器 linux oracle 11g, 客户机 win 2008 x64, oracle 10g x32 客户端驱动
现在需要通过expdp 导出 数据库dmp文件, 按照 用户导出。
*** 作步骤: 在客户机上导出一直报 协议适配器错误的, 最后网上说必须在 数据库服务器上导出才行,在数据库服务器上, 按照如下步骤 *** 作,最后还是报错
1 执行以下语句,创建“exp_db”文件夹。
mkdir exp_db
2 执行以下语句,为“exp_db”文件夹赋予读、写和执行权限。
chmod 777 exp_db
3 执行以下语句,以sysdba用户登录oracle数据库服务器。
sqlplus sys/system@orcl as sysdba
4 执行以下语句,将“exp_db”指定为“/oracle/app/exp_db”。
create or replace directory exp_db as '/oracle/app/exp_db'
commit
5 执行以下语句,将“exp_db”的读、写和执行权限赋给xx(数据用户名)用户。
grant all on directory exp_db to xir_app
6 执行以下语句,退出oracle数据库服务器。
quit
7执行以下语句,将xir_app用户的数据全部备份“exp_db”目录下。
下面两条语句都有报错
expdp xir_app/xpar%123@orcldb schemas=xir_app directory=EXP_DB dumpfile=xirappdmp logfile=xirapplog;
expdp system/system @orcldb schemas=xir_app directory=EXP_DB dumpfile=xirappdmp logfile=xirapplog;
由于发不了, 我手工输入下 错误提示吧, 希望大家给予帮助啊
第一条语句的错误是 ora-39002: invalid operation
ora-39070: unable to open the log file
ora-29283: invalid file operation
ora-06512: at ''sysutl_file'',line 536
第二条语句的错误提示是 UDE-00014: invalid value for parameter, 'attach'
expdp是在服务器上 *** 作的,建的这个目录也是服务器上的;而且这个目录需要预先在服务器上建好,此处是在Oracle中建立一个逻辑目录,指向服务器上的物理目录。
exp是在客户端 *** 作
这两个工具是不一样的。
你是要导入导出 数据?还是表结构、视图、存储过程这些东西? 如果是前者用exp/imp or expdp/impdp(10g以后支持) 就可以,详细的用法搜索一下就可以得到,后者的话要看sqldeveloper的版本,3或者以上的for windows的版本不知何故取消了导出功能,但是2的版本是支持导出的, 奇怪的是for linux的版本不管是2还是3都有这个功能,不知道为何会出现此种差异。下图所示是sqldeveloper 211版本的截图 Tools=>Database Export
实现的方法和详细的 *** 作步骤如下:
1、第一步,如果要从Oracle实例orcl导出多个dmp文件表,则在打开cmd窗口后,首先设置环境变量以将Oracle实例切换为orcl(设置ORACLE_SID
= orcl),然后登录到sqlplus
,如下图所示,然后进入下一步。
2、其次,完成上述步骤后,可以使用sql语句“select from dba_directories”以查看当前实例下可用的dmp导出目录。
导出dmp文件时,可以选择其中之一,如下图所示,然后进入下一步。
3、接着,完成上述步骤后,退出sqlplus并使用命令“expdp”导出需要的数据库表dmp文件,如下图所示,然后进入下一步。
4、最后,完成上述步骤后,就可以将该文件导入实例orcl中的另一个用户,如下图所示。这样,问题就解决了。
expdp user/password directory=DPUMPDIR dumpfile=prodeduredmp include=PROCEDURE
存储过程按用户导出 include=PROCEDURE
当然PROCEDURE 也可以换成其它对象如:
INDEX,TABLE,FUNCTION,VIEW,DATABASE LINK,SYNONYM,PACKAGE BODY,SEQUENCE,LOB,PACKAGE
1)按用户导
expdp scott/tiger@orcl schemas=scott dumpfile=expdpdmp DIRECTORY=dpdata1;
2)并行进程parallel
expdp scott/tiger@orcl directory=dpdata1 dumpfile=scott3dmp parallel=40 job_name=scott3
3)按表名导
expdp scott/tiger@orcl TABLES=emp,dept dumpfile=expdpdmp DIRECTORY=dpdata1;
4)按查询条件导
expdp scott/tiger@orcl directory=dpdata1 dumpfile=expdpdmp Tables=emp query='WHERE deptno=20';
5)按表空间导
expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespacedmp TABLESPACES=temp,example;
6)导整个数据库
expdp system/manager DIRECTORY=dpdata1 DUMPFILE=fulldmp FULL=y;
以上就是关于linux 11g expdp 导出报错求助全部的内容,包括:linux 11g expdp 导出报错求助、服务器上的oracle数据库用expdp导出数据到本地时:create directory dpdata1 as 'D:\temp\dmp';、oracle sqldeveloper 如何从数据库导入/导出数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)