【Oracle】数据库导入导出

Oracle数据库导入导出

文章目录

一、expdp导出

1、管理员身份登录

sql 复制代码
sqlplus system/manager@orcl

2、删除以前测试的用户及对应的数据

sql 复制代码
drop user CODEQU cascade;
drop user QLQ cascade;

3、创建表空间(源表--待导出的表)

sql 复制代码
create tablespace TEST_SOURCE						  -- TEST_SOURCE 表空间名字
datafile 'D:\study\oracle\tablespace\TEST_SOURCE.dbf' -- 'D:\study\oracle\tablespace\TEST_SOURCE.dbf' 存储路径
size 200M autoextend on next 100M maxsize unlimited;   -- 表空间大小设置200M,每次100M自动扩展,最大不限制

4、创建用户,给用户设置默认表空间和临时表空间

sql 复制代码
create user CODEQU 									-- 创建用户名CODEQU
identified by CODEQU 									-- 设置用户密码CODEQU
default tablespace TEST_SOURCE							-- 指定默认表空间
temporary tablespace TEMP;							-- 临时表空间默认 TEMP

5、给用户授权(创建表和视图,连接,dba等)

sql 复制代码
grant connect, resource, dba to CODEQU with admin option;

6、创建备份导出目录(逻辑目录存到数据库中,物理路径需要手动创建)

sql 复制代码
create or replace directory dump_dir as 'D:\study\oracle\dumpdir'

7、授权备份目录的读写权限给用户

sql 复制代码
grant write, read on directory dump_dir to CODEQU

8、导出备份到备份目录

bash 复制代码
expdp CODEQU/CODEQU@orcl directory=dump_dir dumpfile=test.dmp logfile=exptest.log

expdp导出(实战)完整代码:

sql 复制代码
-- 1.以管理员身份登录Oracle
sqlplus system/manager@orcl

-- 2.创建表空间
create tablespace TEST_SOURCE						  -- TEST_SOURCE 表空间名字
datafile 'D:\study\oracle\tablespace\TEST_SOURCE.dbf' -- 'D:\study\oracle\tablespace\TEST_SOURCE.dbf' 存储路径
size 200M autoextend on next 100M maxsize unlimited;   -- 表空间大小设置200M,每次100M自动扩展,最大不限制


-- 3.在表空间TEST_SOURCE内创建用户(用户名:CODEQU, 密码:CODEQU)
create user CODEQU 									-- 创建用户名CODEQU
identified by CODEQU 									-- 设置用户密码CODEQU
default tablespace TEST_SOURCE							-- 指定默认表空间
temporary tablespace TEMP;							-- 临时表空间默认 TEMP

-- 4.用户授权
grant connect, resource, dba to CODEQU with admin option;


-- 5.创建导出文件(备份)目录  逻辑目录(物理真实目录需手动创建)
create or replace directory dump_dir as 'D:\study\oracle\dumpdir'


-- 6.授予用户对导出目录的读写权限
grant write, read on directory dump_dir to CODEQU


-- 7.退出Oracle
exit;

-- 8.使用expdp导出数据(在dos命令中操作,不是sqlplus中操作)
expdp CODEQU/CODEQU@orcl directory=dump_dir dumpfile=test.dmp logfile=exptest.log

二、impdp导入

impdp导入(实战)完整代码:

sql 复制代码
-- 1.以管理员身份登录Oracle
sqlplus system/manager@orcl

-- 2.创建表空间
create tablespace TEST_TARGET							-- TEST_TARGET 表空间名字
datafile 'D:\study\oracle\tablespace\TEST_TARGET.dbf'	-- 'D:\study\oracle\tablespace\TEST_TARGET.dbf' 存储路径
size 200M autoextend on next 100M maxsize unlimited;     -- 表空间大小设置200M,每次100M自动扩展,最大不限制


-- 3.在表空间CODEQU内创建用户(用户名:QLQ, 密码:QLQ)
create user QLQ 									-- 创建用户名qlq
identified by QLQ 									-- 设置用户密码qlq
default tablespace TEST_TARGET							-- 指定默认表空间
temporary tablespace TEMP;							-- 临时表空间默认 TEMP

-- 4.用户授权
grant connect, resource, dba to QLQ with admin option;


-- 5. 导入用户及其数据
impdp QLQ/QLQ@orcl 									-- 本地用户
directory=dump_dir 									-- 导出的逻辑目录,一定要在oracle中创建完成,并且给用户读写权限
dumpfile=test.dmp 									-- 导出的数据文件名称
remap_schema=CODEQU:QLQ								-- CODEQU导出时创建的,QLQ是当前用户(要导入的用户)
logfile=imptest.log									-- 日志文件

impdp QHTF/QHTF@orcl directory=datadir dumpfile=QHTF_2022070539.DMP remap_schema=QHTF:QHTF logfile=20220705_QHTF_IMPORT.log

三、远程服务器Oracle数据库导入本地Oracle数据库(expdp导出)

1、删除本地已有用户

sql 复制代码
drop user QHTF cascade;
drop user PLATFORM cascade;

2、查询本地的导出目录(备份路径)

sql 复制代码
select * from dba_directories
复制代码
sqlplus system/manager@orcl
drop user QHTF cascade;
drop user PLATFORM cascade;
create user QHTF identified by QHTF default tablespace MES_QHTF temporary tablespace TEMP;
create user prj_muber62 identified by prj_muber62 default tablespace MES_XXX temporary tablespace TEMP;
create user PLATFORM identified by PLATFORM default tablespace MES_QHTF_PLATFORM temporary tablespace TEMP;
grant connect, resource, dba to QHTF with admin option;
grant connect, resource, dba to PLATFORM with admin option;

impdp QHTF/QHTF@orcl directory=datadir dumpfile=QHTF_2022070539.DMP remap_schema=QHTF:QHTF logfile=20220705_QHTF_IMPORT.log
impdp PLATFORM/PLATFORM@orcl directory=datadir dumpfile=PLATFORM_2022070577.DMP remap_schema=QHTF:QHTF logfile=20220705_PLATFORM_IMPORT.log
相关推荐
Empty-Filled7 分钟前
Claude Gateway 排查教程
网络·数据库·人工智能
椰猫子14 分钟前
SpringMVC(SpringMVC简介、请求与响应(请求映射路径、请求参数、日期类型参数传递、响应json数据))
java·前端·数据库
2401_8822737221 分钟前
pattern属性在旧版Android浏览器无效怎么办_手动验证补充【操作】
jvm·数据库·python
小的~~29 分钟前
Milvus会存在SQL注入攻击吗?
数据库·sql·milvus
uElY ITER34 分钟前
MySQL官网驱动下载(jar包驱动和ODBC驱动)【详细教程】
数据库·mysql
NCIN EXPE35 分钟前
MySQL--》理解锁机制中的并发控制与优化策略
数据库·mysql·oracle
AI进化营-智能译站1 小时前
ROS2 C++开发系列11-VS Code一键生成Doxygen注释|让ROS2节点文档自动跟上代码迭代
java·数据库·c++·ai
村头的猫1 小时前
JWT 令牌的工作原理,结构和签名验证
前端·数据库·经验分享·微服务
许彰午1 小时前
CacheSQL(四):CacheSQLClient——用一张路由表实现水平扩展
java·数据库·缓存·系统架构·政务
Lyyaoo.1 小时前
缓存穿透/雪崩/击穿
数据库·缓存·oracle