{"id":12304,"date":"2023-04-16T16:49:07","date_gmt":"2023-04-16T14:49:07","guid":{"rendered":"https:\/\/www.salvis.com\/blog\/?p=12304"},"modified":"2024-11-05T11:15:27","modified_gmt":"2024-11-05T10:15:27","slug":"oracle-database-23c-on-a-mac-with-an-m-series-chip","status":"publish","type":"post","link":"https:\/\/www.salvis.com\/blog\/2023\/04\/16\/oracle-database-23c-on-a-mac-with-an-m-series-chip\/","title":{"rendered":"Oracle Database 23c on a Mac with an M-Series Chip"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">ARM Docker Images Now Available<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">With the release of version 23.5 of Oracle Database 23ai, ARM builds are now available for Docker images. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On the official <a href=\"https:\/\/container-registry.oracle.com\/\">Oracle Container Registry<\/a>:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2023\/04\/image.png\"><img loading=\"lazy\" decoding=\"async\" width=\"989\" height=\"200\" src=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2023\/04\/image.png\" alt=\"\" class=\"wp-image-13723\" srcset=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2023\/04\/image.png 989w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2023\/04\/image-300x61.png 300w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2023\/04\/image-768x155.png 768w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2023\/04\/image-150x30.png 150w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2023\/04\/image-480x97.png 480w\" sizes=\"auto, (max-width:767px) 480px, (max-width:989px) 100vw, 989px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">And on <a href=\"https:\/\/hub.docker.com\/r\/gvenzl\/oracle-free\/tags?name=arm\">Docker Hub<\/a> provided by Gerald Venzl:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2023\/04\/image-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"946\" height=\"404\" src=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2023\/04\/image-1.png\" alt=\"\" class=\"wp-image-13724\" srcset=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2023\/04\/image-1.png 946w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2023\/04\/image-1-300x128.png 300w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2023\/04\/image-1-768x328.png 768w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2023\/04\/image-1-150x64.png 150w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2023\/04\/image-1-480x205.png 480w\" sizes=\"auto, (max-width:767px) 480px, (max-width:946px) 100vw, 946px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This makes it very easy to use the Oracle Database on a Mac with an Apple silicon chip.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Starting Position<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I got my MacBook Pro 16&#8243; with an Apple M1 Max chip with 10 cores, 64 GB RAM and 4 TB disk in November 2021. At that time, the M1 chip had already been on the market for a year and I knew that there were problems when running virtual machines or Docker containers with the Intel x86_64 architecture. Most of my colleagues decided to go with a database instance in the cloud. However, I like the ability to develop offline and I often need an Oracle Database. And disk space is not an issue.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">My solution was to <a href=\"https:\/\/twitter.com\/phsalvisberg\/status\/1463365470984232960?s=20\">run Windows on ARM in Parallels Desktop and install the Oracle Database<\/a> there. Microsoft did a tremendous job running Intel-based software under Windows on ARM. As far as I remember I did not experience a single crash. And the performance was similar to the Oracle Databases that ran in a Docker container on my Mac mini Server with a 2.3 GHz Intel Quad-Core i7.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I tried other solutions based on <a href=\"https:\/\/www.qemu.org\/\">QEMU<\/a> like <a href=\"https:\/\/mac.getutm.app\/\">UTM<\/a>, but the performance was unbearable slow. So, I lived with my Oracle Database under Windows. Happily until 4th April 2023. The release date of Oracle Database 23c Free.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Oracle Database 23c Free<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Oracle Database 23c Free is available as Linux RPM, VirtualBox VM or Docker image. There are two distributions for the Docker image:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Oracle&#8217;s official image (<a href=\"https:\/\/container-registry.oracle.com\/\">container-registry.oracle.com\/database\/free<\/a>)<\/li>\n\n\n\n<li>Gerald Venzl&#8217;s images (<a href=\"https:\/\/hub.docker.com\/r\/gvenzl\/oracle-free\">gvenzl\/oracle-free<\/a>) in the flavours <code>thin<\/code>, <code>regular<\/code>, <code>full<\/code>&nbsp;and <code>faststart<\/code><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Gerald and the team at Oracle managed to allow us to download Oracle software without forcing us to log in and accept some license agreements. This is super cool, especially in CI environments.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Gerald mentions also the limitation regarding the <a href=\"https:\/\/github.com\/gvenzl\/oci-oracle-free#oracle-database-free-on-apple-m-chips\">Oracle Database Free on Apple M chips<\/a> and points to <a href=\"https:\/\/github.com\/abiosoft\/colima\">Colima<\/a>. I have not used Colima before, however, it sounds like the way to go until Oracle releases their flagship database system for <a href=\"https:\/\/en.wikipedia.org\/wiki\/ARM_architecture_family\">ARM<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is Colima?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Colima provides an alternative context for Docker containers. Docker containers do not run natively on macOS. Instead, the context provides a virtual machine and the containers run there. The idea is that we do not need to know that there is a VM behind the scenes. Mostly.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Docker Desktop provides already a VM. Why do we need an alternative or an additional VM? Well, I see the following reasons:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Firstly, you can use Colima as a replacement for Docker Desktop.<\/li>\n\n\n\n<li>Secondly, you have more control over the configuration of the virtual machine, and this effectively allows you to run an Oracle Database in a Docker container on a macOS machine with an Apple M-Series chip.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">It&#8217;s important to note, that Colima can run side-by-side with Docker Desktop. You can change the current context via the <code>docker context<\/code> command. However, Docker Desktop 4.17.0 is not able to see &#8220;foreign&#8221; contexts. This means when you work with Colima you do that from the command line.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Prerequisites<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">For the next steps, you will need the following:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A Mac with an M-Series chip,<\/li>\n\n\n\n<li>with macOS Ventura 13.3.1 or newer,<\/li>\n\n\n\n<li>Internet access,<\/li>\n\n\n\n<li>and the ability to work in a terminal window and execute <code>sudo<\/code> commands.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">So, let&#8217;s get started.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1 &#8211; Install Homebrew<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Run the following command in a terminal window, if you have not installed <a href=\"https:\/\/brew.sh\/\">homebrew<\/a> already:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">1a) Install homebrew<\/span><span role=\"button\" tabindex=\"0\" data-code=\"\/bin\/bash -c &quot;$(curl -fsSL https:\/\/raw.githubusercontent.com\/Homebrew\/install\/HEAD\/install.sh)&quot;\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #DCDCAA\">\/bin\/bash<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">-c<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">&quot;$(<\/span><span style=\"color: #DCDCAA\">curl<\/span><span style=\"color: #CE9178\"> <\/span><span style=\"color: #569CD6\">-fsSL<\/span><span style=\"color: #CE9178\"> https:\/\/raw.githubusercontent.com\/Homebrew\/install\/HEAD\/install.sh)&quot;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">If you already have installed homebrew, then update your installation as follows:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">1b) Update homebrew<\/span><span role=\"button\" tabindex=\"0\" data-code=\"brew update\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #DCDCAA\">brew<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">update<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">You might be asked to upgrade outdated formulae. &#8211; You know what to do.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2 &#8211; Install Colima<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We install the stable version of Colima via homebrew. See the <a href=\"https:\/\/github.com\/abiosoft\/colima\/blob\/main\/docs\/INSTALL.md\">installation guide<\/a> for all options.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">2) Install Colima<\/span><span role=\"button\" tabindex=\"0\" data-code=\"brew install colima\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #DCDCAA\">brew<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">install<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">colima<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Step 3 &#8211; Create Colima VM<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Now we can start Colima. The initial start creates the virtual machine. We pass a minimal set of parameters to override the defaults where necessary.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);--cbp-line-highlight-color:rgba(234, 191, 191, 0.2);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">3) Create Colima VM<\/span><span role=\"button\" tabindex=\"0\" data-code=\"colima start \\\n    --arch x86_64 \\\n    --vm-type=vz \\\n    --vz-rosetta \\\n    --mount-type=virtiofs \\\n    --memory 4\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #DCDCAA\">colima<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">start<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #D7BA7D\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">--arch<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">x86_64<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #D7BA7D\">\\<\/span><\/span>\n<span class=\"line cbp-line-highlight\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">--vm-type=vz<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #D7BA7D\">\\<\/span><\/span>\n<span class=\"line cbp-line-highlight\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">--vz-rosetta<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #D7BA7D\">\\<\/span><\/span>\n<span class=\"line cbp-line-highlight\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">--mount-type=virtiofs<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #D7BA7D\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">--memory<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">4<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">This command produces a VM with 2 CPUs, 4 GB RAM and 60 GB disk space. The architecture is x86_64. To improve the performance we use the virtualization framework of macOS 13 <code>vz<\/code>, enable Rosetta 2 and use the macOS-specific volume mount driver <code>virtiofs<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The VM is created in <code>$HOME\/.lima<\/code>. The configuration of the VM is stored in <code>$HOME\/.colima\/default\/colima.yaml<\/code>. Most of the settings can be changed, but require a restart of the VM (via <code>colima restart<\/code> or <code>colima stop<\/code> followed by <code>colima start<\/code>).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Starting Colima changes the context to <code>colima<\/code> and stopping it changes it back to <code>default<\/code>. Use <code>docker context use<\/code> to change the context.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em><span class=\"highlight highlight-\" style=\"background-color:Lemonchiffon;color:black;\">Updated on 2023-04-19:<\/span>\n The <code>x86_64<\/code> architecture prohibits the use of Rosetta 2. Colima falls back silently to QEMU. Providing `<span class=\"s1\">&#8211;arch aarch64` enables Rosetta 2. However, it will not be possible to start an Oracle Database. You will get the same errors as with the default Docker context. As a result, you do not need to pass the highlighted parameters.<\/span><\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 4 &#8211; Create 23c Container<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We want to create a container with a volume mapped to a local directory. Due to various permission issues, it is not that simple to achieve that directly. It&#8217;s easier if we create an internal Docker volume (within the VM) first.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">4a) Create 23c Container<\/span><span role=\"button\" tabindex=\"0\" data-code=\"docker run -d \\\n    --name 23c \\\n    -p 1522:1521 \\\n    -v 23c-data:\/opt\/oracle\/oradata \\\n    container-registry.oracle.com\/database\/free\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #DCDCAA\">docker<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">run<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">-d<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #D7BA7D\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">--name<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">23<\/span><span style=\"color: #CE9178\">c<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #D7BA7D\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">-p<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">1522<\/span><span style=\"color: #CE9178\">:1521<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #D7BA7D\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">-v<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">23<\/span><span style=\"color: #CE9178\">c-data:\/opt\/oracle\/oradata<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #D7BA7D\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #CE9178\">container-registry.oracle.com\/database\/free<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">We use Oracle&#8217;s distribution of the image. It will be pulled automatically. The volume <code>23c-data<\/code> is also created automatically.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To monitor the console output we run the following command:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">4b) Monitor console output<\/span><span role=\"button\" tabindex=\"0\" data-code=\"docker logs -tf 23c\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #DCDCAA\">docker<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">logs<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">-tf<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">23<\/span><span style=\"color: #CE9178\">c<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Here&#8217;s the log output with timestamps. The database was up and running after 38 seconds.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">4c) Console Output<\/span><span role=\"button\" tabindex=\"0\" data-code=\"2023-04-16T10:16:43.392545000Z Starting Oracle Net Listener.\n2023-04-16T10:16:44.057130000Z Oracle Net Listener started.\n2023-04-16T10:16:44.057316000Z Starting Oracle Database instance FREE.\n2023-04-16T10:17:19.544454000Z Oracle Database instance FREE started.\n2023-04-16T10:17:19.547911000Z \n2023-04-16T10:17:19.705193000Z The Oracle base remains unchanged with value \/opt\/oracle\n2023-04-16T10:17:21.584419000Z #########################\n2023-04-16T10:17:21.584722000Z DATABASE IS READY TO USE!\n2023-04-16T10:17:21.584981000Z #########################\n2023-04-16T10:17:21.669542000Z The following output is now a tail of the alert.log:\n2023-04-16T10:17:21.720236000Z FREEPDB1(3):Opening pdb with Resource Manager plan: DEFAULT_PLAN\n2023-04-16T10:17:21.720480000Z 2023-04-16T10:17:17.657677+00:00\n2023-04-16T10:17:21.720530000Z Completed: Pluggable database FREEPDB1 opened read write \n2023-04-16T10:17:21.720563000Z Completed: ALTER DATABASE OPEN\n2023-04-16T10:17:21.720592000Z 2023-04-16T10:17:19.761876+00:00\n2023-04-16T10:17:21.720620000Z ===========================================================\n2023-04-16T10:17:21.720647000Z Dumping current patch information\n2023-04-16T10:17:21.720673000Z ===========================================================\n2023-04-16T10:17:21.720698000Z No patches have been applied\n2023-04-16T10:17:21.720722000Z ===========================================================\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:16:43.392545000Z Starting Oracle Net Listener.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:16:44.057130000Z Oracle Net Listener started.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:16:44.057316000Z Starting Oracle Database instance FREE.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:17:19.544454000Z Oracle Database instance FREE started.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:17:19.547911000Z <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:17:19.705193000Z The Oracle base remains unchanged with value \/opt\/oracle<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:17:21.584419000Z #########################<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:17:21.584722000Z DATABASE IS READY TO USE!<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:17:21.584981000Z #########################<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:17:21.669542000Z The following output is now a tail of the alert.log:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:17:21.720236000Z FREEPDB1(3):Opening pdb with Resource Manager plan: DEFAULT_PLAN<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:17:21.720480000Z 2023-04-16T10:17:17.657677+00:00<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:17:21.720530000Z Completed: Pluggable database FREEPDB1 opened read write <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:17:21.720563000Z Completed: ALTER DATABASE OPEN<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:17:21.720592000Z 2023-04-16T10:17:19.761876+00:00<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:17:21.720620000Z ===========================================================<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:17:21.720647000Z Dumping current patch information<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:17:21.720673000Z ===========================================================<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:17:21.720698000Z No patches have been applied<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:17:21.720722000Z ===========================================================<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">We can press Ctrl-C once we see this output.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 5 &#8211; Change Passwords<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The database was created with random passwords for <code>SYS<\/code>, <code>SYSTEM<\/code> and <code>PDBADMIN<\/code>. To change them we run the following:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">5a) Change passwords<\/span><span role=\"button\" tabindex=\"0\" data-code=\"docker exec -it 23c .\/setPassword.sh oracle\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #DCDCAA\">docker<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">exec<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">-it<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">23<\/span><span style=\"color: #CE9178\">c<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">.\/setPassword.sh<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">oracle<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">As result, we expect the following SQL*Plus console output:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">5b) Console output<\/span><span role=\"button\" tabindex=\"0\" data-code=\"The Oracle base remains unchanged with value \/opt\/oracle\n\nSQL*Plus: Release 23.0.0.0.0 - Developer-Release on Sun Apr 16 10:18:57 2023\nVersion 23.2.0.0.0\n\nCopyright (c) 1982, 2023, Oracle.  All rights reserved.\n\n\nConnected to:\nOracle Database 23c Free, Release 23.0.0.0.0 - Developer-Release\nVersion 23.2.0.0.0\n\nSQL&gt; \nUser altered.\n\nSQL&gt; \nUser altered.\n\nSQL&gt; \nSession altered.\n\nSQL&gt; \nUser altered.\n\nSQL&gt; Disconnected from Oracle Database 23c Free, Release 23.0.0.0.0 - Developer-Release\nVersion 23.2.0.0.0\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D4D4D4\">The Oracle base remains unchanged with value \/opt\/oracle<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\"><\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">SQL*Plus: Release 23.0.0.0.0 - Developer-Release on Sun Apr 16 10:18:57 2023<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">Version 23.2.0.0.0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\"><\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">Copyright (c) 1982, 2023, Oracle.  All rights reserved.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\"><\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\"><\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">Connected to:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">Oracle Database 23c Free, Release 23.0.0.0.0 - Developer-Release<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">Version 23.2.0.0.0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\"><\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">SQL&gt; <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">User altered.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\"><\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">SQL&gt; <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">User altered.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\"><\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">SQL&gt; <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">Session altered.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\"><\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">SQL&gt; <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">User altered.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\"><\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">SQL&gt; Disconnected from Oracle Database 23c Free, Release 23.0.0.0.0 - Developer-Release<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">Version 23.2.0.0.0<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">That&#8217;s it if you are happy with a Docker volume.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you&#8217;d like the volume to be mapped to a local directory on your Mac, then read on.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 6 &#8211; Export Volume<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">There are several ways to export a volume. The following script uses a helper container to access the volume and copy the content to the local directory which we want to use in the future as the replacement for the Docker volume.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">6) Export Volume<\/span><span role=\"button\" tabindex=\"0\" data-code=\"docker stop 23c\nmkdir -p $HOME\/docker\/23c-data\ndocker run --rm \\\n    -v 23c-data:\/source \\\n    -v $HOME\/docker:\/target \\\n    ubuntu tar czvf \/target\/23c-data.tar.gz \/source\nsudo tar xvpfz $HOME\/docker\/23c-data.tar.gz \\\n    --strip-components=1 -C $HOME\/docker\/23c-data\n\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #DCDCAA\">docker<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">stop<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">23<\/span><span style=\"color: #CE9178\">c<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">mkdir<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">-p<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">$HOME<\/span><span style=\"color: #CE9178\">\/docker\/23c-data<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">docker<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">run<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">--rm<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #D7BA7D\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">-v<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">23<\/span><span style=\"color: #CE9178\">c-data:\/source<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #D7BA7D\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">-v<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">$HOME<\/span><span style=\"color: #CE9178\">\/docker:\/target<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #D7BA7D\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #CE9178\">ubuntu<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">tar<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">czvf<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">\/target\/23c-data.tar.gz<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">\/source<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">sudo<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">tar<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">xvpfz<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">$HOME<\/span><span style=\"color: #CE9178\">\/docker\/23c-data.tar.gz<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #D7BA7D\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">--strip-components=1<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">-C<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">$HOME<\/span><span style=\"color: #CE9178\">\/docker\/23c-data<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Step 7 &#8211; Change Permissions<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We used <code>sudo tar xvpfz...<\/code> previously to ensure that we can create all files in the target directory with the same permissions as in the original Docker volume. However, this does not seem to be enough.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">7a) Change Permissions<\/span><span role=\"button\" tabindex=\"0\" data-code=\"sudo chown 54321:54321 $HOME\/docker\/23c-data\nsudo chmod -R 777 $HOME\/docker\/23c-data\nsudo chmod 4640 $HOME\/docker\/23c-data\/dbconfig\/FREE\/orapwFREE\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #DCDCAA\">sudo<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">chown<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">54321<\/span><span style=\"color: #CE9178\">:54321<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">$HOME<\/span><span style=\"color: #CE9178\">\/docker\/23c-data<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">sudo<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">chmod<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">-R<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">777<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">$HOME<\/span><span style=\"color: #CE9178\">\/docker\/23c-data<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">sudo<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">chmod<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">4640<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">$HOME<\/span><span style=\"color: #CE9178\">\/docker\/23c-data\/dbconfig\/FREE\/orapwFREE<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><code>orapwFREE<\/code> is the password file. It needs restrictive permission to work.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you&#8217;d like to have the user <code>oracle<\/code> and the group <code>oinstall<\/code> also on your Mac, then you can run the following:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">7b) Create group oinstall and user oracle<\/span><span role=\"button\" tabindex=\"0\" data-code=\"sudo dscl . -create \/Groups\/oinstall\nsudo dscl . -create \/Groups\/oinstall name oinstall\nsudo dscl . -create \/Groups\/oinstall gid 54321\nsudo dscl . -create \/Users\/oracle\nsudo dscl . -create \/Users\/oracle name oracle\nsudo dscl . -create \/Users\/oracle uid 54321\nsudo dscl . -create \/Users\/oracle PrimaryGroupID 54321\nsudo dseditgroup -o edit -a oracle -t user oinstall\nsudo dseditgroup -o edit -a $USER -t user oinstall\nsudo dscl . -create \/Groups\/oinstall GroupMembership oracle\nsudo dscl . -create \/Groups\/oinstall GroupMembership $USER\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #DCDCAA\">sudo<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">dscl<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">.<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">-create<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">\/Groups\/oinstall<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">sudo<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">dscl<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">.<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">-create<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">\/Groups\/oinstall<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">name<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">oinstall<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">sudo<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">dscl<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">.<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">-create<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">\/Groups\/oinstall<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">gid<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">54321<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">sudo<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">dscl<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">.<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">-create<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">\/Users\/oracle<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">sudo<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">dscl<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">.<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">-create<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">\/Users\/oracle<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">name<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">oracle<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">sudo<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">dscl<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">.<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">-create<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">\/Users\/oracle<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">uid<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">54321<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">sudo<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">dscl<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">.<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">-create<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">\/Users\/oracle<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">PrimaryGroupID<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">54321<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">sudo<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">dseditgroup<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">-o<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">edit<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">-a<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">oracle<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">-t<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">user<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">oinstall<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">sudo<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">dseditgroup<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">-o<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">edit<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">-a<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">$USER<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">-t<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">user<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">oinstall<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">sudo<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">dscl<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">.<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">-create<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">\/Groups\/oinstall<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">GroupMembership<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">oracle<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">sudo<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">dscl<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">.<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">-create<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">\/Groups\/oinstall<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">GroupMembership<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">$USER<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">After that the output of <code>cd $HOME\/docker;ls -lR 23c-data<\/code> should look similar to this:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">7c) Volume privileges<\/span><span role=\"button\" tabindex=\"0\" data-code=\"total 0\ndrwxrwxrwx  15 oracle  oinstall  480 Apr 16 12:16 FREE\ndrwxrwxrwx   3 oracle  oinstall   96 Apr 16 12:16 dbconfig\n\n23c-data\/FREE:\ntotal 4928904\ndrwxrwxrwx  7 oracle  oinstall         224 Apr 16 12:16 FREEPDB1\n-rwxrwxrwx  1 oracle  oinstall    18759680 Apr 16 12:19 control01.ctl\n-rwxrwxrwx  1 oracle  oinstall    18759680 Mar 28 15:28 control02.ctl\ndrwxrwxrwx  6 oracle  oinstall         192 Apr 16 12:16 pdbseed\n-rwxrwxrwx  1 oracle  oinstall   209715712 Apr 16 12:16 redo01.log\n-rwxrwxrwx  1 oracle  oinstall   209715712 Apr 16 12:19 redo02.log\n-rwxrwxrwx  1 oracle  oinstall   209715712 Apr 16 12:16 redo03.log\n-rwxrwxrwx  1 oracle  oinstall   576724992 Apr 16 12:19 sysaux01.dbf\n-rwxrwxrwx  1 oracle  oinstall  1216356352 Apr 16 12:19 system01.dbf\n-rwxrwxrwx  1 oracle  oinstall    20979712 Mar 28 15:24 temp01.dbf\n-rwxrwxrwx  1 oracle  oinstall    26222592 Apr 16 12:19 undotbs01.dbf\n-rwxrwxrwx  1 oracle  oinstall     5251072 Apr 16 12:19 users01.dbf\n\n23c-data\/FREE\/FREEPDB1:\ntotal 1464400\n-rwxrwxrwx  1 oracle  oinstall  325066752 Apr 16 12:19 sysaux01.dbf\n-rwxrwxrwx  1 oracle  oinstall  293609472 Apr 16 12:19 system01.dbf\n-rwxrwxrwx  1 oracle  oinstall   20979712 Apr 16 12:17 temp01.dbf\n-rwxrwxrwx  1 oracle  oinstall  104865792 Apr 16 12:19 undotbs01.dbf\n-rwxrwxrwx  1 oracle  oinstall    5251072 Apr 16 12:19 users01.dbf\n\n23c-data\/FREE\/pdbseed:\ntotal 1454144\n-rwxrwxrwx  1 oracle  oinstall  325066752 Mar 28 15:27 sysaux01.dbf\n-rwxrwxrwx  1 oracle  oinstall  293609472 Mar 28 15:27 system01.dbf\n-rwxrwxrwx  1 oracle  oinstall   20979712 Mar 28 15:25 temp01.dbf\n-rwxrwxrwx  1 oracle  oinstall  104865792 Mar 28 15:27 undotbs01.dbf\n\n23c-data\/dbconfig:\ntotal 0\ndrwxrwxrwx  8 oracle  oinstall  256 Apr 16 12:16 FREE\n\n23c-data\/dbconfig\/FREE:\ntotal 48\n-rwxrwxrwx  1 oracle  oinstall   449 Mar 28 15:28 listener.ora\n-rwSr-----  1 oracle  oinstall  2048 Apr 16 12:19 orapwFREE\n-rwxrwxrwx  1 oracle  oinstall   779 Mar 28 15:28 oratab\n-rwxrwxrwx  1 oracle  oinstall  3584 Apr 16 12:17 spfileFREE.ora\n-rwxrwxrwx  1 oracle  oinstall    69 Mar 28 15:28 sqlnet.ora\n-rwxrwxrwx  1 oracle  oinstall   690 Mar 28 15:28 tnsnames.ora\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D4D4D4\">total 0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">drwxrwxrwx  15 oracle  oinstall  480 Apr 16 12:16 FREE<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">drwxrwxrwx   3 oracle  oinstall   96 Apr 16 12:16 dbconfig<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\"><\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">23c-data\/FREE:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">total 4928904<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">drwxrwxrwx  7 oracle  oinstall         224 Apr 16 12:16 FREEPDB1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-rwxrwxrwx  1 oracle  oinstall    18759680 Apr 16 12:19 control01.ctl<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-rwxrwxrwx  1 oracle  oinstall    18759680 Mar 28 15:28 control02.ctl<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">drwxrwxrwx  6 oracle  oinstall         192 Apr 16 12:16 pdbseed<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-rwxrwxrwx  1 oracle  oinstall   209715712 Apr 16 12:16 redo01.log<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-rwxrwxrwx  1 oracle  oinstall   209715712 Apr 16 12:19 redo02.log<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-rwxrwxrwx  1 oracle  oinstall   209715712 Apr 16 12:16 redo03.log<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-rwxrwxrwx  1 oracle  oinstall   576724992 Apr 16 12:19 sysaux01.dbf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-rwxrwxrwx  1 oracle  oinstall  1216356352 Apr 16 12:19 system01.dbf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-rwxrwxrwx  1 oracle  oinstall    20979712 Mar 28 15:24 temp01.dbf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-rwxrwxrwx  1 oracle  oinstall    26222592 Apr 16 12:19 undotbs01.dbf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-rwxrwxrwx  1 oracle  oinstall     5251072 Apr 16 12:19 users01.dbf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\"><\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">23c-data\/FREE\/FREEPDB1:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">total 1464400<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-rwxrwxrwx  1 oracle  oinstall  325066752 Apr 16 12:19 sysaux01.dbf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-rwxrwxrwx  1 oracle  oinstall  293609472 Apr 16 12:19 system01.dbf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-rwxrwxrwx  1 oracle  oinstall   20979712 Apr 16 12:17 temp01.dbf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-rwxrwxrwx  1 oracle  oinstall  104865792 Apr 16 12:19 undotbs01.dbf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-rwxrwxrwx  1 oracle  oinstall    5251072 Apr 16 12:19 users01.dbf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\"><\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">23c-data\/FREE\/pdbseed:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">total 1454144<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-rwxrwxrwx  1 oracle  oinstall  325066752 Mar 28 15:27 sysaux01.dbf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-rwxrwxrwx  1 oracle  oinstall  293609472 Mar 28 15:27 system01.dbf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-rwxrwxrwx  1 oracle  oinstall   20979712 Mar 28 15:25 temp01.dbf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-rwxrwxrwx  1 oracle  oinstall  104865792 Mar 28 15:27 undotbs01.dbf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\"><\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">23c-data\/dbconfig:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">total 0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">drwxrwxrwx  8 oracle  oinstall  256 Apr 16 12:16 FREE<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\"><\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">23c-data\/dbconfig\/FREE:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">total 48<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-rwxrwxrwx  1 oracle  oinstall   449 Mar 28 15:28 listener.ora<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-rwSr-----  1 oracle  oinstall  2048 Apr 16 12:19 orapwFREE<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-rwxrwxrwx  1 oracle  oinstall   779 Mar 28 15:28 oratab<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-rwxrwxrwx  1 oracle  oinstall  3584 Apr 16 12:17 spfileFREE.ora<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-rwxrwxrwx  1 oracle  oinstall    69 Mar 28 15:28 sqlnet.ora<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-rwxrwxrwx  1 oracle  oinstall   690 Mar 28 15:28 tnsnames.ora<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Step 8 &#8211; Remove Container &amp; Volume<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Now we can remove the existing 23c Container and its associated volume.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">8) Remove Container &amp; Volume<\/span><span role=\"button\" tabindex=\"0\" data-code=\"docker rm 23c\ndocker volume prune -f\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #DCDCAA\">docker<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">rm<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">23<\/span><span style=\"color: #CE9178\">c<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">docker<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">volume<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">prune<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">-f<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Step 9 &#8211; Recreate 23c Container<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, we recreate the container as in step 4. The only difference is the volume. We use now a local directory.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);--cbp-line-highlight-color:rgba(234, 191, 191, 0.2);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">9a) Recreate 23c Container<\/span><span role=\"button\" tabindex=\"0\" data-code=\"docker run -d \\\n    --name 23c \\\n    -p 1522:1521 \\\n    -v $HOME\/docker\/23c-data:\/opt\/oracle\/oradata \\\n    container-registry.oracle.com\/database\/free\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #DCDCAA\">docker<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">run<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">-d<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #D7BA7D\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">--name<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">23<\/span><span style=\"color: #CE9178\">c<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #D7BA7D\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">-p<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">1522<\/span><span style=\"color: #CE9178\">:1521<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #D7BA7D\">\\<\/span><\/span>\n<span class=\"line cbp-line-highlight\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">-v<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">$HOME<\/span><span style=\"color: #CE9178\">\/docker\/23c-data:\/opt\/oracle\/oradata<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #D7BA7D\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #CE9178\">container-registry.oracle.com\/database\/free<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">To monitor the console output we run the following command:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">9b) Monitor console output<\/span><span role=\"button\" tabindex=\"0\" data-code=\"docker logs -tf 23c\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #DCDCAA\">docker<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">logs<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">-tf<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">23<\/span><span style=\"color: #CE9178\">c<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Here&#8217;s the log output with timestamps. The database was up and running after 40 seconds.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">9c) Console Output<\/span><span role=\"button\" tabindex=\"0\" data-code=\"2023-04-16T10:27:31.320723000Z Starting Oracle Net Listener.\n2023-04-16T10:27:31.958206000Z Oracle Net Listener started.\n2023-04-16T10:27:31.958391000Z Starting Oracle Database instance FREE.\n2023-04-16T10:28:08.401153000Z Oracle Database instance FREE started.\n2023-04-16T10:28:08.404032000Z \n2023-04-16T10:28:08.520502000Z The Oracle base remains unchanged with value \/opt\/oracle\n2023-04-16T10:28:11.555842000Z #########################\n2023-04-16T10:28:11.565430000Z DATABASE IS READY TO USE!\n2023-04-16T10:28:11.565936000Z #########################\n2023-04-16T10:28:11.670669000Z The following output is now a tail of the alert.log:\n2023-04-16T10:28:11.697019000Z FREEPDB1(3):Opening pdb with Resource Manager plan: DEFAULT_PLAN\n2023-04-16T10:28:11.697309000Z 2023-04-16T10:28:07.384593+00:00\n2023-04-16T10:28:11.697423000Z Completed: Pluggable database FREEPDB1 opened read write \n2023-04-16T10:28:11.697460000Z 2023-04-16T10:28:07.573292+00:00\n2023-04-16T10:28:11.697490000Z ===========================================================\n2023-04-16T10:28:11.697518000Z Dumping current patch information\n2023-04-16T10:28:11.697545000Z ===========================================================\n2023-04-16T10:28:11.697581000Z No patches have been applied\n2023-04-16T10:28:11.697606000Z ===========================================================\n2023-04-16T10:28:11.697633000Z Completed: ALTER DATABASE OPEN\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:27:31.320723000Z Starting Oracle Net Listener.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:27:31.958206000Z Oracle Net Listener started.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:27:31.958391000Z Starting Oracle Database instance FREE.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:28:08.401153000Z Oracle Database instance FREE started.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:28:08.404032000Z <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:28:08.520502000Z The Oracle base remains unchanged with value \/opt\/oracle<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:28:11.555842000Z #########################<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:28:11.565430000Z DATABASE IS READY TO USE!<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:28:11.565936000Z #########################<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:28:11.670669000Z The following output is now a tail of the alert.log:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:28:11.697019000Z FREEPDB1(3):Opening pdb with Resource Manager plan: DEFAULT_PLAN<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:28:11.697309000Z 2023-04-16T10:28:07.384593+00:00<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:28:11.697423000Z Completed: Pluggable database FREEPDB1 opened read write <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:28:11.697460000Z 2023-04-16T10:28:07.573292+00:00<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:28:11.697490000Z ===========================================================<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:28:11.697518000Z Dumping current patch information<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:28:11.697545000Z ===========================================================<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:28:11.697581000Z No patches have been applied<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:28:11.697606000Z ===========================================================<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">2023-04-16T10:28:11.697633000Z Completed: ALTER DATABASE OPEN<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">We can press Ctrl-C once we see this output.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Summary<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Thanks to the prepared database files within the Docker image we can start an Oracle Database quite fast. Even on a Mac with an M-Series chip.&nbsp; Mounting a folder as a volume needs a bit of fiddling. I like to mount volumes this way because they are easy to share and I can reset the underlying VM without losing data.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The runtime performance of the Database in a Colima container is still bad, compared to my Intel i7 Mac mini and the Oracle Database under Windows on ARM. Depending on the workload it is 5 to 10 times slower. Sometimes even more.&nbsp; <del>I do not see a big difference with or without Rosetta 2. That&#8217;s a bit disappointing. Maybe I do something wrong and someone can point me in the right direction.<\/del> Microsoft showed what&#8217;s possible.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Anyway, I&#8217;m not sure if I&#8217;m going to use a database within Colima during my live demos. But I will definitely keep one ready as a backup.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hopefully, Oracle will release an ARM version of their Database soon.<\/p>\n\n\n<hr class=\"\" style=\"margin:0 auto 30px;\"\/>\n\n\n\n\n<p class=\"wp-block-paragraph\"><em>Updated on 2022-11-02, Rosetta 2 cannot be used with X86_64 architecture. Colima silently falls back to QEMU. To use Rosetta 2 you need to pass <code>--arch aarch64<\/code> when creating the Colima VM. However, it will not be possible to start an Oracle Database. You will get the same errors as with the default Docker context. Added a note in step 3 and crossed out the relevant parts in the summary.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Updated on 2024-11-05, new section &#8220;ARM Docker Images Now Available&#8221; at the top of the post.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>ARM Docker Images Now Available With the release of version 23.5 of Oracle Database 23ai, ARM builds are now available for Docker images. On the official Oracle Container Registry: And on Docker Hub provided by Gerald Venzl: This makes it very easy to use the Oracle Database on a Mac with an<span class=\"excerpt-hellip\"> [\u2026]<\/span><\/p>\n","protected":false},"author":1,"featured_media":12307,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,5],"tags":[79,99,140],"class_list":["post-12304","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-apple","category-oracle","tag-apple","tag-docker","tag-oracle-26ai"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Oracle Database 23c on a Mac with an M-Series Chip - Philipp Salvisberg&#039;s Blog<\/title>\n<meta name=\"description\" content=\"How to configure Colima to run an Oracle Database 23c with an externally mounted volume on an Apple Mac with an M1 or M2 chip.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.salvis.com\/blog\/2023\/04\/16\/oracle-database-23c-on-a-mac-with-an-m-series-chip\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Oracle Database 23c on a Mac with an M-Series Chip - Philipp Salvisberg&#039;s Blog\" \/>\n<meta property=\"og:description\" content=\"How to configure Colima to run an Oracle Database 23c with an externally mounted volume on an Apple Mac with an M1 or M2 chip.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.salvis.com\/blog\/2023\/04\/16\/oracle-database-23c-on-a-mac-with-an-m-series-chip\/\" \/>\n<meta property=\"og:site_name\" content=\"Philipp Salvisberg&#039;s Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-04-16T14:49:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-05T10:15:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2023\/04\/oracle-database-23c-m1-colima.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1064\" \/>\n\t<meta property=\"og:image:height\" content=\"800\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Philipp Salvisberg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@phsalvisberg\" \/>\n<meta name=\"twitter:site\" content=\"@phsalvisberg\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Philipp Salvisberg\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2023\\\/04\\\/16\\\/oracle-database-23c-on-a-mac-with-an-m-series-chip\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2023\\\/04\\\/16\\\/oracle-database-23c-on-a-mac-with-an-m-series-chip\\\/\"},\"author\":{\"name\":\"Philipp Salvisberg\",\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/#\\\/schema\\\/person\\\/34352245c48678b1a5a05d4bc1339515\"},\"headline\":\"Oracle Database 23c on a Mac with an M-Series Chip\",\"datePublished\":\"2023-04-16T14:49:07+00:00\",\"dateModified\":\"2024-11-05T10:15:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2023\\\/04\\\/16\\\/oracle-database-23c-on-a-mac-with-an-m-series-chip\\\/\"},\"wordCount\":1516,\"commentCount\":43,\"publisher\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/#\\\/schema\\\/person\\\/34352245c48678b1a5a05d4bc1339515\"},\"image\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2023\\\/04\\\/16\\\/oracle-database-23c-on-a-mac-with-an-m-series-chip\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/oracle-database-23c-m1-colima.png\",\"keywords\":[\"Apple\",\"Docker\",\"Oracle 26ai\"],\"articleSection\":[\"Apple\",\"Oracle\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2023\\\/04\\\/16\\\/oracle-database-23c-on-a-mac-with-an-m-series-chip\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2023\\\/04\\\/16\\\/oracle-database-23c-on-a-mac-with-an-m-series-chip\\\/\",\"url\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2023\\\/04\\\/16\\\/oracle-database-23c-on-a-mac-with-an-m-series-chip\\\/\",\"name\":\"Oracle Database 23c on a Mac with an M-Series Chip - Philipp Salvisberg&#039;s Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2023\\\/04\\\/16\\\/oracle-database-23c-on-a-mac-with-an-m-series-chip\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2023\\\/04\\\/16\\\/oracle-database-23c-on-a-mac-with-an-m-series-chip\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/oracle-database-23c-m1-colima.png\",\"datePublished\":\"2023-04-16T14:49:07+00:00\",\"dateModified\":\"2024-11-05T10:15:27+00:00\",\"description\":\"How to configure Colima to run an Oracle Database 23c with an externally mounted volume on an Apple Mac with an M1 or M2 chip.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2023\\\/04\\\/16\\\/oracle-database-23c-on-a-mac-with-an-m-series-chip\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2023\\\/04\\\/16\\\/oracle-database-23c-on-a-mac-with-an-m-series-chip\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2023\\\/04\\\/16\\\/oracle-database-23c-on-a-mac-with-an-m-series-chip\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/oracle-database-23c-m1-colima.png\",\"contentUrl\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/oracle-database-23c-m1-colima.png\",\"width\":1064,\"height\":800},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2023\\\/04\\\/16\\\/oracle-database-23c-on-a-mac-with-an-m-series-chip\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Oracle Database 23c on a Mac with an M-Series Chip\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/\",\"name\":\"Philipp Salvisberg&#039;s Blog\",\"description\":\"Database-centric development\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/#\\\/schema\\\/person\\\/34352245c48678b1a5a05d4bc1339515\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/#\\\/schema\\\/person\\\/34352245c48678b1a5a05d4bc1339515\",\"name\":\"Philipp Salvisberg\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/wp-content\\\/uploads\\\/2010\\\/11\\\/phs_trivadis4.jpg\",\"url\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/wp-content\\\/uploads\\\/2010\\\/11\\\/phs_trivadis4.jpg\",\"contentUrl\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/wp-content\\\/uploads\\\/2010\\\/11\\\/phs_trivadis4.jpg\",\"width\":400,\"height\":400,\"caption\":\"Philipp Salvisberg\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/wp-content\\\/uploads\\\/2010\\\/11\\\/phs_trivadis4.jpg\"},\"sameAs\":[\"http:\\\/\\\/www.salvis.com\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Oracle Database 23c on a Mac with an M-Series Chip - Philipp Salvisberg&#039;s Blog","description":"How to configure Colima to run an Oracle Database 23c with an externally mounted volume on an Apple Mac with an M1 or M2 chip.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.salvis.com\/blog\/2023\/04\/16\/oracle-database-23c-on-a-mac-with-an-m-series-chip\/","og_locale":"en_US","og_type":"article","og_title":"Oracle Database 23c on a Mac with an M-Series Chip - Philipp Salvisberg&#039;s Blog","og_description":"How to configure Colima to run an Oracle Database 23c with an externally mounted volume on an Apple Mac with an M1 or M2 chip.","og_url":"https:\/\/www.salvis.com\/blog\/2023\/04\/16\/oracle-database-23c-on-a-mac-with-an-m-series-chip\/","og_site_name":"Philipp Salvisberg&#039;s Blog","article_published_time":"2023-04-16T14:49:07+00:00","article_modified_time":"2024-11-05T10:15:27+00:00","og_image":[{"width":1064,"height":800,"url":"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2023\/04\/oracle-database-23c-m1-colima.png","type":"image\/png"}],"author":"Philipp Salvisberg","twitter_card":"summary_large_image","twitter_creator":"@phsalvisberg","twitter_site":"@phsalvisberg","twitter_misc":{"Written by":"Philipp Salvisberg","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.salvis.com\/blog\/2023\/04\/16\/oracle-database-23c-on-a-mac-with-an-m-series-chip\/#article","isPartOf":{"@id":"https:\/\/www.salvis.com\/blog\/2023\/04\/16\/oracle-database-23c-on-a-mac-with-an-m-series-chip\/"},"author":{"name":"Philipp Salvisberg","@id":"https:\/\/www.salvis.com\/blog\/#\/schema\/person\/34352245c48678b1a5a05d4bc1339515"},"headline":"Oracle Database 23c on a Mac with an M-Series Chip","datePublished":"2023-04-16T14:49:07+00:00","dateModified":"2024-11-05T10:15:27+00:00","mainEntityOfPage":{"@id":"https:\/\/www.salvis.com\/blog\/2023\/04\/16\/oracle-database-23c-on-a-mac-with-an-m-series-chip\/"},"wordCount":1516,"commentCount":43,"publisher":{"@id":"https:\/\/www.salvis.com\/blog\/#\/schema\/person\/34352245c48678b1a5a05d4bc1339515"},"image":{"@id":"https:\/\/www.salvis.com\/blog\/2023\/04\/16\/oracle-database-23c-on-a-mac-with-an-m-series-chip\/#primaryimage"},"thumbnailUrl":"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2023\/04\/oracle-database-23c-m1-colima.png","keywords":["Apple","Docker","Oracle 26ai"],"articleSection":["Apple","Oracle"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.salvis.com\/blog\/2023\/04\/16\/oracle-database-23c-on-a-mac-with-an-m-series-chip\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.salvis.com\/blog\/2023\/04\/16\/oracle-database-23c-on-a-mac-with-an-m-series-chip\/","url":"https:\/\/www.salvis.com\/blog\/2023\/04\/16\/oracle-database-23c-on-a-mac-with-an-m-series-chip\/","name":"Oracle Database 23c on a Mac with an M-Series Chip - Philipp Salvisberg&#039;s Blog","isPartOf":{"@id":"https:\/\/www.salvis.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.salvis.com\/blog\/2023\/04\/16\/oracle-database-23c-on-a-mac-with-an-m-series-chip\/#primaryimage"},"image":{"@id":"https:\/\/www.salvis.com\/blog\/2023\/04\/16\/oracle-database-23c-on-a-mac-with-an-m-series-chip\/#primaryimage"},"thumbnailUrl":"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2023\/04\/oracle-database-23c-m1-colima.png","datePublished":"2023-04-16T14:49:07+00:00","dateModified":"2024-11-05T10:15:27+00:00","description":"How to configure Colima to run an Oracle Database 23c with an externally mounted volume on an Apple Mac with an M1 or M2 chip.","breadcrumb":{"@id":"https:\/\/www.salvis.com\/blog\/2023\/04\/16\/oracle-database-23c-on-a-mac-with-an-m-series-chip\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.salvis.com\/blog\/2023\/04\/16\/oracle-database-23c-on-a-mac-with-an-m-series-chip\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.salvis.com\/blog\/2023\/04\/16\/oracle-database-23c-on-a-mac-with-an-m-series-chip\/#primaryimage","url":"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2023\/04\/oracle-database-23c-m1-colima.png","contentUrl":"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2023\/04\/oracle-database-23c-m1-colima.png","width":1064,"height":800},{"@type":"BreadcrumbList","@id":"https:\/\/www.salvis.com\/blog\/2023\/04\/16\/oracle-database-23c-on-a-mac-with-an-m-series-chip\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.salvis.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Oracle Database 23c on a Mac with an M-Series Chip"}]},{"@type":"WebSite","@id":"https:\/\/www.salvis.com\/blog\/#website","url":"https:\/\/www.salvis.com\/blog\/","name":"Philipp Salvisberg&#039;s Blog","description":"Database-centric development","publisher":{"@id":"https:\/\/www.salvis.com\/blog\/#\/schema\/person\/34352245c48678b1a5a05d4bc1339515"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.salvis.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.salvis.com\/blog\/#\/schema\/person\/34352245c48678b1a5a05d4bc1339515","name":"Philipp Salvisberg","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2010\/11\/phs_trivadis4.jpg","url":"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2010\/11\/phs_trivadis4.jpg","contentUrl":"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2010\/11\/phs_trivadis4.jpg","width":400,"height":400,"caption":"Philipp Salvisberg"},"logo":{"@id":"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2010\/11\/phs_trivadis4.jpg"},"sameAs":["http:\/\/www.salvis.com\/"]}]}},"_links":{"self":[{"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/posts\/12304","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/comments?post=12304"}],"version-history":[{"count":45,"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/posts\/12304\/revisions"}],"predecessor-version":[{"id":13725,"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/posts\/12304\/revisions\/13725"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/media\/12307"}],"wp:attachment":[{"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/media?parent=12304"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/categories?post=12304"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/tags?post=12304"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}