首页 > 数据库 >oracle导出导入数据库

oracle导出导入数据库

时间:2023-09-08 17:44:44浏览次数:41  
标签:数据库 空间 test 导入 tablespace oracle create

先捋一下oracle的概念

oracle的概念稍微有点复杂:

用户账号和表空间绑定,表空间分为永久表空间和临时表空间,通过表空间设置数据库的大小等参数,在表空间里面进行新建数据表等操作,oracle的表空间等同于mysql的数据库

tnsname里面的server是oracle服务端的连接配置,是用来连接数据库的

操作步骤

1.导出oracle数据库

exp 账号/密码@127.0.0.1:1521/server_name file=D:\dbbak\test.dmp

 导出完之后,压缩dmp文件,并下载

2.导入oracle数据库

(1)新建永久表空间和临时表空间

#在oracle服务器上以sysdba身份登录,也可以通过plsql登陆
sqlplus / as sysdba
#查看表空间存储位置
select * from dba_data_files 

 

 

#创建一个永久表空间,大小200M,可以自动扩展
create tablespace test_data datafile 'D:\APP\ADMINISTRATOR\ORADATA\ETL\test\test_data.dbf' size 200M autoextend on;
#或者大小 100M,每次 5M 自动增大,最大不限制
create tablespace test_tablespace datafile 'testfile.dbf' size 100M autoextend on next 5M maxsize unlimited;
#临时表空间创建
create temporary tablespace test_temp tempfile 'D:\APP\ADMINISTRATOR\ORADATA\ETL\test\test_temp.dbf' size 200m;

(2)新建用户

#新建用户并指定登录密码,同时指定表空间
create user test identified by 123456 default tablespace test_data temporary tablespace test_temp;
#高版本的oracle普通用户前面要加c##,如果不带c##可以执行如下命令
alter session set "_ORACLE_SCRIPT"=true;
#新建完用户后再给改回来
alter session set "_ORACLE_SCRIPT"=false;

也可以先建用户再指定表空间

# 创建用户名test 密码 123456
create user test identified by 123456;
# 可以将tablespace表空间分配给指定用户来管理 
ALTER USER test QUOTA UNLIMITED ON test_tablespace;
# 或者为用户指定默认表空间
ALTER USER test DEFAULT TABLESPACE test_tablespace;

(3)给用户赋权

-- 给用户分配权限,必须赋予sysdba权限,imp命令需要sysdba身份导入
grant create session,create table,create view,create sequence,unlimited tablespace,connect,resource,dba to test;

(4)查看表空间

# 查看表空间对应关系
SELECT username, default_tablespace, temporary_tablespace, profile FROM dba_users;

 可以看出最下面那个用户没有赋予单独的临时表空间,oracle这种情况会默认赋予系统临时表空间

#查看表空间信息
select   *   from   dba_tablespaces
# 查看系统目录
select * from dba_directories;

确认表空间关系对应无误后,导入数据库

(5)导入数据库

把dmp文件上传到相关目录并解压,在cmd中执行导入命令

imp test/123456 file=D:\app\Administrator\admin\etl\dpdump\test.dmp log=D:\app\Administrator\admin\etl\dpdump\test.log fromuser=test touser=test constraints=N ignore=y

 

另外还有远程导入命令供参考:

imp ds/123456@*.*.*.28:1521/orcl file=/home/sawl/tools/oracle11g/data/nmgzc2.dmp log=/home/sawl/tools/oracle11g/data/test.log fromuser=test111 touser=ds constraints=N ignore=y

 

导入中遇到的错误:

ORA-39143: 转储文件可能是原始的导出转储文件

问题
options
ORA-39001: 参数值无效
ORA-39000: 转储文件说明错误
ORA-39143: 转储文件 “.dmp” 可能是原始的导出转储文件

原因分析:
.dmp文件是使用exp命令导出的,而使用
impdp 无法识别exp命令导出的文件,需要使用imp命令进行导入

当时导出用的exp,导入用的impdp,所以报错了。。

 

参考文档:

https://www.jianshu.com/p/9745ae3cb9b0

https://www.cnblogs.com/aeolian/p/16935162.html

https://blog.csdn.net/Crazy_young_man/article/details/131162884

https://zhuanlan.zhihu.com/p/484128583

https://blog.csdn.net/roamer314/article/details/50901893

表空间知识扩展:

https://blog.csdn.net/m0_71406734/article/details/131135587

标签:数据库,空间,test,导入,tablespace,oracle,create
From: https://www.cnblogs.com/allay/p/17688193.html

相关文章

  • 导入Demo数据
              ......
  • 项目管理工具----普加项目管理中间件(PlusProject )入门教程(11):msProject项目的导入和导
    普加项目管理中间件是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表,可满足项目管理应用程序的所有需求,是最完善的甘特图图表库。.net下可以导入xml和.mpp,微软提供了Microsoft.Office.Interop.MSProject.dll,可以将mpp文件转换成xml格式,我们提供了Plusoft.dll对xml文件进行了......
  • 项目管理工具----普加项目管理中间件(PlusProject )入门教程(11):msProject项目的导入和导
    普加项目管理中间件是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表,可满足项目管理应用程序的所有需求,是最完善的甘特图图表库。同样普加项目管理中间件提供了导出方法,可以导出XML格式的文件,这个文件可以在微软project中直接打开展示。varwin=newPlusProject.ExportPro......
  • 3. Oracle数据库异常关闭,导致错误3. Oracle数据库异常关闭,导致错误ERROR: ORA-01034:
    之前由于电脑没电,强制关机,导致Oracle数据库异常关闭,再次启动电脑登陆数据库时,发生以下错误:当我尝试重新启动数据库时,发生错误:经过查阅资料后得知:缺少INITXE.ORA文件,需要从下图目录中复制到上图指定目录中,并重命名为initXE.ora即可(这里initxxx.ora中的xxx要取决于你的SID)再......
  • 4. Oracle数据库提示ERROR: ORA-12560: TNS: 协议适配器错误
    造成ORA-12560:TNS:协议适配器错误的问题的原因有三个:有关服务没有启动windows平台个一如下操作:开始—程序—管理工具—服务,打开服务面板,启动TNSlistener服务。注册表问题我这里错误的原因是之后又创建了一个数据库,似乎是将之前ORACLE_SID的值冲掉了,这里改回来即可解决......
  • 项目管理工具----普加项目管理中间件(PlusProject )入门教程(11):msProject项目的导入和导
    普加项目管理中间件是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表,可满足项目管理应用程序的所有需求,是最完善的甘特图图表库。除了上文介绍的加载json数据的方式展示外,更常用的方式是导入。普加项目管理中间件支持导入微软project两种格式的文件,xml和mpp,这里的文件解析都......
  • Oracle无法远程连接的原因及解决办法
    前提虚拟机Linux(centos7)下静默安装Oracle数据库,本地能访问。文章参考:Linux-CentOS7下安装Oracle11g-sankuoshu-博客园(cnblogs.com)。问题:安装完成后无法用数据库连接工具连接1、使用Oracle用户,lsnrctlstatus命令查看监听的状态红框内显示监听没有服务2、解决......
  • PostgreSQL 数据库使用 psql 导入 SQL
    最近我们有一个SQL需要导入到PostgreSQL,但数据格式使用的是用:----TOCentry7877(class0OID21961)--Dependencies:904--DataforName:upload_references;Type:TABLEDATA;Schema:public;Owner:---COPYpublic.upload_references(id,upload_id,target_......
  • 关于hive数据库添加信息到表中出现问题的原因细说
    问题来源在建表完成之后,尝试使用insertinto语句向表中添加数据信息,然后就一直不能成功,当然,添加的数据信息与表的字段类型是对应的;问题解决查阅相关资料发现,原来是虚拟机的内存不太够,然后就按照网上的建议,将下面的语句放置到hadoop下面的yarn-site.xml文件里面:<property>......
  • 2.9 PE结构:重建导入表结构
    脱壳修复是指在进行加壳保护后的二进制程序脱壳操作后,由于加壳操作的不同,有些程序的导入表可能会受到影响,导致脱壳后程序无法正常运行。因此,需要进行修复操作,将脱壳前的导入表覆盖到脱壳后的程序中,以使程序恢复正常运行。一般情况下,导入表被分为IAT(ImportAddressTable,导入地址表)......