docker-images
docker-images copied to clipboard
Oracle Database with NFS mounted Volume
I'm trying to deploy an oracle enterprise database on our internal docker swarm and ran into the following issue:
The docker-compose is run by our manager node as
docker stack deploy -c /etc/docker/X/X/oracle/docker-compose.yml X --with-registry-auth
Inside the compose file we have an NFS mounted volume on a different node (excempt):
services:
oracle:
volumes:
- qa_oracle:/opt/oracle/oradata
volumes:
oracle:
driver_opts:
type: nfs
o: addr=X,nolock,soft,rw
device: ":/mnt/swarm_persistence/shared/X/oracle"
When I try to run the container, I get the same error as in https://github.com/oracle/docker-images/issues/2395 , but currently there is no way to create a local oracle image to test whether that fix would work.
oracle-oracle-1 | 8% complete
oracle-oracle-1 | Copying database files
oracle-oracle-1 | 31% complete
oracle-oracle-1 | 100% complete
oracle-oracle-1 | [FATAL] Recovery Manager failed to restore datafiles. Refer logs for details.
oracle-oracle-1 | 8% complete
oracle-oracle-1 | 0% complete
oracle-oracle-1 | Look at the log file "/opt/oracle/cfgtoollogs/dbca/ORCLCDB/ORCLCDB.log" for further details.
oracle-oracle-1 | [ 2022-09-07 11:11:12.079 CEST ] Prepare for db operation
oracle-oracle-1 | DBCA_PROGRESS : 8%
oracle-oracle-1 | [ 2022-09-07 11:11:12.171 CEST ] Copying database files
oracle-oracle-1 | DBCA_PROGRESS : 31%
oracle-oracle-1 | DBCA_PROGRESS : 100%
oracle-oracle-1 | [ 2022-09-07 11:11:28.320 CEST ] [FATAL] Recovery Manager failed to restore datafiles. Refer logs for details.
oracle-oracle-1 | DBCA_PROGRESS : 8%
oracle-oracle-1 | DBCA_PROGRESS : 0%
oracle-oracle-1 |
oracle-oracle-1 | SQL*Plus: Release 21.0.0.0.0 - Production on Wed Sep 7 11:11:30 2022
oracle-oracle-1 | Version 21.3.0.0.0
oracle-oracle-1 |
oracle-oracle-1 | Copyright (c) 1982, 2021, Oracle. All rights reserved.
oracle-oracle-1 |
oracle-oracle-1 | Connected to an idle instance.
oracle-oracle-1 |
oracle-oracle-1 | SQL> ALTER SYSTEM SET control_files='/opt/oracle/oradata/ORCLCDB/control01.ctl' scope=spfile
oracle-oracle-1 | *
oracle-oracle-1 | ERROR at line 1:
oracle-oracle-1 | ORA-01034: ORACLE not available
oracle-oracle-1 | Process ID: 0
oracle-oracle-1 | Session ID: 0 Serial number: 0
I added the oracle user with uid 54321 to our storage server and gave ownership of the folder
What am I doing wrong?
I tried creating my own EE-image but the problem persists.
When I change the volume to a local one, the container starts without any problems
Same problem, RAM failed to create PDB with NFS Mount on /opt/oracle/oradata/. Any probllem with local persistent volume and the same image.