Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

building oracle 19c container with oraclelinux:9-slim fails #2890

Open
itroll42 opened this issue Nov 20, 2024 · 3 comments
Open

building oracle 19c container with oraclelinux:9-slim fails #2890

itroll42 opened this issue Nov 20, 2024 · 3 comments
Assignees

Comments

@itroll42
Copy link

Is there any timeframe on when new dockerfiles will be generated to support building of oracle containerized databases with either oraclelinux8, or 9?

I have managed to update the existing dockerfiles to support oraclelinux8 by doing the following:
Change the BASE_IMAGE to oraclelinux:8-slim
Adding the following ENV in the dockerfile
CV_ASSUME_DISTID=OEL7.8
Updating the setupLinuxEnv.sh script to use microdnf instead of yum.

This allows the container image to build successfully. and I can run it and it builds a db and starts up as expected.

If I do the same things but instead set the BASE_IMAGE to oraclelinux:9-slim I get errors during the startup.

One error I receive is this:
/u01/app/oracle/product/19.0.0/dbhome_1/bin/platform_common: No such file or directory

after researching this it appears that there is a file that is not utilizing the ORACLE_HOME or ORACLE_BASE env variable, and is instead using a hard coded u01/app/xxxx path. I did not change the ORACLE_HOME or ORACLE_BASE values from the dockerfile.

I then tried to hack things so that in the setupLinuxEnv.sh script it would create a symbolic link in the u01 path to the /opt/oracle path. The end result with that was this error when attempting to startup the container.

[FATAL] [INS-00001] Unknown irrecoverable error
CAUSE: No additional information available.
ACTION: Refer to the logs or contact Oracle Support Services
SUMMARY:
| - [DBT-00006] The logging directory could not be created.
| - [DBT-00006] The logging directory could not be created.

Has anyone had any luck building a container with oraclelinux9 yet?

@oraclesean
Copy link
Contributor

@itroll42 I've successfully created 19c/21c images with OEL9 using my own repository. As I recall, the oraclelinux:9-slim image was "too slim" and missing some packages. Can you try building with oraclelinux:9 instead?

This may be an issue with the host OS version, too. If the container needs OEL9 functionality that isn't supported by the host OS/kernel, I expect that you'll see odd errors related to incompatibility. It could also be something in the version of Docker/whatever. Will you share details of your host environment? If you're on OSX, I don't think you have the option of implementing an OEL9-compatible VM. If you're on Windows, you may be able to specify a compatible kernel in WLS2, but I'm not an expert in that area.

My next thought is that this is related to memory or perhaps a volume used by the database. There are some examples of similar errors here that were (for most people) reportedly solved by increasing the container runtime's memory footprint: #1257

A full build cache can also cause odd problems. Try docker system df, docker buildx du, or docker builder du to see what's used, and clear dangling cache with docker builder prune. (If you're still able to build/run a non-OEL9 19c database container, it's unlikely that build cache is the problem, but it never hurts to check.)

To clarify, when you say "...during the startup" do you mean when building an image or when running a container? If it's the latter, and the above solutions aren't helpful, please share the docker run command you're using as well as the output from the following:

docker system info
docker images
docker inspect <IMAGE_NAME>
docker inspect <CONTAINER_NAME>

Also, if possible, add -x and env | sort to the failing script/step and share the output of the docker run command.

@itroll42
Copy link
Author

I will try and build with oraclelinux9 instead of the -slim to see if that helps.

Currently to test the building, and running of the containers I am on a 2018 mac. still an x85 based, not ARM based mac. All container builds with oraclelinux7 work fine if built on this mac, and deployed to other macs, windows, or linux systems.

The oraclelinux8 build I did also appears to build the image, and startup the container and I can watch the database do its normal process of % complete messages before the db is finally online.

The errors I mentioned in my original post are all during the startup of the container. The image build itself I have been able to get successful with oraclelinux9-slim (but as you said slim may not be enough so I will try again without the -slim here shortly).

Once I build with the regular and not -slim, If that doesn't work, I will gather up the other information you asked for to help diagnose things.

Although if its that something is different between 8 and 9 and that 9 images can't be built on an osx system so be it. I will have to get the other team members to attempt to build this, or for them to give me a linux server somewhere to play with an attempt a build.

Thanks for the info so far.

@itroll42
Copy link
Author

itroll42 commented Nov 21, 2024

Just an update on this.

I can successfully build an oraclelinux:9-slim based image. It just doesn't run as a container successfully with the previously mentioned errors.

I can not successfully build an oraclelinux:9 based image. It fails during the image build process with the attached errors

build_errro.log

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants