网站首页 > 数据库 / 正文
第一种:网上搜索到的大多解决方法是说导出文件时使用的Oracle版本不一致问题,需要修改dmp文件的版本号。如果确定版本号确实不一样,请自行搜索一下解决方法。
第二种:备份dmp文件时,备份的语句可能使用的是expdp命令备份的文件,如果是用expdp备份的文件,使用imp导入命令也是会报这样的错误。
所以:导出dmp文件时,如果使用的是expdp命令导出文件时,应该使用impdp命令导入。如果使用的exp命令导出文件时,应该使用imp命令导入。
第二种具体解决步骤:
1、 一般导入都是先建立表空间、实例、用户名
2、用impdp命令导入
(1) 使用sqlplus或者Oracle客户端(PL/SQL) 链接到相应的Oracle数据库实例.
(2)创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。
create directory dpdata1 as 'd:\test\dump'; (查看服务器上若没有存在d:\test\dump目录,则手动新建,把dmp备份文件放到d:\test\dump目录下面)
(3)impdp导入数据
impdp bbcj/bbcj@orcl directory=dpdata1 dumpfile=ERMS_20190923.dmp FULL=y;
注:
还需要根据导出的dmp,使用的表空间、用户名。(需要提前通过sys/tsingsoft 创建好了)
创建表空间:
create tablespace SEA_A2 datafile 'D:\app\Administrator\product\tablebase\data_1.dbf' size 10000M;
-- 一定要设置自动增长
alter database datafile 'D:\app\Administrator\product\tablebase\data_1.dbf' autoextend on;
oracle删除非空的表空间:
drop tablespace tablespaceName including contents;
查看每个表空间的大小 和查看剩余表空间大小
Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name;
SELECT tablespace_name 表空间,sum(blocks*8192/1000000) 剩余空间M FROM dba_free_space GROUP BY tablespace_name;
系统正忙,使用此方法Kill掉。
/*查询已经锁住的对象的SessionId*/
SELECT SESSION_ID FROM V$LOCKED_OBJECT;
/*查询从session中查询相应的连接的用户和SERIAL*/
SELECT SID, SERIAL#, USERNAME, OSUSER FROM V$SESSION WHERE SID IN(
99
);
/*杀掉相应的session,格式:SID,SERIAL#*/
ALTER SYSTEM KILL SESSION '99,12';
创建函数索引
create index idx_char_P on TMP_ZHENGD_DY_P_20201120 (TO_CHAR(data_date,'yyyymmdd'));
commit;
Tags:导出oracle数据
猜你喜欢
- 2024-11-26 超全备份脚本!涵盖Oracle、MySQL、PG等主流数据库
- 2024-11-26 PCS 7 CFC的常用功能与操作
- 2024-11-26 Oracle常用工具使用 - AWR
- 2024-11-26 「赵强老师」使用Oracle的跟踪文件
- 2024-11-26 数据迁移注意事项【细数Oracle与Mysql不同】
- 2024-11-26 ORACLE大对象LOB移动及导出操作报ORA-01555错误解决
- 2024-11-26 Oracle 19C 数据泵导出的dmp导入 12C 报ORA-39002 错误解决方法
- 2024-11-26 值得收藏的Oracle官方文档学习路线图
- 2024-11-26 「数据库数据恢复」LINUX EXT3下ORACLE数据库误删除的数据恢复
- 2024-11-26 甲骨文Oracle 宣布计划开发强大的生成式 AI 服务