[特殊字符] Oracle 11g XE Docker 部署与备份恢复完整笔记

发布时间:2026/9/4 18:23:32
[特殊字符] Oracle 11g XE Docker 部署与备份恢复完整笔记 一、环境准备1.1 服务器信息项目配置操作系统Ubuntu/Debian服务器 IP118.31.124.108数据库版本Oracle 11g XE容器名称oracle11g1.2 创建数据持久化目录sudomkdir-p/docker/oracle19c/oradatasudochmod777/docker/oracle19c/oradata二、安装 Docker2.1 更新软件包并安装 Dockersudoaptupdatesudoaptinstalldocker.io-y2.2 验证 Docker 版本docker--version2.3 将当前用户加入 docker 组免 sudo 执行 docker 命令sudousermod-aGdocker$USER执行后需要退出 MobaXterm 重新登录或执行newgrpdocker2.4 配置 Docker 镜像加速器可选提升下载速度sudomkdir-p/etc/dockersudotee/etc/docker/daemon.json-EOF { registry-mirrors: [ https://docker.mirrors.ustc.edu.cn, https://hub-mirror.c.163.com ] } EOFsudosystemctl daemon-reloadsudosystemctl restartdocker三、部署 Oracle 11g XE3.1 拉取并启动容器dockerrun-d\--nameoracle11g\--restartunless-stopped\-p1521:1521\-p8080:8080\-eORACLE_PASSWORDoracle\-eORACLE_SIDXE\-eORACLE_CHARACTERSETAL32UTF8\--shm-size512m\-v/docker/oracle19c/oradata:/u01/app/oracle/oradata\gvenzl/oracle-xe:11.2.0.23.2 查看容器运行状态dockerps|greporacle11g3.3 查看启动日志等待数据库初始化约 2-3 分钟dockerlogs-foracle11g看到Database ready to use. Enjoy!或Completed: ALTER DATABASE OPEN表示启动完成。按CtrlC退出日志查看。3.4 验证数据库连接dockerexec-itoracle11g sqlplus system/oracleXE看到SQL提示符表示成功。输入exit退出。四、开放防火墙端口4.1 开放 1521 端口sudoufw allow1521/tcp4.2 查看防火墙状态sudoufw status4.3 验证端口监听netstat-tlnp|grep15214.4 测试端口连通性telnet 服务器公网 IP1521⚠️重要云服务器还需在控制台开放安全组登录阿里云/腾讯云控制台进入安全组 → 入方向添加规则端口1521/1521授权对象0.0.0.0/0五、远程连接信息项目配置主机服务器公网 IP如 118.31.124.108端口1521SIDXE选择 SID不是服务名用户名system密码oracle六、数据库备份6.1 创建备份目录dockerexecoracle11gbash-cmkdir -p /u01/app/oracle/dump chmod 777 /u01/app/oracle/dump6.2 执行全量备份使用 expdockerexecoracle11g exp system/oracleXE\FULLY\FILE/u01/app/oracle/dump/full_backup.dmp\LOG/u01/app/oracle/dump/full_backup.log6.3 查看备份文件dockerexecoracle11gls-la/u01/app/oracle/dump/6.4 将备份文件拷贝到宿主机dockercporacle11g:/u01/app/oracle/dump/full_backup.dmp ./dockercporacle11g:/u01/app/oracle/dump/full_backup.log ./6.5 验证备份文件ls-lafull_backup.*七、数据库恢复7.1 确保备份文件在容器内dockercp./full_backup.dmp oracle11g:/u01/app/oracle/dump/7.2 执行全量恢复dockerexecoracle11g imp system/oracleXE\FULLY\IGNOREY\FILE/u01/app/oracle/dump/full_backup.dmp\LOG/u01/app/oracle/dump/restore.log7.3 查看恢复日志dockerexecoracle11gcat/u01/app/oracle/dump/restore.log7.4 验证恢复结果echoSELECT name, open_mode FROM v\$database;|dockerexec-ioracle11g sqlplus system/oracleXE预期输出XE READ WRITE