oracle - 是否可以在其他 docker 容器中重用 oracle 数据库文件(.dbf)
问题描述
我有一个运行 docker 容器的 oracle 12,比如说ora_db1,其中执行了一些初始 sql 脚本和转储文件的导入。由于导入需要相当长的时间,因此我想将存储在容器ora_db1的路径/opt/oracle/oradata中的现有 .dbf 文件重用于其他一些容器,比如ora_db2和ora_db3
到目前为止,我尝试在启动容器ora_db1时使用 docker volume ,例如
docker run --name ora_db1 -p <port>:<port> -v C:\host\path:/opt/oracle/oradata xyz_image:v1
之后,我将数据从 C:\host\path 复制到 C:\host\path2 并启动另一个容器
docker run --name ora_db2 -p <port>:<port> -v C:\host\path2:/opt/oracle/oradata xyz_image:v1
只是将存储在 C:\host\path2 中的所有 .dbf 文件隐藏到 /opt/oracle/oradata。但不幸的是,我看到一个错误
SQL> ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated
ORA-01262: Stat failed on a file destination directory
Linux-x86_64 Error: 2: No such file or directory
SQL> Disconnected
#####################################
########### E R R O R ###############
DATABASE SETUP WAS NOT SUCCESSFUL!
Please check output for further info!
########### E R R O R ###############
#####################################
解决方案
推荐阅读
- boolean-logic - 仅使用 NAND、OR、XNOR 编写表达式
- python - 使用 except 块的变量作用域:Python 2 和 3 之间的区别
- c# - 迁移到 Npgsql
- c++ - 什么等于特征 C++ 中 Python 的 np.linalg.solve(A, B)
- javascript - 计时器:在一段时间内播放几分钟的警告信号
- typescript - 类型“字符串”不可分配给类型“字符串 []”
- node.js - Mongo 函数查找数组中是否存在超字符串。节点,
- powershell - Invoke-Command 在本地工作,但不是通过 Jenkins
- mongodb - MongoDB - 考虑到一个属性的最小值,获取一个组的完整文档
- android - 无法编译 RenderScript 缩减内核