oracle备份还原到指定表空间

分析

oracle某一个用户数据导出还原可分为三大步骤实现:导出数据、创建用户、还原数据
使用exp命令将需要导出的用户数据导出到dmp文件。登陆要被还原的目标库,新建用户和表空间。执行imp命令将导出的dmp文件还原到目标库中新建的用户中。
注意:使用imp,exp命令需要安装Oracle客户端

一、登陆

有sqlplus可以通过sqlplus执行一下操作,没有的可以使用Navicat、plsql等工具
注意:以下操作具有dba权限的用户才能操作
用户名:system
密码:Utry1234
ip地址:10.0.**.**
端口号:1521
服务名:orcl

>sqlplus system/Utry1234@//10.0.**.**:1521/orcl

二、新建用户

创建用户
用户名称:HI_APP_TENANT1201_NEW
密码:pass

create user HI_APP_TENANT1201_NEW identified by pass;	-- 创建用户		
drop user HI_APP_TENANT1201 cascade;					-- 删除用户	

解锁用户

alter user HI_APP_TENANT1201_NEW account unlock;		-- 解锁用户

设置用户权限|角色 (角色对应多个权限,即角色是权限集合)
oracle内置角色类型:dbaconnectresource

grant dba to HI_APP_TENANT1201_NEW ;					-- 设置权限

修改用户密码
新密码:pass_new

alter user HI_APP_TENANT1201_NEW identified by pass_new;

三、指定表空间

概念:Oracle用 表空间 这个概念提高系统的效率和性能。Oracle可以存放海量数据,数据最终的落脚点在数据文件。过大的数据文件对数据查询插入操作的性能影响非常大。而且Oracle是跨平台的数据库,可以轻松移植在各个平台。表空间就是提供数据落地保存这统一标准,实现以上功能。

查看数据库系统表空间存放位置
新创建的用户要指定一个新的表空间

select t1.name,t2.name from v$tablespace t1,v$datafile t2 where t1.ts# = t2.ts#;

为了方便管理,新建的表空间最好与之前创建的表空间放在一起
在这里插入图片描述
创建临时表空间
概念:一种表空间类型,可通过命令扩大。在执行排序操作中发挥巨大作用,例如用户在执行order by操作,数据量大于内存的排序区,这时oracle会将部分中间数据存入中间表。
临时空间名称:DB_TENANT1201_NEW_TEMP

create temporary tablespace DB_TENANT1201_NEW_TEMP
tempfile '\data\u01\app\oracle\oradata\orcl\DB_TENANT1201_NEW_TEMP.dbf'			-- 临时文件路径名称
size 2G			-- 临时表空间大小
extent management local;

创建正式表空间
表空间名称:DB_TENANT1201_NEW

create tablespace DB_TENANT1201_NEW
logging                 
datafile '\data\u01\app\oracle\oradata\orcl\DB_TENANT1201_NEW.dbf'				-- 表空间路径名称
size 50m	-- 初始大小
autoextend on         -- 开启自动扩容                     
next 50m maxsize 20480m     	-- 每次扩容50m,最大为2G
extent management local; 

给新建的用户指定表空间
用户名:HI_APP_TENANT1201_NEW
表空间名称:DB_TENANT1201_NEW
临时表空间名称:DB_TENANT1201_NEW_TEMP

alter user HI_APP_TENANT1201_NEW default tablespace DB_TENANT1201_NEW;			-- 指定表空间
alter user HI_APP_TENANT1201_NEW temporary tablespace DB_TENANT1201_NEW_TEMP;	-- 指定临时表空间

四、备份数据

执行导出导入需要expimp命令,没有这个命令的同学先去安装Oracle的客户端吧!
执行导出操作
file:指定导出路径及文件名称
owner:导出某个用户的全部表和数据

# exp system/Utry1234@10.0.33.83:1521/orcl file=d:\tenant1201.dmp owner=(HI_APP_TENANT1201);

五、还原数据

执行还原操作
file:指定要还原的dmp数据文件
fromuser:指定从什么用户导出
touser:指定导入到什么用户
tablespaces:指定表空间名称
ignore=y:表数据没有主键冲突,会追加进去。如果表数据有主键冲突,则导入报错

# imp HI_APP_TENANT1201_NEW/pass@10.0.33.83:1521/orcl file=d:\tenant1201.dmp fromuser=HI_APP_TENANT1201 touser=HI_APP_TENANT1201_NEW tablespaces=DB_TENANT1201_NEW;
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于Oracle数据库备份还原,有几种常见的方法可以实现分开备份还原: 1. 数据库备份:使用Oracle的RMAN (Recovery Manager)工具进行备份。RMAN提供了全面的数据库备份恢复功能,可以将整个数据库或特定的表空间、数据文件进行备份,并且可以将备份数据存储到磁盘或磁带上。你可以定期运行RMAN备份任务,将备份数据保存到指定的位置。 2. 数据库还原:当需要还原数据库时,可以使用RMAN工具进行还原操作。你可以选择还原整个数据库或者部分数据文件,然后使用RMAN进行恢复操作,将数据库恢复指定的时间点或者备份集。 3. 数据文件备份:如果你只需要备份还原某些特定的数据文件,而不是整个数据库,可以使用操作系统级别的文件备份工具,如tar、cp等命令来备份数据文件。你可以将数据文件备份指定的位置,然后在需要还原时将备份文件拷贝回原始位置即可。 4. 数据文件还原:在需要还原数据文件时,你需要先停止数据库实例,然后使用操作系统级别的命令将备份的数据文件拷贝回原始位置。再启动数据库实例后,Oracle会自动检测到的数据文件,并进行相应的恢复操作。 无论是使用RMAN工具还是操作系统级别的备份工具,都需要注意备份还原过程的完整性和一致性,以确保数据的完整性和可用性。此外,你还可以结合其他工具和技术,如数据复制、数据同步等,来提高数据库备份还原的效率和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值