imp导入备份时报:无法转换为环境字符集句柄 ...

在imp 还原数据库的时候出现问题如下; 这个问题是 你用 expdp导出的 却用客户端的 imp 导入;换成impdp导入即可。

当用impdp 导入 (impdp EMMS/EMMS123 directory=expdir dumpfile=EMMS2.dmp)  却发现 【IMPDP】使用工具IMPDP导入数据时ORA-39002、ORA-39070错误排查      其中 RA-39070   错误指出 没有expdir 对象。

expdir 需要你重新再创建一次如下:

sqlplus /nolog conn /as sysdba

SQL> create or replace directory expdir as ‘E:/Kxdb‘;

目录已创建。

这个过程中要注意的是 Oracle expdp/impdp导出导入命令及数据库备份  2者之间的区别 如下所示:

使用EXPDP和IMPDP时应该注意的事项:

EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。

EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。

IMP只适用于EXP导出的文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出的文件,而不适用于EXP导出文件。

expdp或impdp命令时,可暂不指出用户名/密码@实例名 as 身份,然后根据提示再输入,如:

expdp schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;

一、创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。

create directory dpdata1 as ‘d:\test\dump‘;

二、查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错)

select * from dba_directories;

三、给scott用户赋予在指定目录的操作权限,最好以system等管理员赋予。

grant read,write on directory dpdata1 to scott;

四、导出数据

1)按用户导

expdp scott/[email protected] schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;

2)并行进程parallel

expdp scott/[email protected] directory=dpdata1 dumpfile=scott3.dmp parallel=40 job_name=scott3

3)按表名导

expdp scott/[email protected] TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;

4)按查询条件导

expdp scott/[email protected] directory=dpdata1 dumpfile=expdp.dmp Tables=emp query=‘WHERE deptno=20‘;

5)按表空间导

expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=temp,example;

6)导整个数据库

expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;

五、还原数据

1)导到指定用户下

impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scott;

2)改变表的owner

impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;

3)导入表空间

impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;

4)导入数据库

impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;

5)追加数据

impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION

相对于的参数如下所示:

ATTACH                连接到现有作业, 例如 ATTACH [=作业名]。
CONTENT               指定要加载的数据, 其中有效关键字为:
                      (ALL), DATA_ONLY 和 METADATA_ONLY。
DATA_OPTIONS          数据层标记, 其中唯一有效的值为:
                      SKIP_CONSTRAINT_ERRORS - 约束条件错误不严重。
DIRECTORY             供转储文件, 日志文件和 sql 文件使用的目录对象。
DUMPFILE              要从 (expdat.dmp) 中导入的转储文件的列表,
                      例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp。
ENCRYPTION_PASSWORD   用于访问加密列数据的口令关键字。
                      此参数对网络导入作业无效。
ESTIMATE              计算作业估计值, 其中有效关键字为:
                      (BLOCKS) 和 STATISTICS。
EXCLUDE               排除特定的对象类型, 例如 EXCLUDE=TABLE:EMP。
FLASHBACK_SCN         用于将会话快照设置回以前状态的 SCN。
FLASHBACK_TIME        用于获取最接近指定时间的 SCN 的时间。
FULL                  从源导入全部对象 (Y)。
HELP                  显示帮助消息 (N)。
INCLUDE               包括特定的对象类型, 例如 INCLUDE=TABLE_DATA。
JOB_NAME              要创建的导入作业的名称。
LOGFILE               日志文件名 (import.log)。
NETWORK_LINK          链接到源系统的远程数据库的名称。
NOLOGFILE             不写入日志文件。
PARALLEL              更改当前作业的活动 worker 的数目。
PARFILE               指定参数文件。
PARTITION_OPTIONS     指定应如何转换分区, 其中
                      有效关键字为: DEPARTITION, MERGE 和 (NONE)
QUERY                 用于导入表的子集的谓词子句。
REMAP_DATA            指定数据转换函数,
                      例如 REMAP_DATA=EMP.EMPNO:REMAPPKG.EMPNO
REMAP_DATAFILE        在所有 DDL 语句中重新定义数据文件引用。
REMAP_SCHEMA          将一个方案中的对象加载到另一个方案。
REMAP_TABLE           表名重新映射到另一个表,
                      例如 REMAP_TABLE=EMP.EMPNO:REMAPPKG.EMPNO。
REMAP_TABLESPACE      将表空间对象重新映射到另一个表空间。
REUSE_DATAFILES       如果表空间已存在, 则将其初始化 (N)。
SCHEMAS               要导入的方案的列表。
SKIP_UNUSABLE_INDEXES 跳过设置为无用索引状态的索引。
SQLFILE               将所有的 SQL DDL 写入指定的文件。
STATUS                在默认值 (0) 将显示可用时的新状态的情况下,
                      要监视的频率 (以秒计) 作业状态。
STREAMS_CONFIGURATION 启用流元数据的加载
TABLE_EXISTS_ACTION   导入对象已存在时执行的操作。
                      有效关键字: (SKIP), APPEND, REPLACE 和 TRUNCATE。
TABLES                标识要导入的表的列表。
TABLESPACES           标识要导入的表空间的列表。
TRANSFORM             要应用于适用对象的元数据转换。
                      有效转换关键字为: SEGMENT_ATTRIBUTES, STORAGE,
                      OID 和 PCTSPACE。
TRANSPORTABLE         用于选择可传输数据移动的选项。
                      有效关键字为: ALWAYS 和 (NEVER)。
                      仅在 NETWORK_LINK 模式导入操作中有效。
TRANSPORT_DATAFILES   按可传输模式导入的数据文件的列表。
TRANSPORT_FULL_CHECK  验证所有表的存储段 (N)。
TRANSPORT_TABLESPACES 要从中加载元数据的表空间的列表。
                      仅在 NETWORK_LINK 模式导入操作中有效。
VERSION               要导出的对象的版本, 其中有效关键字为:
                      (COMPATIBLE), LATEST 或任何有效的数据库版本。
                      仅对 NETWORK_LINK 和 SQLFILE 有效。

下列命令在交互模式下有效。 注: 允许使用缩写

命令                          说明 (默认)

CONTINUE_CLIENT       返回到记录模式。如果处于空闲状态, 将重新启动作业。
EXIT_CLIENT           退出客户机会话并使作业处于运行状态。
HELP                  总结交互命令。
KILL_JOB              分离和删除作业。
PARALLEL              更改当前作业的活动 worker 的数目。
                      PARALLEL=。
START_JOB             启动/恢复当前作业。
                      START_JOB=SKIP_CURRENT 在开始作业之前将跳过
                      作业停止时执行的任意操作。
STATUS                在默认值 (0) 将显示可用时的新状态的情况下,
                      要监视的频率 (以秒计) 作业状态。
                      STATUS[=interval]
STOP_JOB              顺序关闭执行的作业并退出客户机。
                      STOP_JOB=IMMEDIATE 将立即关闭
                      数据泵作业。

时间: 2024-12-13 05:44:48

imp导入备份时报:无法转换为环境字符集句柄 ...的相关文章

oracle进行imp导入数据时报错:ORA-12592: TNS: 包错误

使用imp导入数据时,检查发现三百多万条数据的表实际只导入了一百多万条数据,检查导入日志,以下报错信息, [plain] view plaincopy 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data M

oracle中imp导入数据中文乱码问题(转)

(转自  http://blog.chinaunix.net/uid-186064-id-2823338.html) oracle中imp导入数据中文乱码问题 用imp命令向oracle中导入数据后,所有查询出的中文字段都为乱码. 原则上不修改服务器端的字符集,修改服务器端的字符集会出现使用第三方工具登陆数据库出现乱码的情况(具体服务器端的字符集修改办法本文有详细介绍). 将DMP文件的字符集改成与Oracleo数据库服务器端一样之后导入可正常显示.本人的系统是RHEL 5.4 32bit 一.

IMP导入时的错误以及解决办法

导出命令:exp 用户名/密码@localhost:5050/bkcyunty file=D:\bak\db.dmp log=D:\bak\db.log INDEXES=n STATISTICS=none 我的导入命令:imp 用户名/密码@本机IP/orcl full=y file=dmp文件的地址,使用这个命令报错了. 报错的信息: IMP-00058: ORACLE error 12541 encounteredORA-12541: TNS:no listenerIMP-00000: Im

imp导入数据库提示tablespace not found问题。

数据库安装好了,默认使用的事omcl,拿到测试数据库,用plsql导入,提示1秒钟就完成,很明显未成功.于是使用imp导入,结果提示tablespace omc8 not found,于是删除omcl数据库,重建omc8数据库,看看是否可以成功... 漫长的等待.... 说说对oracle的认识吧: 之前接触的主要是sybase,而且都是比较低级层面的东西.这几天学习oracle,对其有了初步了解. oracle对权限的管理非常完善.还有就是数据管理方面也是比较灵活,比如可以扩大表空间,然后数据

oracle 10g\11g用imp导入数据的时候报错:ORA-01658: 无法为表空间 MAXDATA 中的段创建 INITIAL 区 错误解决

备份文件是从11g中通过exp命令导出的,在10g下使用imp导入出现了上述错误,以为是低版本的不支持高版本的备份,于是使用11g测试,还是上面的问题. 其实是表空间大小不够的问题,下面是网上的解答: 表空间不足 先查询MAXDATA表空间数据文件所在路径 select file_name from dba_data_files where tablespace_name = 'MAXDATA' 通过file_name 来得到你当前MAXDATA表空间对应数据文件的路径,然后增加新的数据文件.

oracle IMP导入错误 IMP-00003: ORACLE error 2298

一个项目:需要将数据库从老服务器迁移到新服务器,用exp导出的数据 imp导入exp导出备份时遇到下面错误提示: IMP-00017: following statement failed with ORACLE error 2298: "ALTER TABLE "RESERVATION" ENABLE CONSTRAINT "RESERVATION_FK31252591893468"" IMP-00003: ORACLE error 2298

oracle imp导入数据到另一个表空间

http://blog.163.com/[email protected]/blog/static/7156283420100531431855/ 1.在第一个数据库导出数据:qlyg_xs_db_chinatelecom_0910191029.dmp(用户为QLYG_XS) 2.将qlyg_xs_db_chinatelecom_0910191029.dmp 扶着到第二个数据库所在主机上 3.第二个数据库建立需要导入的表空间和用户QLYGKQ,QLYGKQ1(用户QLYGKQ1的默认表空间为QL

【菜鸟学php】小菜鸟由帝国备份王在Wamp环境下打开500错误浅谈PHP程序员

===================问题情况描述=================== 小弟一直在玩discuz论坛开源程序,这个论坛程序经常涉及到论坛搬家的问题. 今天我在本地Wamp环境下,用开源软件帝国备份王2010进行数据库备份数据,结果打开发现报错500! 这真是坑爹了,回想下以前自己使用这个开源程序进行备份也不下于十几次了,大部分都正常成功, 但也不乏出现这种情况的,小弟之前一般遇到这种问题, 都是直接忽略,换其他办法来进行备份,但是用惯了帝国备份王,换其他的方法备份数据,总感觉难

oracle imp导入库到指定表空间

1.创建表空间 create tablespace example_tablespace datafile 'e:\****.dbf' size 10m reuse autoextend on next 1m maxsize unlimited; 2.创建用户,指定表空间,临时表空间 create user username identified by password default tablespace usertablespace temporary tablespace temp; 3.