{"id":146,"date":"2020-07-25T15:09:00","date_gmt":"2020-07-25T13:09:00","guid":{"rendered":"https:\/\/codeswarm.io\/?p=146"},"modified":"2026-07-19T15:40:58","modified_gmt":"2026-07-19T13:40:58","slug":"how-to-install-oracle-database-19-3-0-with-docker-under-windows-10","status":"publish","type":"post","link":"https:\/\/codeswarm.io\/?p=146","title":{"rendered":"How to install Oracle Database 19.3.0 with Docker under Windows 10?"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Introduction<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Docker is a very good tool for use as platform for running the databases with. Oracle corporation has released Docker build files for the Oracle Database on <a href=\"https:\/\/github.com\/oracle\/docker-images\/tree\/master\/OracleDatabase\/SingleInstance\">Github<\/a>. With those build files one can go ahead and build his or her own Docker image for the Oracle Database. If you don\u2019t know what Docker is you should go and check it out. It\u2019s a cool technology based on the Linux containers technology that allows you to containerize your application, whatever that application may be. Naturally, it didn\u2019t take long for people to start looking at containerizing databases as well which makes a lot of sense, especially for, but not only, development and test environments.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The tools we need<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Git for Windows from there: <a href=\"https:\/\/git-scm.com\/downloads\">https:\/\/git-scm.com\/downloads<\/a><\/li>\n\n\n\n<li>Windows PowerShell (instaled in Windows 10\/11 as a default).<\/li>\n\n\n\n<li>Docker desktop for Windows: <a href=\"https:\/\/www.docker.com\/products\/docker-desktop\">https:\/\/www.docker.com\/products\/docker-desktop<\/a><\/li>\n\n\n\n<li>At least 50GB of free space and at least 16GB of RAM memory.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Cloning the required files and binaries<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If we want to be able to build the Docker images of Oracle Database, we first need to clone the Docker build files from <a href=\"https:\/\/web.archive.org\/web\/20220103081036\/https:\/\/medium.com\/@arno.schots\/building-and-running-oracle-database-19-3-0-ee-docker-containers-8147b5a00a51\">Github<\/a>. So we should type:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">git clone https:\/\/github.com\/oracle\/docker-images.git<\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"554\" src=\"https:\/\/codeswarm.io\/wp-content\/uploads\/2020\/07\/Oracle2-1024x554-1.jpg\" alt=\"\" class=\"wp-image-148\" srcset=\"https:\/\/codeswarm.io\/wp-content\/uploads\/2020\/07\/Oracle2-1024x554-1.jpg 1024w, https:\/\/codeswarm.io\/wp-content\/uploads\/2020\/07\/Oracle2-1024x554-1-300x162.jpg 300w, https:\/\/codeswarm.io\/wp-content\/uploads\/2020\/07\/Oracle2-1024x554-1-768x416.jpg 768w, https:\/\/codeswarm.io\/wp-content\/uploads\/2020\/07\/Oracle2-1024x554-1-700x379.jpg 700w, https:\/\/codeswarm.io\/wp-content\/uploads\/2020\/07\/Oracle2-1024x554-1-739x400.jpg 739w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Downloading binary files<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The next step is necessary if you want to build Oracle Database in version different than 18.4 (Express). So you need to log into your Oracle account and download from <a href=\"https:\/\/web.archive.org\/web\/20220103081036\/https:\/\/www.oracle.com\/database\/technologies\/oracle-database-software-downloads.html\">this<\/a> site the zip file, but <strong>for Linux!<\/strong> Because Docker uses Linux for running containers. If you want to use Oracle 19.3.0 then download file named LINUX.X64_193000_db_home.zip. Download it into catalog with your oracle repository from Github and into path:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\"your_path\"\\docker-images\\OracleDatabase\\Singleinstance\\dockerfiles\\19.3.0<\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"587\" src=\"https:\/\/codeswarm.io\/wp-content\/uploads\/2020\/07\/Oracle1.jpg\" alt=\"\" class=\"wp-image-150\" srcset=\"https:\/\/codeswarm.io\/wp-content\/uploads\/2020\/07\/Oracle1.jpg 1000w, https:\/\/codeswarm.io\/wp-content\/uploads\/2020\/07\/Oracle1-300x176.jpg 300w, https:\/\/codeswarm.io\/wp-content\/uploads\/2020\/07\/Oracle1-768x451.jpg 768w, https:\/\/codeswarm.io\/wp-content\/uploads\/2020\/07\/Oracle1-700x411.jpg 700w, https:\/\/codeswarm.io\/wp-content\/uploads\/2020\/07\/Oracle1-681x400.jpg 681w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Building the image<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Now you have to run your <strong>Git Bash<\/strong> and go into your catalog with the main script for building the image. The script is here:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\"your_path\"\\docker-images\\OracleDatabase\\Singleinstance\\dockerfiles\\<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The script is named buildDockerImage.sh. You can check the options with running the command:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">.\/buildDockerImage.sh -h<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">And you can run the script for creating the Docker image of Oracle Database 19.3.0 (-e is for Enterprise Edition, -s is fr Standard Edition). Sometimes hasfile checking under Windows does not works correctly an the you can add -i flag:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">.\/buildDockerImage.sh -v 19.3.0 -e -i<\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"910\" height=\"284\" src=\"https:\/\/codeswarm.io\/wp-content\/uploads\/2020\/07\/Oracle3.jpg\" alt=\"\" class=\"wp-image-151\" srcset=\"https:\/\/codeswarm.io\/wp-content\/uploads\/2020\/07\/Oracle3.jpg 910w, https:\/\/codeswarm.io\/wp-content\/uploads\/2020\/07\/Oracle3-300x94.jpg 300w, https:\/\/codeswarm.io\/wp-content\/uploads\/2020\/07\/Oracle3-768x240.jpg 768w, https:\/\/codeswarm.io\/wp-content\/uploads\/2020\/07\/Oracle3-700x218.jpg 700w\" sizes=\"auto, (max-width: 910px) 100vw, 910px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Now you can wait. It is not so fast to build the image of Oracle Database because it is huge application.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Running the container<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Run PowerShell and if you build Enterprise Edition type:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker run --name oracle_19_3 -p 1521:1521 -p 5500:5500 -v oradata:\/opt\/oracle\/oradata oracle\/database:19.3.0-ee<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Or if you build Standard Edition type:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker run --name oracle_19_3 -p 1521:1521 -p 5500:5500 -v oradata:\/opt\/oracle\/oradata oracle\/database:19.3.0-se<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">And you have to wait again because now the container is created by Docker. Inside this container the image of Oracle Database will be running. When the creating of container will be done you will see:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">########################\nDATABASE IS READY TO USE\n########################<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">And the other message from creator:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">XDB initialized.<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">When you see it you can to stop your new container from docker desktop. Then run it again:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker start oracle_19_3<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Access to database<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">For changing the randomly generated password run the command:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\ndocker exec oracle_19_3 .\/setPassword.sh yourPassword<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then run the following:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker exec -it --user=oracle oracle_19_3 bash<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">So now you are inside your container and you can use Oracle Database. For it just type:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\nsqlplus sys\/yourPassword@\/\/localhost:1521\/ORCLCDB as sysdba<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">And now you see:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">SQL><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So you are logged as sys into Oracle Database!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For creating a new user and granting all privileges type:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">alter session set \"_ORACLE_SCRIPT\"=true;\ncreate user yourUserName identified by yourPasswordForUser;\ngrant all privileges to yourUserName;<\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1015\" height=\"547\" src=\"https:\/\/codeswarm.io\/wp-content\/uploads\/2020\/07\/Oracle4.jpg\" alt=\"\" class=\"wp-image-154\" srcset=\"https:\/\/codeswarm.io\/wp-content\/uploads\/2020\/07\/Oracle4.jpg 1015w, https:\/\/codeswarm.io\/wp-content\/uploads\/2020\/07\/Oracle4-300x162.jpg 300w, https:\/\/codeswarm.io\/wp-content\/uploads\/2020\/07\/Oracle4-768x414.jpg 768w, https:\/\/codeswarm.io\/wp-content\/uploads\/2020\/07\/Oracle4-700x377.jpg 700w, https:\/\/codeswarm.io\/wp-content\/uploads\/2020\/07\/Oracle4-742x400.jpg 742w\" sizes=\"auto, (max-width: 1015px) 100vw, 1015px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Oracle Database is working now and ready to perform.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Docker is a very good tool for use as platform for running the databases with. Oracle corporation has released Docker build files for the Oracle Database on Github. With those build files one can go ahead and build his or her own Docker image for the Oracle Database. If you don\u2019t know what Docker &hellip; <a href=\"https:\/\/codeswarm.io\/?p=146\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">How to install Oracle Database 19.3.0 with Docker under Windows 10?<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[30],"tags":[28,29],"class_list":["post-146","post","type-post","status-publish","format-standard","hentry","category-databases","tag-docker","tag-oracledb"],"_links":{"self":[{"href":"https:\/\/codeswarm.io\/index.php?rest_route=\/wp\/v2\/posts\/146","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/codeswarm.io\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codeswarm.io\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codeswarm.io\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/codeswarm.io\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=146"}],"version-history":[{"count":5,"href":"https:\/\/codeswarm.io\/index.php?rest_route=\/wp\/v2\/posts\/146\/revisions"}],"predecessor-version":[{"id":155,"href":"https:\/\/codeswarm.io\/index.php?rest_route=\/wp\/v2\/posts\/146\/revisions\/155"}],"wp:attachment":[{"href":"https:\/\/codeswarm.io\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=146"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codeswarm.io\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=146"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codeswarm.io\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=146"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}