首页 > 解决方案 > 是否可以在其他 docker 容器中重用 oracle 数据库文件(.dbf)

问题描述

我有一个运行 docker 容器的 oracle 12,比如说ora_db1,其中执行了一些初始 sql 脚本和转储文件的导入。由于导入需要相当长的时间,因此我想将存储在容器ora_db1的路径/opt/oracle/oradata中的现有 .dbf 文件重用于其他一些容器,比如ora_db2ora_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 ###############
#####################################

标签: oracledocker

解决方案


推荐阅读