当前位置: 首页 > news >正文

Docker 下备份恢复oracle

    1.docker导出容器镜像  
    ##docker save -o 导出后的镜像名称.tar 容器名称|镜像id 
    docker save -o oracle_11g.tar 3fa112fd3642
    2.下载镜像上传镜像略

    3.加载镜像
    ##docker load -i <archive_file>
    docker load -i oracle11g11201.tar


    4.添加版本号默认是没有版本号的
    ##docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
    docker tag 3116 registry.cn-zhangjiakou.aliyuncs.com/jyzx/oracle_11.2.0.1:v1

    5.初始化容器
    docker run -itd --name oracle11g -h jyzx_oracle --restart=always --privileged=true -p 1521:1521 -v /Users/xx/dpdump:/u01/app/oracle/admin/ORCL/dpdump/ registry.cn-zhangjiakou.aliyuncs.com/jyzx/oracle_11.2.0.1:v1  

    6.查看状态
    docker ps

    7.进入容器
    docker exec -it oracle11g bash

    #这一步一定要
    su - oracle 
    sqlplus /nolog
    conn /as sysdba

    剩下的就创建表空间用户了
    默认用户名 system/system


    1.创建表空间
    CREATE TABLESPACE khgl DATAFILE '/opt/oracle/app/oradata/orcl/khgl01.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;
    删除表空间:
    DROP TABLESPACE khgl INCLUDING CONTENTS AND DATAFILES;

    2.创建用户create user khgl identified by sa;
    表空间给用户
    ALTER USER khgl IDENTIFIED BY sa DEFAULT TABLESPACE khgl TEMPORARY TABLESPACE temp;
    ALTER USER khgl  QUOTA UNLIMITED ON khgl;

    或者创建用户并分配表空间
    create user khgl identified by sa default tablespace khgl;
    并给用户赋予权限grant connect,resource,dba to khgl;

    3.#容器外执行数据库备份和恢复
    --1.备份
    #docker exec 容器名|ID su oracle -lc "expdp 用户名/密码@127.0.0.1:1521/orcl directory=DATA_PUMP_DIR dumpfile=备份文件名.dmp logfile=备份文件名.log compression=all"
    示例
    docker exec oracle11g su oracle -lc "expdp khgl/sa@127.0.0.1:1521/orcl directory=DATA_PUMP_DIR dumpfile=khgl_20240806_1800.dmp logfile=khgl_20240806_1800.log compression=all"

    结果展示
    Dump file set for KHGL.SYS_EXPORT_SCHEMA_03 is:
    /opt/oracle/dpdump/khgl_20240806_1800.dmp
    Job "KHGL"."SYS_EXPORT_SCHEMA_03" successfully completed at 10:10:44

    2.容器外面拷贝 把容器内把文件拷贝出来
    ##docker cp <container_id>:/path/to/container/file /path/to/host/destination
    docker cp oracle11g:/opt/oracle/dpdump/khgl_20240806_1800.dmp /Users/liuyulong/dpdump/

    3.恢复
    1.把本地文件复制到容器内dump目录  直接在本地目录好像不行
    docker cp /Users/liuyulong/dpdump/khgl_20240805_230018.dmp oracle11g:/opt/oracle/dpdump/khgl_20240805_230018.dmp
    --恢复
    #语法:docker exec oracle11g su oracle -lc "impdp 用户名/密码@127.0.0.1:1521/orcl directory=DATA_PUMP_DIR remap_schema=原用户名:导入后的用户名 REMAP_TABLESPACE=原表空间名:目标表空间名 dumpfile=备份文件名.dmp"
    2.导入备份文件到数据库
    示例:
    docker exec oracle11g su oracle -lc "impdp khgl/sa@127.0.0.1:1521/orcl directory=DATA_PUMP_DIR remap_schema=khgl:khgl REMAP_TABLESPACE=khgl:khgl dumpfile=khgl_20240805_230018.dmp"

 
 

http://www.lryc.cn/news/468161.html

相关文章:

  • oneplus3t-android_framework
  • 偷懒总结篇|贪心算法|动态规划|单调栈|图论
  • C语言初阶七:C语言操作符详解(1)
  • GO excelize 读取excel进行时间类型转换(自动转换)
  • 【算法与数据结构】二分查找思想
  • PHP PDO:安全、灵活的数据持久层解决方案
  • 九、Linux实战案例:项目部署全流程深度解析
  • GIS常见前端开发框架
  • Java | Leetcode Java题解之第506题相对名次
  • 数据结构 - 堆
  • html----图片按钮,商品展示
  • YOLOv11改进策略【卷积层】| ECCV-2024 小波卷积WTConv 增大感受野,降低参数量计算量,独家创新助力涨点
  • redis高级篇之redis源码分析List类型quicklist底层演变 答疑159节
  • Elasticsearch 与 Lucene 的区别和联系
  • OpenCV视觉分析之运动分析(5)背景减除类BackgroundSubtractorMOG2的使用
  • 【SAP Hana】X-DOC:数据仓库ETL如何抽取SAP中的CDS视图数据
  • WPF的UpdateSourceTrigger属性
  • 2024-09-25 环境变量,进程地址空间
  • 中国移动机器人将投入养老场景;华为与APUS共筑AI医疗多场景应用
  • 青少年编程能力等级测评CPA C++ 四级试卷(1)
  • 树上任意两点的距离
  • 【 thinkphp8 】00008 thinkphp8数据查询,常用table,name方法,进行数据查询汇总
  • Git的命令合集
  • 博客搭建之路:hexo搜索引擎收录
  • 创建Windows系统还原点
  • Linux等保测评需要用到的命令
  • PostgreSQL的学习心得和知识总结(一百五十六)|auto_explain — log execution plans of slow queries
  • 数据结构模板代码合集(不完整)
  • shell脚本语法详解
  • 2021亚洲机器学习会议:面向单阶段跨域检测的域自适应YOLO(ACML2021)