第一种:网上找到的解决方案大多是导出文件时使用的Oracle版本不一致,需要修改dmp文件的版本号。如果您确定版本号确实不同,请自行搜索解决方案。
第二:备份dmp文件时,backed语句可能会使用expdp命令备份的文件。如果文件是由expdp命令备份的,imp import命令也会报告此类错误。
因此,在导出dmp文件时,如果使用expdp命令导出文件,则应该使用impdp命令导入文件。如果使用exp命令导出文件,应该使用imp命令导入。
第二个具体的解决步骤:
1.通常,首先为导入建立表空、实例和用户名。
2.使用impdp命令导入
(1)使用sqlplus或Oracle client (PL/SQL)链接到相应的Oracle数据库实例。
(2)创建一个逻辑目录。这个命令不会在操作系统中创建一个真正的目录。最好用系统等管理员创建。
将目录dpdata1创建为‘d:\ test \ dump ’;(如果服务器上不存在d:\test\dump目录,请手动创建该目录,并将dmp备份文件放在d:\test\dump目录下)
(3)impdp导入数据
impdp bbcj/bbcj @ orcl directory = DP data 1 dump file = ERMS _ 2019 09 23 . 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;
系统忙,用这个方法干掉它。
/*查询已经锁住的对象的SessionId*/SELECT SESSION_ID FROM V$LOCKED_O***ECT;/*查询从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;
本文来自又何必自找失落╮投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/582796.html