iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >dmp文件导入数据库服务器
  • 142
分享到

dmp文件导入数据库服务器

数据库oracledba 2023-10-09 15:10:17 142人浏览 泡泡鱼
摘要

一、什么是dmp文件 在oracle中,dmp文件是数据库导出的文件,常用于数据库的备份和迁移。一般会用exp命令来导出,用imp命令来导入也就是恢复数据库。 二、dmp文件导入 常用于数据库迁移使用,当需要额外部署新的服务器时,需要将提

一、什么是dmp文件

oracle中,dmp文件是数据库导出的文件,常用于数据库的备份和迁移。一般会用exp命令来导出,用imp命令来导入也就是恢复数据库。

二、dmp文件导入

常用于数据库迁移使用,当需要额外部署新的服务器时,需要将提前备份好的dmp文件导入到新的环境中。

创建用户

在导入之前,我们需要新建一个用户,用于存放我们的dmp数据
  • 登录到linux服务器 切换oracle用户

su - oracle
  • 登录到oracle数据库

sqlplus / as sysdba   --以操作系统权限认证的oracle sys管理员登陆
  • 切换到数据库存储端(pdb)

alter session set container=idms​alter session 切换容器
  • 创建数据库用户

create user  identified by  default tablespace  -- 默认表空间temporary tablespace temp -- 临时表空间​create user ecdsprodtest0412 identified by ecdsprodtest0412 default tablespace ITREASURY temporary tablespace temp;
  • 用户授权

授予角色语法:grant  to ;CONNECT 角色,--拥有Connect权限的用户只可以登录ORACLE(仅具有创建SESSION的权限),不可以创建实体,不可以创建数据库结构。RESOURCE 角色,--是授予开发人员的。拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。DBA角色,--是授予数据库维护人员的。拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。​grant connect,resource,dba to ecdsprodtest0412; 
  • 创建dmp文件存储目录并赋权

新建directory的语法CREATE [OR REPLACE] DIRECTORY directory  directoryName AS 'pathname';​create or replace  directory  dmpdir  as  '/oradata';grant read ,write on directory dmpdir to ecdsprodtest0412;
  • 切换root用户,赋予读写权限

mkdir    /oradatachmod -R 777 /oradata

导入dmp文件

  • 将dmp文件上传到/oradata目录下 切换到oracle用户 执行导入dmp命令

impdp  ecdsprodtest0412/ecdsprodtest0412  directory=dmpdir dumpfile=hbisdp_230411.dmp  remap_schema=hbisdp:ecdsprodtest0412  logfile=20230412.log;​directory     --此路径可以理解为实际绝对路径在oracle数据库里的别名,是导入文件的存储位置DUMPFILE      --此参数为需要导入的dmp文件名REMAP_SCHEMA  --当把用户A的对象导入到用户B时,使用此参数REMAP_TABLESPACE  --用于进行数据的表空间迁移。把前一个表空间中的对象导入到冒号后面的表空间LOGFILE       --指定导入日志名称

至此导入dmp文件完成

三、导入报错处理

需删除当前创建的用户,重新执行上面的导入步骤

删除用户命令

drop user ECDSPRODTEST0412 cascade;​表示删除用户ECDSPRODTEST0412,同时删除 ECDSPRODTEST0412 用户下的所有数据对象,如 table, view 等​cascade 介绍与用法 ( oracle)级联删除,比如你删除某个表的时候后面加这个关键字,会在删除这个表的同时删除和该表有关系的其他对象

此时可能会出现这个问题,解决方案:

1)查看用户的连接状况

SELECT SID,SERIAL# FROM V$SESSION WHERE USERNAME='ECDSPRODTEST0412';

如果报错

则查询所有的oracle用户,找到要删除的用户对应的名字

select * from all_users;

再次执行

SELECT SID,SERIAL# FROM V$SESSION WHERE USERNAME='ECDSPRODTEST0412';

2)删除用户所有连接的session

alter system kill session '213,4036';

最后再次删除用户

drop user ECDSPRODTEST0412 cascade;

来源地址:https://blog.csdn.net/weixin_68493026/article/details/130130073

--结束END--

本文标题: dmp文件导入数据库服务器

本文链接: https://www.lsjlt.com/news/426435.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作