首页 > 数据库 >oracle中的导出和导入dmp文件

oracle中的导出和导入dmp文件

时间:2023-09-18 15:34:48浏览次数:36  
标签:-- 数据库 用户 dmp 导入 oracle BSDATAOWNER

若有下面的报错,可参考此步骤解决

报错描述:Oracle数据导入导出imp/exp :未知的命令开头。。。忽略了剩余的行 

注意:使用exp时,报错截图如下,原因:使用cmd执行,而非sqlplus

 

 

 一、导出dmp文件

 使用cmd,然后执行下面的命令

重点注意:使用cmd打开,执行exp命令

 

二、导入dmp文件

1、创建新的数据数据库

在需要导入的oracle中,创建新的数据库,比如bsonetest

2、拷贝dmp文件

将导出的dmp文件,放到需要导入的一个目录下

比如 e:\Work\bsone0918.dmp

3、创建表空间

待1中的新数据库建立完成,使用sys用户登录到bsonetest数据库中

运行下面的语句,创建新的表空间

--  创建表空间 USERS
create tablespace USERS
datafile  'D:\ProgramData\Oracle-DB\USERS.dbf'    -- 文件位置
size 500m                -- size 定义数据文件的初始大小 --
autoextend on            -- autoextend on 表示自动增长 -- 
next 20M;            -- next 每次增量为20M    --

若显示该表空间已存在,可以使用下面的语句,查询已存在的表空间及大小

-- 查看表空间及大小
select t.tablespace_name ,round(sum(bytes/(1024*1024)),0) ts_size
from dba_tablespaces t,dba_data_files d
where t.tablespace_name=d.tablespace_name
group by t.tablespace_name;

4、创建用户

-- 创建用户,创建格式如下:
CREATE USER BSDATAOWNER         --用户名
IDENTIFIED BY DATAOWNER            --用户密码
DEFAULT TABLESPACE USERS         --表空间
TEMPORARY TABLESPACE temp;    --临时表空间

 -- 查询用户信息
 select * from dba_users;

5、给用户授权

-- 给用户赋予权限来管理自己的表空间
GRANT CREATE SESSION,CREATE TABLE,CREATE VIEW,CREATE SEQUENCE,UNLIMITED TABLESPACE TO BSDATAOWNER; 
GRANT CONNECT TO BSDATAOWNER; 
GRANT RESOURCE TO BSDATAOWNER; 
GRANT DBA TO BSDATAOWNER; 

 

简单授权语句

-- 给用户 user_name 授权
grant connect,resource,dba to user_name;

connect和resource是两个系统内置的角色,和dba是并列的关系。

DBA:拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。

RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。

CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。

 

若要查询用户权限,使用下面的语句

-- 查询用户权限
select * from dba_role_privs where grantee='BSDATAOWNER';  

6、导入dmp文件

--将dmp文件导入到原有的表空间中,导入方式
--打开cmd窗口,然后直接敲入一下命令即可,需要注意的是,要事先把dmp文件放到正确的路径中去
imp 用户名/用户密码@localhost/orcl(表示SID)  file= E:\Oracle\database\xxxx.dmp(dmp文件目录) full=y

-- demo
imp BSDATAOWNER/[email protected]/BSONETEST file= E:\Work\oracledmp\bsone0918.dmp full=y;

最后,等待导入完毕即可

 

修改用户密码

若忘记了用户密码,则使用下面的语句

 -- 修改用户密码
 -- alter user 用户名 identified by 新密码; 
 alter user BSDATAOWNER identified by DATAOWNER; 

 

导出命令,格式如下:

a.将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中

 exp system/manager@TEST file=d:\daochu.dmp full=y

b.将数据库中system用户与sys用户的表导出

 exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)

c.将数据库中的表A、B导出

 exp aichannel/aichannel@TESTDB2 file= d:\data\newsmgnt.dmp tables=(A,B)

导入命令,格式如下:

a. 将D:\daochu.dmp 中的数据导入 TEST数据库中。

 imp system/manager@TEST file=d:\daochu.dmp

    imp aichannel/aichannel@HUST full=y file= d:\data\newsmgnt.dmp ignore=y

b. 将d:\daochu.dmp中的表table1 导入

   imp system/manager@TEST file=d:\daochu.dmp tables=(table1)

 

 

参考网址:

https://blog.51cto.com/u_15127538/3591405

https://www.cnblogs.com/ggll611928/p/15845429.html

https://www.cnblogs.com/ggll611928/p/15846558.html

 

标签:--,数据库,用户,dmp,导入,oracle,BSDATAOWNER
From: https://www.cnblogs.com/ggll611928/p/17711671.html

相关文章

  • 数据库数据恢复-ORACLE数据库常见故障有哪些?oracle数据库出现这些故障能恢复数据吗?
    ORACLE数据库常见故障:1、ORACLE数据库无法启动或无法正常工作。2、ORACLE数据库ASM存储破坏。3、ORACLE数据库数据文件丢失。4、ORACLE数据库数据文件部分损坏。5、ORACLE数据库DUMP文件损坏。 ORACLE数据库数据恢复可能性分析:1、ORACLE数据库无法启动或无法正常工作:突然出......
  • Oracle随笔
    1.刷存量数据mergeinto格式如下mergeinto table_namealias1using(table|view|sub_query)alisa2on(joincondition)whenmatchedthenupdatetable_name  setcol1=xxwhennotmatchedthen     insertinto........... ......
  • 循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(4) -- 实现Da
    在我们设计软件的很多地方,都看到需要对表格数据进行导入和导出的操作,主要是方便客户进行快速的数据处理和分享的功能,本篇随笔介绍基于WPF实现DataGrid数据的导入和导出操作。1、系统界面设计在我们实现数据的导入导出功能之前,我们在主界面需要提供给客户相关的操作按钮,如下界面......
  • 计划任务导入xml
     https://superuser.com/questions/1031539/create-schedule-task-from-xml-file-by-batch-fileschtasks.exe/create/sNAMEOFCOMPUTER/ruDOMAIN\USER/rpPASSWORD/tnNAMEOFTASK'/XMLPATHTOXMLFILE ......
  • 创建Oracle索引,过犹不及
    我有几个oracle存储过程,其中有两个涉及到递归运算,相对来说非常费时间的。这几个oracle程序我给他们编号为p1,p2,p3,p4,p5 其中p2,p5有较复杂的递归运算,涉及到的表格主要有4个,分别为t1,t2,t3,t4。另外还有一些基础表。数据首先在基础表中,t1,t2,t3,t4中没有数据。t1,t2,t3,t4的数......
  • 最近遇到了几个oracle权限的几个小问题
     最近做项目的时候遇到了几个小问题,记录一下:1、在工具中可以直接drop掉用户,但是不能执行dropuser删用户。原来如果想要能显示执行语句删用户,必须付给用户dropuser权限才可以。2、很多表需要建立公共的同义词,其他用户访问此表时通过同义词才可以保证不出错,另外还要为这些用户赋......
  • TienChin 渠道管理-渠道导入
    ChannelController@PostMapping("/importTemplate")voidimportTemplate(HttpServletResponseresponse){ExcelUtil<Channel>util=newExcelUtil<>(Channel.class);util.importTemplateExcel(response,"渠道数据");}@Log(tit......
  • OpenAI原生GPT问答记录直接导入博客方法
    OpenAI原生GPT问答记录直接导入博客方法一般常见的方法是截图放在博客,但是这种方法有点过于粗糙,浪费阅读者流量资源不说,还显得十分不专业。但是对于原生GPT来说,在网页内全选复制并不能达成我们想要的效果,甚至有时候很难区分哪些是用户哪些是AI的话。于是本篇文章应运而生,Openai......
  • tinymce编辑器导入docx、doc格式Word文档完整版
    看此文章之前需要注意一点在前端使用导入Word文档并自动解析成html再插入到tinymce编辑器中,在这里我使用的是mammoth.js识别Word内容,并set到编辑器中,使用mammoth只可解析.docx格式的Word,目前的mammoth不支持.doc格式,后续升级也许会加上解析doc的功能。为什么解析不了.doc.docx......
  • Oracle不能in超过1000条数据吗
    在Oracle数据库中,对于IN子句的值列表有一个默认限制,该限制取决于数据库的版本。在早期版本的Oracle中,默认情况下,对于IN子句的值列表限制为1000个值。然而,从Oracle12c开始,引入了LISTAGG函数和SYS.ODCIVARCHAR2LIST类型,可以用于处理超过1000个值的IN子句。您可......