oracle 导入dmp文件 问题
博文参考:
概要:
从实施方拿到测试库xxx.dmp文件,导入到本地进行测试。
oracle 导入导出的两种方式:
- 直接用oracle菜单栏 工具 导入 、 导出 即可。
- 使用命令的方式。
方式一:
方式二:
导出数据库语句:
EXPDP 用户名/密码 DIRECTORY=DATA_PUMP_DIR DUMPFILE=FSSJCJ.DMP LOGFILE=FSSJCJ.LOG version=11.1.0.6.0
拿到实施给的dmp文件 ,因为事先不知使用方式二进行导出的,我使用方式一进行导入的,结果报错,
即:expdp导出的 却用客户端的 imp 导入
在发现实施是用方式二进行导出之后,相应的用命令的方式进行导入。
于是进行新建表空间 ,用户的操作。
新建表空间:要注意新建的表空间、用户要与实施方的一致
create tablespace FSSJCJ datafile 'D:\oracleDB\FSSJCJ.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local;
创建用户:
create user FSSJCJ identified by FSSJCJ default tablespace FSSJCJ
赋予用户权限:
grant connect, resource to FSSJCJ grant create session to FSSJCJ grant dba to FSSJCJ
CMD进入命令窗口:
登录数据库:(system 用户登录)
sqlplus / as sysdba
创建directory:
create or replace directory dmpdir as 'D:\oracleDB';
退出到DOS命令窗口,执行SQL:
否则出现这样的报错信息:SP2-0734: 未知的命令开头 "imp scott/..." - 忽略了剩余的行
impdp FSSJCJ/FSSJCJ directory=dmpdir dumpfile=FSSJCJ.dmp full=y
出现问题,报错:
ORA-39001: 参数值无效 ORA-39000: 转储文件说明错误 ORA-39142: 版本号 3.1 (在转储文件 "" 中) 不兼容
EXPDP/IMPDP ORA-39142
impdp遭遇ORA-39001、ORA-39000,ORA-39142
原因:
实施数据库版本是11.2,而我的数据库版本为11.1.0.6,导入时不兼容。
于是,实施进行重新导出,导出指定版本:
EXPDP FSSJCJ/FSSJCJ DIRECTORY=DATA_PUMP_DIR DUMPFILE=FSSJCJ.DMP LOGFILE=FSSJCJ0116.LOG version=11.1.0.6.0
再次执行SQL:
C:\Users\xxx>impdp FSSJCJ/FSSJCJ directory=dmpdir dumpfile=FSSJCJ.dmp full=y Import: Release 11.1.0.6.0 - Production on 星期四, 16 1月, 2020 14:03:22 Copyright (c) 2003, 2007, Oracle. All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options 已成功加载/卸载了主表 "FSSJCJ"."SYS_IMPORT_FULL_01" 启动 "FSSJCJ"."SYS_IMPORT_FULL_01": FSSJCJ/******** directory=dmpdir dumpfile=FSSJCJ.dmp full=y 处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA 处理对象类型 SCHEMA_EXPORT/SEQUENCE/SEQUENCE 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA . . 导入了 "FSSJCJ"."MJ_COBRA_REGION" 34.57 MB 3227 行 . . 导入了 "FSSJCJ"."B0605_LOGINFO" 9.083 MB 12931 行 ... ... 处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS 作业 "FSSJCJ"."SYS_IMPORT_FULL_01" 已于 14:04:50 成功完成
到此,导入数据库成功。
Oracle删除用户和表空间
删除USER。
DROP USER XX CASCADE
删除表空间。
DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;
删除空的表空间,不包含物理文件。
DROP TABLESPACE tablespace_name;
删除空表空间,包含物理文件。
DROP TABLESPACE tablespace_name INCLUDING DATAFILES;
删除非空表空间,不包含物理文件。
DROP TABLESPACE tablespace_name INCLUDING DATAFILES;
删除非空表空间,包含物理文件。
DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;