文章插图
文章插图
第一种:网上搜索到的大多解决方法是说导出文件时使用的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 [email protected] 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数据库导出数据量大,特别卡 Oracle数据库导出数据库】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;
- 阿里云的数据库怎么用 如何连接阿里云服务器上的数据库
- oracle认证考试含金量 oracle ocp认证含金量
- pr生成mp4格式设置 pr导出mp4设置
- mysql数据库用户权限设置 mysql数据库权限管理
- mysqldump备份数据库命令 备份数据库命令是什么
- 为什么导出excel乱码 excel导出来乱码
- 阿里云数据库怎么用python 阿里云数据库怎么用navicat连接
- 网站数据库怎么建框架 网站数据库怎么建立
- java连接sqlserver数据库失败 java连接sqlserver数据库代码
- oracle数据库基础教程课后答案 oracle数据库教程课后答案