Oracle使用工具PL/SQL Developer中的数据泵备份还原数据库

Oracle介绍

Oracle在Oracle 12c之前一直是"单实例单数据库",他与SQL Server、MySQL的单实例多数据库有很大的区别。

一个实例(内存和后台进程)对应着一个数据库(物理文件)。想要完全隔离的多个库,传统做法是创建多个实例,这对服务器资源消耗较大。

数据泵还原数据库(Window系统)

1、登陆system账号

SYSTEM 是 Oracle 安装后默认创建的一个内置管理员账户。它拥有 DBA(数据库管理员)角色,权限非常高

2、创建目录对象 dp_dir,指向你的 dump 文件所在的真实文件夹

sql 复制代码
CREATE OR REPLACE DIRECTORY dp_dir AS 'D:\20260515';

3、创建全新的专属表空间(相当于给新数据库划一块独立的硬盘空间)

-- 路径可以根据你的实际磁盘情况修改,这里假设放在 D 盘

sql 复制代码
CREATE TABLESPACE db_new_data 
DATAFILE 'D:\dbsoft.dbf' 
SIZE 100M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;

执行完语句以后对应路径下会生成下面的文件

4、创建全新的用户 user1,密码设为 qwert,并绑定到上面的专属表空间

sql 复制代码
CREATE USER user1 IDENTIFIED BY qwert DEFAULT TABLESPACE db_new_data;

5、给新用户赋予足够的权限(DBA权限最省心,包含读写目录的权限

sql 复制代码
GRANT DBA TO user1;

6、使用该用户登陆Oracle测试是否创建成功

7、进行数据泵导入

使用window的cmd命令

win+R

情况 A:如果原备份文件里的用户也是 user1,且你只是想还原数据

cmd 复制代码
impdp user1/qwert DIRECTORY=dp_dir DUMPFILE=20260515.dump LOGFILE=restore.log TABLE_EXISTS_ACTION=REPLACE

情况 B:如果原备份文件里的用户不叫 user1(比如叫 old_user),你想把数据还原给 user1 用

cmd 复制代码
impdp user1/qwert DIRECTORY=dp_dir DUMPFILE=20260515.dump LOGFILE=restore.log REMAP_SCHEMA=old_ncc:user1 TABLE_EXISTS_ACTION=REPLACE
相关推荐
倔强的石头_7 分钟前
《Kingbase护城河》——猎捕慢查询:执行计划的微观解析与索引调优实战
数据库
SelectDB2 小时前
Apache Doris Python UDF:让 SQL 直接调用 Python 生态,支撑 Agent 时代复杂业务逻辑
大数据·数据库·python
jiayou641 天前
KingbaseES 表级与列级加密完全指南
数据库·后端
GBASE2 天前
G术时刻 |GBase 8s数据库事务并发控制之封锁技术介绍(下)
数据库
xiezhr2 天前
逛GitHub发现了一款免费的带AI功能的数据库管理工具
数据库·ai编程·dba
唐青枫3 天前
MySQL JSON 实战详解:从存储、查询、更新到 JSON_TABLE 与索引
sql·mysql
吃糖的小孩3 天前
给 QQ AI 机器人设计“可控记忆”:会话摘要、手动长期记忆与角色卡边界
数据库
笃行3504 天前
金仓数据库数据安全双防线:静态存储加密与传输加密实战
数据库
笃行3504 天前
金仓数据库物理备份实战:sys_rman 全流程演练与误覆盖抢救
数据库
笃行3504 天前
金仓数据库逻辑备份实战:从全库导出到 Schema 替换的完整闭环
数据库