Oracle数据库导入导出超详细教程
作者:codequ
最近做项目的时候遇到过oracle数据库导入导出,在这里我做下记录,防止自己忘记了,下面这篇文章主要给大家介绍了关于Oracle数据库导入导出的相关资料,需要的朋友可以参考下
一、expdp导出
1、管理员身份登录
sqlplus system/manager@orcl
2、删除以前测试的用户及对应的数据
drop user CODEQU cascade;drop user QLQ cascade;
3、创建表空间(源表–待导出的表)
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、创建用户,给用户设置默认表空间和临时表空间
create user CODEQU -- 创建用户名CODEQU identified by CODEQU -- 设置用户密码CODEQU default tablespace TEST_SOURCE -- 指定默认表空间 temporary tablespace TEMP; -- 临时表空间默认 TEMP
5、给用户授权(创建表和视图,连接,dba等)
grant connect, resource, dba to CODEQU with admin option;
6、创建备份导出目录(逻辑目录存到数据库中,物理路径需要手动创建)
create or replace directory dump_dir as 'D:\study\oracle\dumpdir'
7、授权备份目录的读写权限给用户
grant write, read on directory dump_dir to CODEQU
8、导出备份到备份目录
expdp CODEQU/CODEQU@orcl directory=dump_dir dumpfile=test.dmp logfile=exptest.log
expdp导出(实战)完整代码:
-- 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导入(实战)完整代码:
-- 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、删除本地已有用户
drop user QHTF cascade; drop user PLATFORM cascade;
2、查询本地的导出目录(备份路径)
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
总结
到此这篇关于Oracle数据库导入导出的文章就介绍到这了,更多相关Oracle数据库导入导出内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!