详情

首页手游攻略 Oracle11g还原数据库导入dmp文件的实现方式方式实用指南

Oracle11g还原数据库导入dmp文件的实现方式方式实用指南

佚名 2026-09-08 19:10:01

平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“Oracle11g还原数据库导入dmp文件的实现方法方式”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。

目录
  • 1.首先你要知道往哪个用户里面导,先新建个用户然后授权
  • 2.然后打开cmd,根据自己的数据库执行下面语句
  • 3.导入过程中报错?怎么重新导入?
  • 4.最后记录一下导入过程中遇到的问题
  • 总结

1.首先你要知道往哪个用户里面导,先新建个用户然后授权

打开sqlplus,用system登录(或者有dba权限的用户) 一次执行下面的命令语句

CREATE USER "用户名" PROFILE "DEFAULT" IDENTIFIED BY "密码" DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK;
GRANT CREATE ANY TABLE TO "用户名";
GRANT UNLIMITED TABLESPACE TO "用户名";
GRANT "CONNECT" TO "用户名";
GRANT "RESOURCE" TO "用户名";
GRANT CREATE ANY VIEW TO "用户名";
GRANT dba TO "用户名";

2.然后打开cmd,根据自己的数据库执行下面语句

imp 刚才新建的用户名/密码@数据库实例名 full=y file=文件的绝对路径(包含文件名) ignore=y

3.导入过程中报错?怎么重新导入?

从实现思路看,若导入数据有问题的话,大多是表空间缺失,因为dmp文件不会把表空间也备份出来的,若报表空间不存在,删掉用户,建表空间,重新imp就行了

执行下面语句删除用户(慎用,别删错了,这是删除用户和用户底下所有的数据)

drop user 用户名 cascade

4.最后记录一下导入过程中遇到的问题

1.在A用户下导入但是数据却导入到了B用户里

落到代码里,这是由于导入的dmp文件的原因,里面设定了自动导入A用户,这时候你需重新新建一个Oracle实例,注意不是Oracle用户,是实例,新建过程中一定要设置数据库字符集为ZHS16GBK

如何连接到另外一个Oracle实例?

conn 用户名/密码@实例名

2.导入过程中提示: “XXXX值太大,无法执行”

实际处理时,这就是没有设置ZHS16GBK的原因,打开sqlplus,登录后先确定你连接的数据库是你需修改的(别改错了),随后登录有dba权限(最高权限)的用户,依次执行以下命令语句

SQL> conn /as sysdba;
SQL> shutdown immediate;//这个可能久一点,不超过5分钟
SQL> startup mount;//归档模式
SQL> alter system enable restricted session;//数据库访问受限状态
SQL> alter system set JOB_QUEUE_PROCESSES=0;
SQL> alter system set AQ_TM_PROCESSES=0;
SQL> alter database open;
SQL> alter database character set internal_use ZHS16GBK;
SQL> alter database character set ZHS16GBK
SQL> shutdown immediate;
SQL> startup;

执行完成之后再次进行导入发现没有问题了

3.导入过程中提示: "表空间不存在"或“表不存在新建触发器失败”

结合项目来看,这是因为dmp文件有问题,最初导出dmp文件的时候,没有提前设置好导出空表,只能去原来数据库将缺少的空表或序列手工导进来,能够用Navicat。

4.报错内容包含表缺失

从实现思路看,有可能是源头数据库是11g,没有开启空表导出,这个解决起来比较麻烦,需知道哪些表是空表,表与表之间的关联关系

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多兼容脚本之家。

您可能感兴趣的文章:

  • 安装oracle11g时遇到INS-13001的问题及解决
  • Oracle11g audit审计设置全过程
  • Docker如何拉取oracle11g镜像
  • oracle11g密码复杂性校验开启关闭方式
  • oracle11g客户端连接12c服务器ORA-01017错误问题解决
  • 在docker中设置Oracle11g的过程
  • Oracle11g调整SGA方法详解

相关资讯
点击查看更多
游戏推荐
推荐专题
热门阅读
推荐下载