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