• 【Oracle】数据库导入导出


    Oracle数据库导入导出

    一、expdp导出

    1、管理员身份登录

    sqlplus system/manager@orcl
    
    • 1

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

    drop user CODEQU cascade;
    drop user QLQ cascade;
    
    • 1
    • 2

    在这里插入图片描述

    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自动扩展,最大不限制
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    在这里插入图片描述

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

    create user CODEQU 									-- 创建用户名CODEQU
    identified by CODEQU 									-- 设置用户密码CODEQU
    default tablespace TEST_SOURCE							-- 指定默认表空间
    temporary tablespace TEMP;							-- 临时表空间默认 TEMP
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    在这里插入图片描述

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

    grant connect, resource, dba to CODEQU with admin option;
    
    • 1

    在这里插入图片描述

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

    create or replace directory dump_dir as 'D:\study\oracle\dumpdir'
    
    • 1

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

    grant write, read on directory dump_dir to CODEQU
    
    • 1

    在这里插入图片描述

    8、导出备份到备份目录

    expdp CODEQU/CODEQU@orcl directory=dump_dir dumpfile=test.dmp logfile=exptest.log
    
    • 1

    在这里插入图片描述

    在这里插入图片描述

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    二、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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

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

    1、删除本地已有用户

    drop user QHTF cascade;
    drop user PLATFORM cascade;
    
    • 1
    • 2

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

    select * from dba_directories
    
    • 1

    在这里插入图片描述

    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
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
  • 相关阅读:
    国产加速度传感器QMA6100P
    Linux学习第34天:Linux LCD 驱动实验(一):星星之火可以燎原
    有了这一特性,不再安装脚手架,可创建Vue或React项目
    安吉尔直饮水设备保质交付,深圳湾公园直饮水保障完成
    看得懂的——数据库中的“除”操作
    Linux进程间通讯技术
    JavaScript-方法的定义和调用、apply、内部对象
    uniapp、微信小程序返回上页面刷新数据
    Linux之进程创建及退出
    Mybatis如何批量插入数据?
  • 原文地址:https://blog.csdn.net/weixin_42164880/article/details/132837773