├── .gitignore ├── .gitattributes ├── 18.3 ├── Checksum.ee ├── Checksum.se2 ├── startDB.sh ├── stopDB.sh ├── setPassword.sh ├── cleanup.sh ├── checkSpace.sh ├── createPDB.sh ├── setupLinuxEnv.sh ├── installDBBinaries.sh ├── Dockerfile └── createDB.sh ├── 19.3 ├── Checksum.ee ├── Checksum.se2 ├── startDB.sh ├── stopDB.sh ├── setPassword.sh ├── cleanup.sh ├── checkSpace.sh ├── createPDB.sh ├── setupLinuxEnv.sh ├── installDBBinaries.sh ├── Dockerfile └── createDB.sh ├── 12.2.0.1 ├── Checksum.ee ├── Checksum.se2 ├── cleanup.sh ├── startDB.sh ├── stopDB.sh ├── setPassword.sh ├── checkSpace.sh ├── createPDB.sh ├── setupLinuxEnv.sh ├── installPerl.sh ├── installDBBinaries.sh ├── Dockerfile ├── createDB.sh └── runOracle.sh ├── 12.2.0.1-small ├── Checksum.ee ├── Checksum.se2 ├── startDB.sh ├── stopDB.sh ├── setPassword.sh ├── checkSpace.sh ├── setupLinuxEnv.sh ├── installPerl.sh ├── createDB.sh ├── installDBBinaries.sh ├── createPDB.sh ├── prepareDB.sh ├── cleanup.sh ├── cleanupDB.sh ├── Dockerfile └── runOracle.sh ├── 18.3-small ├── Checksum.ee ├── Checksum.se2 ├── startDB.sh ├── stopDB.sh ├── setPassword.sh ├── checkSpace.sh ├── setupLinuxEnv.sh ├── createDB.sh ├── installDBBinaries.sh ├── prepareDB.sh ├── cleanup.sh ├── createPDB.sh ├── cleanupDB.sh ├── Dockerfile └── runOracle.sh ├── 19.3-small ├── Checksum.ee ├── Checksum.se2 ├── startDB.sh ├── stopDB.sh ├── setPassword.sh ├── checkSpace.sh ├── setupLinuxEnv.sh ├── createDB.sh ├── installDBBinaries.sh ├── prepareDB.sh ├── cleanup.sh ├── createPDB.sh ├── Dockerfile └── cleanupDB.sh ├── 11.2.0.2-xe-small ├── Checksum.xe ├── setPassword.sh ├── checkDBStatus.sh ├── xe.rsp └── Dockerfile ├── 12.1.0.2 ├── Checksum.se2 ├── cleanup.sh ├── startDB.sh ├── stopDB.sh ├── setPassword.sh ├── checkSpace.sh ├── createPDB.sh ├── setupLinuxEnv.sh ├── installPerl.sh ├── installDBBinaries.sh ├── createDB.sh ├── Dockerfile └── runOracle.sh ├── 12.1.0.2-small ├── Checksum.se2 ├── resources.md ├── startDB.sh ├── stopDB.sh ├── setPassword.sh ├── checkSpace.sh ├── setupLinuxEnv.sh ├── installPerl.sh ├── createDB.sh ├── createPDB.sh ├── installDBBinaries.sh ├── prepareDB.sh ├── cleanup.sh ├── cleanupDB.sh ├── Dockerfile └── runOracle.sh ├── .travis ├── download.js └── download.sh ├── .travis.yml └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | *.zip 2 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.sh eol=lf 2 | -------------------------------------------------------------------------------- /18.3/Checksum.ee: -------------------------------------------------------------------------------- 1 | 99a7c4a088a8a502c261e741a8339ae8 LINUX.X64_180000_db_home.zip 2 | -------------------------------------------------------------------------------- /19.3/Checksum.ee: -------------------------------------------------------------------------------- 1 | 1858bd0d281c60f4ddabd87b1c214a4f LINUX.X64_193000_db_home.zip 2 | -------------------------------------------------------------------------------- /12.2.0.1/Checksum.ee: -------------------------------------------------------------------------------- 1 | 1841f2ce7709cf909db4c064d80aae79 linuxx64_12201_database.zip 2 | -------------------------------------------------------------------------------- /12.2.0.1/Checksum.se2: -------------------------------------------------------------------------------- 1 | 1841f2ce7709cf909db4c064d80aae79 linuxx64_12201_database.zip 2 | -------------------------------------------------------------------------------- /18.3/Checksum.se2: -------------------------------------------------------------------------------- 1 | 99a7c4a088a8a502c261e741a8339ae8 LINUX.X64_180000_db_home.zip 2 | -------------------------------------------------------------------------------- /19.3/Checksum.se2: -------------------------------------------------------------------------------- 1 | 1858bd0d281c60f4ddabd87b1c214a4f LINUX.X64_193000_db_home.zip 2 | -------------------------------------------------------------------------------- /12.2.0.1-small/Checksum.ee: -------------------------------------------------------------------------------- 1 | 1841f2ce7709cf909db4c064d80aae79 linuxx64_12201_database.zip 2 | -------------------------------------------------------------------------------- /12.2.0.1-small/Checksum.se2: -------------------------------------------------------------------------------- 1 | 1841f2ce7709cf909db4c064d80aae79 linuxx64_12201_database.zip 2 | -------------------------------------------------------------------------------- /18.3-small/Checksum.ee: -------------------------------------------------------------------------------- 1 | 99a7c4a088a8a502c261e741a8339ae8 LINUX.X64_180000_db_home.zip 2 | -------------------------------------------------------------------------------- /18.3-small/Checksum.se2: -------------------------------------------------------------------------------- 1 | 99a7c4a088a8a502c261e741a8339ae8 LINUX.X64_180000_db_home.zip 2 | -------------------------------------------------------------------------------- /19.3-small/Checksum.ee: -------------------------------------------------------------------------------- 1 | 1858bd0d281c60f4ddabd87b1c214a4f LINUX.X64_193000_db_home.zip 2 | -------------------------------------------------------------------------------- /19.3-small/Checksum.se2: -------------------------------------------------------------------------------- 1 | 1858bd0d281c60f4ddabd87b1c214a4f LINUX.X64_193000_db_home.zip 2 | -------------------------------------------------------------------------------- /11.2.0.2-xe-small/Checksum.xe: -------------------------------------------------------------------------------- 1 | dd7881a55569d890241f11cd0eeb7d48 oracle-xe-11.2.0-1.0.x86_64.rpm.zip 2 | -------------------------------------------------------------------------------- /12.1.0.2/Checksum.se2: -------------------------------------------------------------------------------- 1 | dadbf2cfbc9b53f92d0b07f6677af966 linuxamd64_12102_database_se2_1of2.zip 2 | 2bda8cd4883bbd3f892dc152e568fc9e linuxamd64_12102_database_se2_2of2.zip 3 | -------------------------------------------------------------------------------- /12.1.0.2-small/Checksum.se2: -------------------------------------------------------------------------------- 1 | dadbf2cfbc9b53f92d0b07f6677af966 linuxamd64_12102_database_se2_1of2.zip 2 | 2bda8cd4883bbd3f892dc152e568fc9e linuxamd64_12102_database_se2_2of2.zip 3 | -------------------------------------------------------------------------------- /11.2.0.2-xe-small/setPassword.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ORACLE_PWD=$1 4 | 5 | su -p oracle -c "sqlplus / as sysdba << EOF 6 | ALTER USER SYS IDENTIFIED BY "$ORACLE_PWD"; 7 | ALTER USER SYSTEM IDENTIFIED BY "$ORACLE_PWD"; 8 | exit; 9 | EOF" 10 | -------------------------------------------------------------------------------- /12.1.0.2-small/resources.md: -------------------------------------------------------------------------------- 1 | List od resources for preparing silent install for Oracle 12.1 2 | 3 | - https://gist.github.com/samisalkosuo/d59e846d99093fdfb8d1 4 | - https://docs.oracle.com/database/121/LADBI/app_nonint.htm#LADBI7831 5 | - http://sami.salkosuo.net/silent-service/ 6 | - https://www.uxora.com/oracle/dba/37-silent-db-12c-create-with-dbca 7 | - http://www.dbaexpert.com/blog/12c-dbca-silent-mode-help/ 8 | -------------------------------------------------------------------------------- /12.1.0.2/cleanup.sh: -------------------------------------------------------------------------------- 1 | # Remove not needed components 2 | rm -rf $ORACLE_HOME/apex 3 | rm -rf $ORACLE_HOME/jdbc 4 | # ZDLRA installer files 5 | rm -rf $ORACLE_HOME/lib/ra*.zip 6 | rm -rf $ORACLE_HOME/ords 7 | rm -rf $ORACLE_HOME/sqldeveloper 8 | rm -rf $ORACLE_HOME/ucp 9 | # as we woun't install patches 10 | rm -rf $ORACLE_HOME/lib/*.a 11 | # OUI backup 12 | rm -rf $ORACLE_HOME/inventory/backup/* 13 | # Network tools help 14 | rm -rf $ORACLE_HOME/network/tools/help/mgr/help_* 15 | # Temp location 16 | rm -rf /tmp/* 17 | #remove templates 18 | rm -rf $ORACLE_HOME/assistants/dbca/templates -------------------------------------------------------------------------------- /12.2.0.1/cleanup.sh: -------------------------------------------------------------------------------- 1 | # Remove not needed components 2 | rm -rf $ORACLE_HOME/apex 3 | rm -rf $ORACLE_HOME/jdbc 4 | # ZDLRA installer files 5 | rm -rf $ORACLE_HOME/lib/ra*.zip 6 | rm -rf $ORACLE_HOME/ords 7 | rm -rf $ORACLE_HOME/sqldeveloper 8 | rm -rf $ORACLE_HOME/ucp 9 | # as we woun't install patches 10 | rm -rf $ORACLE_HOME/lib/*.a 11 | # OUI backup 12 | rm -rf $ORACLE_HOME/inventory/backup/* 13 | # Network tools help 14 | rm -rf $ORACLE_HOME/network/tools/help/mgr/help_* 15 | # Temp location 16 | rm -rf /tmp/* 17 | #remove templates 18 | rm -rf $ORACLE_HOME/assistants/dbca/templates -------------------------------------------------------------------------------- /18.3/startDB.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE UPL 1.0 3 | # 4 | # Copyright (c) 1982-2018 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: November, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Starts the Listener and Oracle Database. 9 | # The ORACLE_HOME and the PATH has to be set. 10 | # 11 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 12 | # 13 | 14 | # Check that ORACLE_HOME is set 15 | if [ "$ORACLE_HOME" == "" ]; then 16 | script_name=`basename "$0"` 17 | echo "$script_name: ERROR - ORACLE_HOME is not set. Please set ORACLE_HOME and PATH before invoking this script." 18 | exit 1; 19 | fi; 20 | 21 | # Start Listener 22 | lsnrctl start 23 | 24 | # Start database 25 | sqlplus / as sysdba << EOF 26 | STARTUP; 27 | exit; 28 | EOF 29 | -------------------------------------------------------------------------------- /19.3/startDB.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE UPL 1.0 3 | # 4 | # Copyright (c) 1982-2018 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: November, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Starts the Listener and Oracle Database. 9 | # The ORACLE_HOME and the PATH has to be set. 10 | # 11 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 12 | # 13 | 14 | # Check that ORACLE_HOME is set 15 | if [ "$ORACLE_HOME" == "" ]; then 16 | script_name=`basename "$0"` 17 | echo "$script_name: ERROR - ORACLE_HOME is not set. Please set ORACLE_HOME and PATH before invoking this script." 18 | exit 1; 19 | fi; 20 | 21 | # Start Listener 22 | lsnrctl start 23 | 24 | # Start database 25 | sqlplus / as sysdba << EOF 26 | STARTUP; 27 | exit; 28 | EOF 29 | -------------------------------------------------------------------------------- /18.3-small/startDB.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE UPL 1.0 3 | # 4 | # Copyright (c) 1982-2018 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: November, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Starts the Listener and Oracle Database. 9 | # The ORACLE_HOME and the PATH has to be set. 10 | # 11 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 12 | # 13 | 14 | # Check that ORACLE_HOME is set 15 | if [ "$ORACLE_HOME" == "" ]; then 16 | script_name=`basename "$0"` 17 | echo "$script_name: ERROR - ORACLE_HOME is not set. Please set ORACLE_HOME and PATH before invoking this script." 18 | exit 1; 19 | fi; 20 | 21 | # Start Listener 22 | lsnrctl start 23 | 24 | # Start database 25 | sqlplus / as sysdba << EOF 26 | STARTUP; 27 | exit; 28 | EOF 29 | -------------------------------------------------------------------------------- /19.3-small/startDB.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE UPL 1.0 3 | # 4 | # Copyright (c) 1982-2018 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: November, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Starts the Listener and Oracle Database. 9 | # The ORACLE_HOME and the PATH has to be set. 10 | # 11 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 12 | # 13 | 14 | # Check that ORACLE_HOME is set 15 | if [ "$ORACLE_HOME" == "" ]; then 16 | script_name=`basename "$0"` 17 | echo "$script_name: ERROR - ORACLE_HOME is not set. Please set ORACLE_HOME and PATH before invoking this script." 18 | exit 1; 19 | fi; 20 | 21 | # Start Listener 22 | lsnrctl start 23 | 24 | # Start database 25 | sqlplus / as sysdba << EOF 26 | STARTUP; 27 | exit; 28 | EOF 29 | -------------------------------------------------------------------------------- /12.1.0.2/startDB.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE CDDL 1.0 + GPL 2.0 3 | # 4 | # Copyright (c) 1982-2016 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: November, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Starts the Listener and Oracle Database. 9 | # The ORACLE_HOME and the PATH has to be set. 10 | # 11 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 12 | # 13 | 14 | # Check that ORACLE_HOME is set 15 | if [ "$ORACLE_HOME" == "" ]; then 16 | script_name=`basename "$0"` 17 | echo "$script_name: ERROR - ORACLE_HOME is not set. Please set ORACLE_HOME and PATH before invoking this script." 18 | exit 1; 19 | fi; 20 | 21 | # Start Listener 22 | lsnrctl start 23 | 24 | # Start database 25 | sqlplus / as sysdba << EOF 26 | STARTUP; 27 | exit; 28 | EOF 29 | -------------------------------------------------------------------------------- /12.2.0.1/startDB.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE CDDL 1.0 + GPL 2.0 3 | # 4 | # Copyright (c) 1982-2016 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: November, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Starts the Listener and Oracle Database. 9 | # The ORACLE_HOME and the PATH has to be set. 10 | # 11 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 12 | # 13 | 14 | # Check that ORACLE_HOME is set 15 | if [ "$ORACLE_HOME" == "" ]; then 16 | script_name=`basename "$0"` 17 | echo "$script_name: ERROR - ORACLE_HOME is not set. Please set ORACLE_HOME and PATH before invoking this script." 18 | exit 1; 19 | fi; 20 | 21 | # Start Listener 22 | lsnrctl start 23 | 24 | # Start database 25 | sqlplus / as sysdba << EOF 26 | STARTUP; 27 | exit; 28 | EOF 29 | -------------------------------------------------------------------------------- /12.1.0.2-small/startDB.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE CDDL 1.0 + GPL 2.0 3 | # 4 | # Copyright (c) 1982-2016 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: November, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Starts the Listener and Oracle Database. 9 | # The ORACLE_HOME and the PATH has to be set. 10 | # 11 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 12 | # 13 | 14 | # Check that ORACLE_HOME is set 15 | if [ "$ORACLE_HOME" == "" ]; then 16 | script_name=`basename "$0"` 17 | echo "$script_name: ERROR - ORACLE_HOME is not set. Please set ORACLE_HOME and PATH before invoking this script." 18 | exit 1; 19 | fi; 20 | 21 | # Start Listener 22 | lsnrctl start 23 | 24 | # Start database 25 | sqlplus / as sysdba << EOF 26 | STARTUP; 27 | exit; 28 | EOF 29 | -------------------------------------------------------------------------------- /12.2.0.1-small/startDB.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE CDDL 1.0 + GPL 2.0 3 | # 4 | # Copyright (c) 1982-2016 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: November, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Starts the Listener and Oracle Database. 9 | # The ORACLE_HOME and the PATH has to be set. 10 | # 11 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 12 | # 13 | 14 | # Check that ORACLE_HOME is set 15 | if [ "$ORACLE_HOME" == "" ]; then 16 | script_name=`basename "$0"` 17 | echo "$script_name: ERROR - ORACLE_HOME is not set. Please set ORACLE_HOME and PATH before invoking this script." 18 | exit 1; 19 | fi; 20 | 21 | # Start Listener 22 | lsnrctl start 23 | 24 | # Start database 25 | sqlplus / as sysdba << EOF 26 | STARTUP; 27 | exit; 28 | EOF 29 | -------------------------------------------------------------------------------- /18.3/stopDB.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE UPL 1.0 3 | # 4 | # Copyright (c) 1982-2018 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: November, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Starts the Listener and Oracle Database. 9 | # The ORACLE_HOME and the PATH has to be set. 10 | # 11 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 12 | # 13 | 14 | # Check that ORACLE_HOME is set 15 | if [ "$ORACLE_HOME" == "" ]; then 16 | script_name=`basename "$0"` 17 | echo "$script_name: ERROR - ORACLE_HOME is not set. Please set ORACLE_HOME and PATH before invoking this script." 18 | exit 1; 19 | fi; 20 | 21 | echo "Stopping container." 22 | echo "SIGTERM received, shutting down database!" 23 | sqlplus / as sysdba < $ORACLE_HOME/network/admin/sqlnet.ora 28 | 29 | # Listener.ora 30 | echo "LISTENER = 31 | (DESCRIPTION_LIST = 32 | (DESCRIPTION = 33 | (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 34 | (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521)) 35 | ) 36 | ) 37 | 38 | " > $ORACLE_HOME/network/admin/listener.ora 39 | 40 | # Start LISTENER and run DBCA 41 | lsnrctl start && 42 | dbca -silent -createDatabase -responseFile $ORACLE_BASE/dbca.rsp || 43 | cat /opt/oracle/cfgtoollogs/dbca/$ORACLE_SID/$ORACLE_SID.log || 44 | cat /opt/oracle/cfgtoollogs/dbca/$ORACLE_SID.log 45 | 46 | echo "$ORACLE_SID=localhost:1521/$ORACLE_SID" >> $ORACLE_HOME/network/admin/tnsnames.ora 47 | 48 | # Remove temporary response file 49 | rm $ORACLE_BASE/dbca.rsp 50 | -------------------------------------------------------------------------------- /12.2.0.1-small/createDB.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE CDDL 1.0 + GPL 2.0 3 | # 4 | # Copyright (c) 1982-2016 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: November, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # 9 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 10 | # 11 | 12 | 13 | # Auto generate ORACLE PWD 14 | #ORACLE_PWD="`openssl rand -base64 8`1" 15 | echo "ORACLE AUTO GENERATED PASSWORD FOR SYS, SYSTEM AND PDBAMIN: $ORACLE_PWD"; 16 | 17 | # Replace place holders in response file 18 | cp $ORACLE_BASE/$CONFIG_RSP $ORACLE_BASE/dbca.rsp 19 | sed -i -e "s|###ORACLE_SID###|$ORACLE_SID|g" $ORACLE_BASE/dbca.rsp 20 | sed -i -e "s|###ORACLE_PDB###|$ORACLE_PDB|g" $ORACLE_BASE/dbca.rsp 21 | sed -i -e "s|###ORACLE_PWD###|$ORACLE_PWD|g" $ORACLE_BASE/dbca.rsp 22 | sed -i -e "s|###ORACLE_CHARACTERSET###|$ORACLE_CHARACTERSET|g" $ORACLE_BASE/dbca.rsp 23 | sed -i -e "s|###CREATE_PDB###|$CREATE_PDB|g" $ORACLE_BASE/dbca.rsp 24 | 25 | # Create network related config files (sqlnet.ora, tnsnames.ora, listener.ora) 26 | mkdir -p $ORACLE_HOME/network/admin 27 | echo "NAME.DIRECTORY_PATH= {TNSNAMES, EZCONNECT, HOSTNAME}" > $ORACLE_HOME/network/admin/sqlnet.ora 28 | 29 | # Listener.ora 30 | echo "LISTENER = 31 | (DESCRIPTION_LIST = 32 | (DESCRIPTION = 33 | (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 34 | (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521)) 35 | ) 36 | ) 37 | 38 | " > $ORACLE_HOME/network/admin/listener.ora 39 | 40 | # Start LISTENER and run DBCA 41 | lsnrctl start && 42 | dbca -silent -createDatabase -responseFile $ORACLE_BASE/dbca.rsp selected_languages=en || 43 | cat /opt/oracle/cfgtoollogs/dbca/$ORACLE_SID/$ORACLE_SID.log || 44 | cat /opt/oracle/cfgtoollogs/dbca/$ORACLE_SID.log 45 | 46 | echo "$ORACLE_SID=localhost:1521/$ORACLE_SID" >> $ORACLE_HOME/network/admin/tnsnames.ora 47 | 48 | # Remove temporary response file 49 | rm $ORACLE_BASE/dbca.rsp 50 | -------------------------------------------------------------------------------- /12.2.0.1/installDBBinaries.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE CDDL 1.0 + GPL 2.0 3 | # 4 | # Copyright (c) 1982-2016 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: December, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Sets up the unix environment for DB installation. 9 | # 10 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 11 | # 12 | 13 | EDITION=$1 14 | 15 | # Check whether edition has been passed on 16 | if [ "$EDITION" == "" ]; then 17 | echo "ERROR: No edition has been passed on!" 18 | echo "Please specify the correct edition!" 19 | exit 1; 20 | fi; 21 | 22 | # Check whether correct edition has been passed on 23 | if [ "$EDITION" != "EE" -a "$EDITION" != "SE2" ]; then 24 | echo "ERROR: Wrong edition has been passed on!" 25 | echo "Edition $EDITION is no a valid edition!" 26 | exit 1; 27 | fi; 28 | 29 | # Check whether ORACLE_BASE is set 30 | if [ "$ORACLE_BASE" == "" ]; then 31 | echo "ERROR: ORACLE_BASE has not been set!" 32 | echo "You have to have the ORACLE_BASE environment variable set to a valid value!" 33 | exit 1; 34 | fi; 35 | 36 | # Check whether ORACLE_HOME is set 37 | if [ "$ORACLE_HOME" == "" ]; then 38 | echo "ERROR: ORACLE_HOME has not been set!" 39 | echo "You have to have the ORACLE_HOME environment variable set to a valid value!" 40 | exit 1; 41 | fi; 42 | 43 | 44 | # Replace place holders 45 | # --------------------- 46 | sed -i -e "s|###ORACLE_EDITION###|$EDITION|g" $INSTALL_DIR/$INSTALL_RSP && \ 47 | sed -i -e "s|###ORACLE_BASE###|$ORACLE_BASE|g" $INSTALL_DIR/$INSTALL_RSP && \ 48 | sed -i -e "s|###ORACLE_HOME###|$ORACLE_HOME|g" $INSTALL_DIR/$INSTALL_RSP && \ 49 | cd $INSTALL_DIR && \ 50 | unzip $INSTALL_FILE_1 && \ 51 | rm $INSTALL_FILE_1 && \ 52 | $INSTALL_DIR/database/runInstaller -silent -force -waitforcompletion -responsefile $INSTALL_DIR/$INSTALL_RSP -ignoresysprereqs -ignoreprereq && \ 53 | rm -rf $INSTALL_DIR/database && \ 54 | ln -s $ORACLE_BASE/$PWD_FILE $HOME/ && \ 55 | echo "DEDICATED_THROUGH_BROKER_LISTENER=ON" >> $ORACLE_HOME/network/admin/listener.ora && \ 56 | echo "DIAG_ADR_ENABLED = off" >> $ORACLE_HOME/network/admin/listener.ora; 57 | 58 | # Check whether Perl is working 59 | chmod ug+x $INSTALL_DIR/installPerl.sh && \ 60 | $ORACLE_HOME/perl/bin/perl -v || \ 61 | $INSTALL_DIR/installPerl.sh 62 | -------------------------------------------------------------------------------- /12.2.0.1-small/installDBBinaries.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE CDDL 1.0 + GPL 2.0 3 | # 4 | # Copyright (c) 1982-2016 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: December, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Sets up the unix environment for DB installation. 9 | # 10 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 11 | # 12 | 13 | EDITION=$1 14 | 15 | # Check whether edition has been passed on 16 | if [ "$EDITION" == "" ]; then 17 | echo "ERROR: No edition has been passed on!" 18 | echo "Please specify the correct edition!" 19 | exit 1; 20 | fi; 21 | 22 | # Check whether correct edition has been passed on 23 | if [ "$EDITION" != "EE" -a "$EDITION" != "SE2" ]; then 24 | echo "ERROR: Wrong edition has been passed on!" 25 | echo "Edition $EDITION is no a valid edition!" 26 | exit 1; 27 | fi; 28 | 29 | # Check whether ORACLE_BASE is set 30 | if [ "$ORACLE_BASE" == "" ]; then 31 | echo "ERROR: ORACLE_BASE has not been set!" 32 | echo "You have to have the ORACLE_BASE environment variable set to a valid value!" 33 | exit 1; 34 | fi; 35 | 36 | # Check whether ORACLE_HOME is set 37 | if [ "$ORACLE_HOME" == "" ]; then 38 | echo "ERROR: ORACLE_HOME has not been set!" 39 | echo "You have to have the ORACLE_HOME environment variable set to a valid value!" 40 | exit 1; 41 | fi; 42 | 43 | 44 | # Replace place holders 45 | # --------------------- 46 | sed -i -e "s|###ORACLE_EDITION###|$EDITION|g" $INSTALL_DIR/$INSTALL_RSP && \ 47 | sed -i -e "s|###ORACLE_BASE###|$ORACLE_BASE|g" $INSTALL_DIR/$INSTALL_RSP && \ 48 | sed -i -e "s|###ORACLE_HOME###|$ORACLE_HOME|g" $INSTALL_DIR/$INSTALL_RSP && \ 49 | cd $INSTALL_DIR && \ 50 | unzip -q $INSTALL_FILE_1 && \ 51 | rm $INSTALL_FILE_1 && \ 52 | $INSTALL_DIR/database/runInstaller -silent -force -waitforcompletion -responsefile $INSTALL_DIR/$INSTALL_RSP -ignoresysprereqs -ignoreprereq && \ 53 | rm -rf $INSTALL_DIR/database && \ 54 | ln -s $ORACLE_BASE/$PWD_FILE $HOME/ && \ 55 | echo "DEDICATED_THROUGH_BROKER_LISTENER=ON" >> $ORACLE_HOME/network/admin/listener.ora && \ 56 | echo "DIAG_ADR_ENABLED = off" >> $ORACLE_HOME/network/admin/listener.ora; 57 | 58 | # Check whether Perl is working 59 | chmod ug+x $INSTALL_DIR/installPerl.sh && \ 60 | $ORACLE_HOME/perl/bin/perl -v || \ 61 | $INSTALL_DIR/installPerl.sh 62 | -------------------------------------------------------------------------------- /12.1.0.2-small/createPDB.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE CDDL 1.0 + GPL 2.0 3 | # 4 | # Copyright (c) 1982-2016 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: November, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Creates an Oracle Database based on following parameters: 9 | # $ORACLE_SID: The Oracle SID and CDB name 10 | # $ORACLE_PDB: The PDB name 11 | # 12 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 13 | # 14 | 15 | sqlplus / as sysdba <= v_extra_space_MB 43 | ) 44 | ) loop 45 | begin 46 | execute immediate i.stmnt; 47 | dbms_output.put_line('Executed: '||i.stmnt); 48 | exception when others then 49 | dbms_output.put_line('Failed to execute: '||i.stmnt); 50 | raise; 51 | end; 52 | end loop; 53 | end; 54 | / 55 | 56 | ALTER DATABASE DATAFILE '$PDB_BASE_DIR/$ORACLE_PDB/undotbs00.dbf' RESIZE 250M; 57 | ALTER DATABASE TEMPFILE '$PDB_BASE_DIR/$ORACLE_PDB/temp01.dbf' RESIZE 250M; 58 | 59 | exit; 60 | EOF 61 | -------------------------------------------------------------------------------- /12.2.0.1-small/createPDB.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE CDDL 1.0 + GPL 2.0 3 | # 4 | # Copyright (c) 1982-2016 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: November, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Creates an Oracle Database based on following parameters: 9 | # $ORACLE_SID: The Oracle SID and CDB name 10 | # $ORACLE_PDB: The PDB name 11 | # 12 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 13 | # 14 | 15 | sqlplus / as sysdba <= v_extra_space_MB 44 | ) 45 | ) loop 46 | begin 47 | execute immediate i.stmnt; 48 | dbms_output.put_line('Executed: '||i.stmnt); 49 | exception when others then 50 | dbms_output.put_line('Failed to execute: '||i.stmnt); 51 | raise; 52 | end; 53 | end loop; 54 | end; 55 | / 56 | 57 | ALTER DATABASE DATAFILE '$PDB_BASE_DIR/$ORACLE_PDB/undotbs00.dbf' RESIZE 250M; 58 | ALTER DATABASE TEMPFILE '$PDB_BASE_DIR/$ORACLE_PDB/temp01.dbf' RESIZE 250M; 59 | 60 | exit; 61 | EOF 62 | -------------------------------------------------------------------------------- /12.1.0.2/installDBBinaries.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE CDDL 1.0 + GPL 2.0 3 | # 4 | # Copyright (c) 1982-2016 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: December, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Sets up the unix environment for DB installation. 9 | # 10 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 11 | # 12 | 13 | EDITION=$1 14 | 15 | # Check whether edition has been passed on 16 | if [ "$EDITION" == "" ]; then 17 | echo "ERROR: No edition has been passed on!" 18 | echo "Please specify the correct edition!" 19 | exit 1; 20 | fi; 21 | 22 | # Check whether correct edition has been passed on 23 | if [ "$EDITION" != "EE" -a "$EDITION" != "SE2" ]; then 24 | echo "ERROR: Wrong edition has been passed on!" 25 | echo "Edition $EDITION is no a valid edition!" 26 | exit 1; 27 | fi; 28 | 29 | # Check whether ORACLE_BASE is set 30 | if [ "$ORACLE_BASE" == "" ]; then 31 | echo "ERROR: ORACLE_BASE has not been set!" 32 | echo "You have to have the ORACLE_BASE environment variable set to a valid value!" 33 | exit 1; 34 | fi; 35 | 36 | # Check whether ORACLE_HOME is set 37 | if [ "$ORACLE_HOME" == "" ]; then 38 | echo "ERROR: ORACLE_HOME has not been set!" 39 | echo "You have to have the ORACLE_HOME environment variable set to a valid value!" 40 | exit 1; 41 | fi; 42 | 43 | 44 | # Replace place holders 45 | # --------------------- 46 | sed -i -e "s|###ORACLE_EDITION###|$EDITION|g" $INSTALL_DIR/$INSTALL_RSP && \ 47 | sed -i -e "s|###ORACLE_BASE###|$ORACLE_BASE|g" $INSTALL_DIR/$INSTALL_RSP && \ 48 | sed -i -e "s|###ORACLE_HOME###|$ORACLE_HOME|g" $INSTALL_DIR/$INSTALL_RSP && \ 49 | cd $INSTALL_DIR && \ 50 | unzip $INSTALL_FILE_1 && \ 51 | rm $INSTALL_FILE_1 && \ 52 | unzip $INSTALL_FILE_2 && \ 53 | rm $INSTALL_FILE_2 && \ 54 | $INSTALL_DIR/database/runInstaller -silent -force -waitforcompletion -responsefile $INSTALL_DIR/$INSTALL_RSP -ignoresysprereqs -ignoreprereq && \ 55 | rm -rf $INSTALL_DIR/database && \ 56 | ln -s $ORACLE_BASE/$PWD_FILE $HOME/ && \ 57 | echo "DEDICATED_THROUGH_BROKER_LISTENER=ON" >> $ORACLE_HOME/network/admin/listener.ora && \ 58 | echo "DIAG_ADR_ENABLED = off" >> $ORACLE_HOME/network/admin/listener.ora; 59 | 60 | # Check whether Perl is working 61 | chmod ug+x $INSTALL_DIR/installPerl.sh && \ 62 | $ORACLE_HOME/perl/bin/perl -v || \ 63 | $INSTALL_DIR/installPerl.sh 64 | -------------------------------------------------------------------------------- /12.1.0.2-small/installDBBinaries.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE CDDL 1.0 + GPL 2.0 3 | # 4 | # Copyright (c) 1982-2016 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: December, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Sets up the unix environment for DB installation. 9 | # 10 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 11 | # 12 | 13 | EDITION=$1 14 | 15 | # Check whether edition has been passed on 16 | if [ "$EDITION" == "" ]; then 17 | echo "ERROR: No edition has been passed on!" 18 | echo "Please specify the correct edition!" 19 | exit 1; 20 | fi; 21 | 22 | # Check whether correct edition has been passed on 23 | if [ "$EDITION" != "EE" -a "$EDITION" != "SE2" ]; then 24 | echo "ERROR: Wrong edition has been passed on!" 25 | echo "Edition $EDITION is no a valid edition!" 26 | exit 1; 27 | fi; 28 | 29 | # Check whether ORACLE_BASE is set 30 | if [ "$ORACLE_BASE" == "" ]; then 31 | echo "ERROR: ORACLE_BASE has not been set!" 32 | echo "You have to have the ORACLE_BASE environment variable set to a valid value!" 33 | exit 1; 34 | fi; 35 | 36 | # Check whether ORACLE_HOME is set 37 | if [ "$ORACLE_HOME" == "" ]; then 38 | echo "ERROR: ORACLE_HOME has not been set!" 39 | echo "You have to have the ORACLE_HOME environment variable set to a valid value!" 40 | exit 1; 41 | fi; 42 | 43 | 44 | # Replace place holders 45 | # --------------------- 46 | sed -i -e "s|###ORACLE_EDITION###|$EDITION|g" $INSTALL_DIR/$INSTALL_RSP && \ 47 | sed -i -e "s|###ORACLE_BASE###|$ORACLE_BASE|g" $INSTALL_DIR/$INSTALL_RSP && \ 48 | sed -i -e "s|###ORACLE_HOME###|$ORACLE_HOME|g" $INSTALL_DIR/$INSTALL_RSP && \ 49 | cd $INSTALL_DIR && \ 50 | unzip -q $INSTALL_FILE_1 && \ 51 | rm $INSTALL_FILE_1 && \ 52 | unzip $INSTALL_FILE_2 && \ 53 | rm $INSTALL_FILE_2 && \ 54 | $INSTALL_DIR/database/runInstaller -silent -force -waitforcompletion -responsefile $INSTALL_DIR/$INSTALL_RSP -ignoresysprereqs -ignoreprereq && \ 55 | rm -rf $INSTALL_DIR/database && \ 56 | ln -s $ORACLE_BASE/$PWD_FILE $HOME/ && \ 57 | echo "DEDICATED_THROUGH_BROKER_LISTENER=ON" >> $ORACLE_HOME/network/admin/listener.ora && \ 58 | echo "DIAG_ADR_ENABLED = off" >> $ORACLE_HOME/network/admin/listener.ora; 59 | 60 | # Check whether Perl is working 61 | chmod ug+x $INSTALL_DIR/installPerl.sh && \ 62 | $ORACLE_HOME/perl/bin/perl -v || \ 63 | $INSTALL_DIR/installPerl.sh 64 | -------------------------------------------------------------------------------- /18.3-small/createDB.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE UPL 1.0 3 | # 4 | # Copyright (c) 1982-2018 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: November, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # 9 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 10 | # 11 | 12 | set -e 13 | # Auto generate ORACLE PWD 14 | #ORACLE_PWD="`openssl rand -base64 8`1" 15 | echo "ORACLE AUTO GENERATED PASSWORD FOR SYS, SYSTEM AND PDBAMIN: $ORACLE_PWD"; 16 | 17 | # Replace place holders in response file 18 | cp $ORACLE_BASE/$CONFIG_RSP $ORACLE_BASE/dbca.rsp 19 | sed -i -e "s|###ORACLE_SID###|$ORACLE_SID|g" $ORACLE_BASE/dbca.rsp 20 | sed -i -e "s|###ORACLE_PDB###|$ORACLE_PDB|g" $ORACLE_BASE/dbca.rsp 21 | sed -i -e "s|###ORACLE_PWD###|$ORACLE_PWD|g" $ORACLE_BASE/dbca.rsp 22 | sed -i -e "s|###ORACLE_CHARACTERSET###|$ORACLE_CHARACTERSET|g" $ORACLE_BASE/dbca.rsp 23 | sed -i -e "s|###CREATE_PDB###|$CREATE_PDB|g" $ORACLE_BASE/dbca.rsp 24 | 25 | # If there is greater than 8 CPUs default back to dbca memory calculations 26 | # dbca will automatically pick 40% of available memory for Oracle DB 27 | # The minimum of 2G is for small environments to guarantee that Oracle has enough memory to function 28 | # However, bigger environment can and should use more of the available memory 29 | # This is due to Github Issue #307 30 | if [ `nproc` -gt 8 ]; then 31 | sed -i -e "s|totalMemory=2048||g" $ORACLE_BASE/dbca.rsp 32 | fi; 33 | 34 | # Create network related config files (sqlnet.ora, tnsnames.ora, listener.ora) 35 | mkdir -p $ORACLE_HOME/network/admin 36 | echo "NAME.DIRECTORY_PATH= (TNSNAMES, EZCONNECT, HOSTNAME)" > $ORACLE_HOME/network/admin/sqlnet.ora 37 | 38 | # Listener.ora 39 | echo "LISTENER = 40 | (DESCRIPTION_LIST = 41 | (DESCRIPTION = 42 | (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 43 | (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521)) 44 | ) 45 | ) 46 | 47 | DEDICATED_THROUGH_BROKER_LISTENER=ON 48 | DIAG_ADR_ENABLED = off 49 | " > $ORACLE_HOME/network/admin/listener.ora 50 | 51 | # Start LISTENER and run DBCA 52 | lsnrctl start && 53 | dbca -silent -createDatabase -responseFile $ORACLE_BASE/dbca.rsp || 54 | cat /opt/oracle/cfgtoollogs/dbca/$ORACLE_SID/$ORACLE_SID.log || 55 | cat /opt/oracle/cfgtoollogs/dbca/$ORACLE_SID.log 56 | 57 | echo "$ORACLE_SID=localhost:1521/$ORACLE_SID" >> $ORACLE_HOME/network/admin/tnsnames.ora 58 | 59 | # Remove temporary response file 60 | rm $ORACLE_BASE/dbca.rsp 61 | -------------------------------------------------------------------------------- /19.3-small/createDB.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE UPL 1.0 3 | # 4 | # Copyright (c) 1982-2018 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: November, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # 9 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 10 | # 11 | 12 | set -e 13 | # Auto generate ORACLE PWD 14 | #ORACLE_PWD="`openssl rand -base64 8`1" 15 | echo "ORACLE AUTO GENERATED PASSWORD FOR SYS, SYSTEM AND PDBAMIN: $ORACLE_PWD"; 16 | 17 | # Replace place holders in response file 18 | cp $ORACLE_BASE/$CONFIG_RSP $ORACLE_BASE/dbca.rsp 19 | sed -i -e "s|###ORACLE_SID###|$ORACLE_SID|g" $ORACLE_BASE/dbca.rsp 20 | sed -i -e "s|###ORACLE_PDB###|$ORACLE_PDB|g" $ORACLE_BASE/dbca.rsp 21 | sed -i -e "s|###ORACLE_PWD###|$ORACLE_PWD|g" $ORACLE_BASE/dbca.rsp 22 | sed -i -e "s|###ORACLE_CHARACTERSET###|$ORACLE_CHARACTERSET|g" $ORACLE_BASE/dbca.rsp 23 | sed -i -e "s|###CREATE_PDB###|$CREATE_PDB|g" $ORACLE_BASE/dbca.rsp 24 | 25 | # If there is greater than 8 CPUs default back to dbca memory calculations 26 | # dbca will automatically pick 40% of available memory for Oracle DB 27 | # The minimum of 2G is for small environments to guarantee that Oracle has enough memory to function 28 | # However, bigger environment can and should use more of the available memory 29 | # This is due to Github Issue #307 30 | if [ `nproc` -gt 8 ]; then 31 | sed -i -e "s|totalMemory=2048||g" $ORACLE_BASE/dbca.rsp 32 | fi; 33 | 34 | # Create network related config files (sqlnet.ora, tnsnames.ora, listener.ora) 35 | mkdir -p $ORACLE_HOME/network/admin 36 | echo "NAME.DIRECTORY_PATH= (TNSNAMES, EZCONNECT, HOSTNAME)" > $ORACLE_HOME/network/admin/sqlnet.ora 37 | 38 | # Listener.ora 39 | echo "LISTENER = 40 | (DESCRIPTION_LIST = 41 | (DESCRIPTION = 42 | (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 43 | (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521)) 44 | ) 45 | ) 46 | 47 | DEDICATED_THROUGH_BROKER_LISTENER=ON 48 | DIAG_ADR_ENABLED = off 49 | " > $ORACLE_HOME/network/admin/listener.ora 50 | 51 | # Start LISTENER and run DBCA 52 | lsnrctl start && 53 | dbca -silent -createDatabase -responseFile $ORACLE_BASE/dbca.rsp || 54 | cat /opt/oracle/cfgtoollogs/dbca/$ORACLE_SID/$ORACLE_SID.log || 55 | cat /opt/oracle/cfgtoollogs/dbca/$ORACLE_SID.log 56 | 57 | echo "$ORACLE_SID=localhost:1521/$ORACLE_SID" >> $ORACLE_HOME/network/admin/tnsnames.ora 58 | 59 | # Remove temporary response file 60 | rm $ORACLE_BASE/dbca.rsp 61 | -------------------------------------------------------------------------------- /18.3/installDBBinaries.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE UPL 1.0 3 | # 4 | # Copyright (c) 1982-2018 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: December, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Sets up the unix environment for DB installation. 9 | # 10 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 11 | # 12 | 13 | EDITION=$1 14 | 15 | # Check whether edition has been passed on 16 | if [ "$EDITION" == "" ]; then 17 | echo "ERROR: No edition has been passed on!" 18 | echo "Please specify the correct edition!" 19 | exit 1; 20 | fi; 21 | 22 | # Check whether correct edition has been passed on 23 | if [ "$EDITION" != "EE" -a "$EDITION" != "SE2" ]; then 24 | echo "ERROR: Wrong edition has been passed on!" 25 | echo "Edition $EDITION is no a valid edition!" 26 | exit 1; 27 | fi; 28 | 29 | # Check whether ORACLE_BASE is set 30 | if [ "$ORACLE_BASE" == "" ]; then 31 | echo "ERROR: ORACLE_BASE has not been set!" 32 | echo "You have to have the ORACLE_BASE environment variable set to a valid value!" 33 | exit 1; 34 | fi; 35 | 36 | # Check whether ORACLE_HOME is set 37 | if [ "$ORACLE_HOME" == "" ]; then 38 | echo "ERROR: ORACLE_HOME has not been set!" 39 | echo "You have to have the ORACLE_HOME environment variable set to a valid value!" 40 | exit 1; 41 | fi; 42 | 43 | 44 | # Replace place holders 45 | # --------------------- 46 | sed -i -e "s|###ORACLE_EDITION###|$EDITION|g" $INSTALL_DIR/$INSTALL_RSP && \ 47 | sed -i -e "s|###ORACLE_BASE###|$ORACLE_BASE|g" $INSTALL_DIR/$INSTALL_RSP && \ 48 | sed -i -e "s|###ORACLE_HOME###|$ORACLE_HOME|g" $INSTALL_DIR/$INSTALL_RSP 49 | 50 | # Install Oracle binaries 51 | cd $ORACLE_HOME && \ 52 | mv $INSTALL_DIR/$INSTALL_FILE_1 $ORACLE_HOME/ && \ 53 | unzip $INSTALL_FILE_1 && \ 54 | rm $INSTALL_FILE_1 && \ 55 | $ORACLE_HOME/runInstaller -silent -force -waitforcompletion -responsefile $INSTALL_DIR/$INSTALL_RSP -ignorePrereqFailure && \ 56 | cd $HOME 57 | 58 | # Remove not needed components 59 | rm -rf $ORACLE_HOME/apex && \ 60 | rm -rf $ORACLE_HOME/jdbc && \ 61 | # ZDLRA installer files 62 | rm -rf $ORACLE_HOME/lib/ra*.zip && \ 63 | rm -rf $ORACLE_HOME/ords && \ 64 | rm -rf $ORACLE_HOME/sqldeveloper && \ 65 | rm -rf $ORACLE_HOME/ucp && \ 66 | # OUI backup 67 | rm -rf $ORACLE_HOME/inventory/backup/* && \ 68 | # Network tools help 69 | rm -rf $ORACLE_HOME/network/tools/help/mgr/help_* && \ 70 | # Temp location 71 | rm -rf /tmp/* 72 | 73 | # Link password reset file to home directory 74 | ln -s $ORACLE_BASE/$PWD_FILE $HOME/ 75 | -------------------------------------------------------------------------------- /19.3/installDBBinaries.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE UPL 1.0 3 | # 4 | # Copyright (c) 1982-2018 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: December, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Sets up the unix environment for DB installation. 9 | # 10 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 11 | # 12 | 13 | EDITION=$1 14 | 15 | # Check whether edition has been passed on 16 | if [ "$EDITION" == "" ]; then 17 | echo "ERROR: No edition has been passed on!" 18 | echo "Please specify the correct edition!" 19 | exit 1; 20 | fi; 21 | 22 | # Check whether correct edition has been passed on 23 | if [ "$EDITION" != "EE" -a "$EDITION" != "SE2" ]; then 24 | echo "ERROR: Wrong edition has been passed on!" 25 | echo "Edition $EDITION is no a valid edition!" 26 | exit 1; 27 | fi; 28 | 29 | # Check whether ORACLE_BASE is set 30 | if [ "$ORACLE_BASE" == "" ]; then 31 | echo "ERROR: ORACLE_BASE has not been set!" 32 | echo "You have to have the ORACLE_BASE environment variable set to a valid value!" 33 | exit 1; 34 | fi; 35 | 36 | # Check whether ORACLE_HOME is set 37 | if [ "$ORACLE_HOME" == "" ]; then 38 | echo "ERROR: ORACLE_HOME has not been set!" 39 | echo "You have to have the ORACLE_HOME environment variable set to a valid value!" 40 | exit 1; 41 | fi; 42 | 43 | 44 | # Replace place holders 45 | # --------------------- 46 | sed -i -e "s|###ORACLE_EDITION###|$EDITION|g" $INSTALL_DIR/$INSTALL_RSP && \ 47 | sed -i -e "s|###ORACLE_BASE###|$ORACLE_BASE|g" $INSTALL_DIR/$INSTALL_RSP && \ 48 | sed -i -e "s|###ORACLE_HOME###|$ORACLE_HOME|g" $INSTALL_DIR/$INSTALL_RSP 49 | 50 | # Install Oracle binaries 51 | cd $ORACLE_HOME && \ 52 | mv $INSTALL_DIR/$INSTALL_FILE_1 $ORACLE_HOME/ && \ 53 | unzip $INSTALL_FILE_1 && \ 54 | rm $INSTALL_FILE_1 && \ 55 | $ORACLE_HOME/runInstaller -silent -force -waitforcompletion -responsefile $INSTALL_DIR/$INSTALL_RSP -ignorePrereqFailure && \ 56 | cd $HOME 57 | 58 | # Remove not needed components 59 | rm -rf $ORACLE_HOME/apex && \ 60 | rm -rf $ORACLE_HOME/jdbc && \ 61 | # ZDLRA installer files 62 | rm -rf $ORACLE_HOME/lib/ra*.zip && \ 63 | rm -rf $ORACLE_HOME/ords && \ 64 | rm -rf $ORACLE_HOME/sqldeveloper && \ 65 | rm -rf $ORACLE_HOME/ucp && \ 66 | # OUI backup 67 | rm -rf $ORACLE_HOME/inventory/backup/* && \ 68 | # Network tools help 69 | rm -rf $ORACLE_HOME/network/tools/help/mgr/help_* && \ 70 | # Temp location 71 | rm -rf /tmp/* 72 | 73 | # Link password reset file to home directory 74 | ln -s $ORACLE_BASE/$PWD_FILE $HOME/ 75 | -------------------------------------------------------------------------------- /18.3-small/installDBBinaries.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE UPL 1.0 3 | # 4 | # Copyright (c) 1982-2018 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: December, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Sets up the unix environment for DB installation. 9 | # 10 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 11 | # 12 | 13 | EDITION=$1 14 | 15 | # Check whether edition has been passed on 16 | if [ "$EDITION" == "" ]; then 17 | echo "ERROR: No edition has been passed on!" 18 | echo "Please specify the correct edition!" 19 | exit 1; 20 | fi; 21 | 22 | # Check whether correct edition has been passed on 23 | if [ "$EDITION" != "EE" -a "$EDITION" != "SE2" ]; then 24 | echo "ERROR: Wrong edition has been passed on!" 25 | echo "Edition $EDITION is no a valid edition!" 26 | exit 1; 27 | fi; 28 | 29 | # Check whether ORACLE_BASE is set 30 | if [ "$ORACLE_BASE" == "" ]; then 31 | echo "ERROR: ORACLE_BASE has not been set!" 32 | echo "You have to have the ORACLE_BASE environment variable set to a valid value!" 33 | exit 1; 34 | fi; 35 | 36 | # Check whether ORACLE_HOME is set 37 | if [ "$ORACLE_HOME" == "" ]; then 38 | echo "ERROR: ORACLE_HOME has not been set!" 39 | echo "You have to have the ORACLE_HOME environment variable set to a valid value!" 40 | exit 1; 41 | fi; 42 | 43 | 44 | # Replace place holders 45 | # --------------------- 46 | sed -i -e "s|###ORACLE_EDITION###|$EDITION|g" $INSTALL_DIR/$INSTALL_RSP && \ 47 | sed -i -e "s|###ORACLE_BASE###|$ORACLE_BASE|g" $INSTALL_DIR/$INSTALL_RSP && \ 48 | sed -i -e "s|###ORACLE_HOME###|$ORACLE_HOME|g" $INSTALL_DIR/$INSTALL_RSP 49 | 50 | # Install Oracle binaries 51 | cd $ORACLE_HOME && \ 52 | mv $INSTALL_DIR/$INSTALL_FILE_1 $ORACLE_HOME/ && \ 53 | unzip -q $INSTALL_FILE_1 && \ 54 | rm $INSTALL_FILE_1 && \ 55 | $ORACLE_HOME/runInstaller -silent -force -waitforcompletion -responsefile $INSTALL_DIR/$INSTALL_RSP -ignorePrereqFailure && \ 56 | cd $HOME 57 | 58 | # Remove not needed components 59 | rm -rf $ORACLE_HOME/apex && \ 60 | rm -rf $ORACLE_HOME/jdbc && \ 61 | # ZDLRA installer files 62 | rm -rf $ORACLE_HOME/lib/ra*.zip && \ 63 | rm -rf $ORACLE_HOME/ords && \ 64 | rm -rf $ORACLE_HOME/sqldeveloper && \ 65 | rm -rf $ORACLE_HOME/ucp && \ 66 | # OUI backup 67 | rm -rf $ORACLE_HOME/inventory/backup/* && \ 68 | # Network tools help 69 | rm -rf $ORACLE_HOME/network/tools/help/mgr/help_* && \ 70 | # Temp location 71 | rm -rf /tmp/* 72 | 73 | # Link password reset file to home directory 74 | ln -s $ORACLE_BASE/$PWD_FILE $HOME/ 75 | -------------------------------------------------------------------------------- /19.3-small/installDBBinaries.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE UPL 1.0 3 | # 4 | # Copyright (c) 1982-2018 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: December, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Sets up the unix environment for DB installation. 9 | # 10 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 11 | # 12 | 13 | EDITION=$1 14 | 15 | # Check whether edition has been passed on 16 | if [ "$EDITION" == "" ]; then 17 | echo "ERROR: No edition has been passed on!" 18 | echo "Please specify the correct edition!" 19 | exit 1; 20 | fi; 21 | 22 | # Check whether correct edition has been passed on 23 | if [ "$EDITION" != "EE" -a "$EDITION" != "SE2" ]; then 24 | echo "ERROR: Wrong edition has been passed on!" 25 | echo "Edition $EDITION is no a valid edition!" 26 | exit 1; 27 | fi; 28 | 29 | # Check whether ORACLE_BASE is set 30 | if [ "$ORACLE_BASE" == "" ]; then 31 | echo "ERROR: ORACLE_BASE has not been set!" 32 | echo "You have to have the ORACLE_BASE environment variable set to a valid value!" 33 | exit 1; 34 | fi; 35 | 36 | # Check whether ORACLE_HOME is set 37 | if [ "$ORACLE_HOME" == "" ]; then 38 | echo "ERROR: ORACLE_HOME has not been set!" 39 | echo "You have to have the ORACLE_HOME environment variable set to a valid value!" 40 | exit 1; 41 | fi; 42 | 43 | 44 | # Replace place holders 45 | # --------------------- 46 | sed -i -e "s|###ORACLE_EDITION###|$EDITION|g" $INSTALL_DIR/$INSTALL_RSP && \ 47 | sed -i -e "s|###ORACLE_BASE###|$ORACLE_BASE|g" $INSTALL_DIR/$INSTALL_RSP && \ 48 | sed -i -e "s|###ORACLE_HOME###|$ORACLE_HOME|g" $INSTALL_DIR/$INSTALL_RSP 49 | 50 | # Install Oracle binaries 51 | cd $ORACLE_HOME && \ 52 | mv $INSTALL_DIR/$INSTALL_FILE_1 $ORACLE_HOME/ && \ 53 | unzip -q $INSTALL_FILE_1 && \ 54 | rm $INSTALL_FILE_1 && \ 55 | $ORACLE_HOME/runInstaller -silent -force -waitforcompletion -responsefile $INSTALL_DIR/$INSTALL_RSP -ignorePrereqFailure && \ 56 | cd $HOME 57 | 58 | # Remove not needed components 59 | rm -rf $ORACLE_HOME/apex && \ 60 | rm -rf $ORACLE_HOME/jdbc && \ 61 | # ZDLRA installer files 62 | rm -rf $ORACLE_HOME/lib/ra*.zip && \ 63 | rm -rf $ORACLE_HOME/ords && \ 64 | rm -rf $ORACLE_HOME/sqldeveloper && \ 65 | rm -rf $ORACLE_HOME/ucp && \ 66 | # OUI backup 67 | rm -rf $ORACLE_HOME/inventory/backup/* && \ 68 | # Network tools help 69 | rm -rf $ORACLE_HOME/network/tools/help/mgr/help_* && \ 70 | # Temp location 71 | rm -rf /tmp/* 72 | 73 | # Link password reset file to home directory 74 | ln -s $ORACLE_BASE/$PWD_FILE $HOME/ 75 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | os: linux 3 | services: 4 | - docker 5 | 6 | env: 7 | global: 8 | - UT3_RELEASE_VERSION_SCHEMA=UT3 9 | - UT3_TABLESPACE=users 10 | - UTPLSQL_REPO="utPLSQL/utPLSQL" 11 | - ORACLE_PWD="oracle" 12 | - DOCKHER_HUB_REPO="utplsqlv3/oracledb" 13 | - BUILD_DIR=${TRAVIS_BUILD_DIR} 14 | - DOCKER_VOLUME="/home/oracle/host" 15 | - DOCKER_ENV="-e SQLCLI=sqlplus -e UT3_RELEASE_VERSION_SCHEMA -e UT3_TABLESPACE -e ORACLE_PWD -e CONNECTION_STR -e UTPLSQL_DIR" 16 | #utPLSQL released version directory 17 | - UTPLSQL_DIR="utPLSQL" 18 | 19 | jobs: 20 | - ORACLE_VERSION="11g-xe-small" DOCKER_DIR='11.2.0.2-xe-small' DOWNLOAD_NAME='xe11g' CONNECTION_STR='127.0.0.1:1521/XE' DOCKER_VOLUME="/mnt/host" DOCKER_OPTIONS='--shm-size=1g' 21 | # - ORACLE_VERSION="12c-r1-se2-small" DOCKER_DIR='12.1.0.2-small' DOWNLOAD_NAME='se12c' CONNECTION_STR='127.0.0.1:1521/ORCLCDB' 22 | # - ORACLE_VERSION="12c-r2-se2-small" DOCKER_DIR='12.1.0.2-small' DOWNLOAD_NAME='se12c' CONNECTION_STR='127.0.0.1:1521/ORCLCDB' 23 | # - ORACLE_VERSION="18c-se2-small" DOCKER_DIR='18.3-small' DOWNLOAD_NAME='18.3' CONNECTION_STR='127.0.0.1:1521/ORCLCDB' 24 | # - ORACLE_VERSION="19c-se2-small" DOCKER_DIR='19.3-small' DOWNLOAD_NAME='19.3' CONNECTION_STR='127.0.0.1:1521/ORCLCDB' 25 | 26 | before_install: 27 | 28 | # download latest utPLSQL release 29 | # - curl -LOk $(curl --silent https://api.github.com/repos/utPLSQL/utPLSQL/releases/latest | awk '/browser_download_url/ { print $2 }' | grep ".zip\"" | sed 's/"//g') 30 | # download latest utPLSQL-cli release 31 | # - curl -Lk -o utPLSQL-cli.zip $(curl --silent https://api.github.com/repos/utPLSQL/utPLSQL-cli/releases/latest | awk '/browser_download_url/ { print $2 }' | grep ".zip\"" | sed 's/"//g') 32 | - echo '{"experimental":true}' | sudo tee /etc/docker/daemon.json 33 | - sudo service docker restart 34 | - docker version -f '{{.Server.Experimental}}' 35 | - echo "${DOCKER_PASSWORD}" | docker login -u "${DOCKER_USER}" --password-stdin 36 | 37 | install: 38 | - npm install -g casperjs 39 | # - unzip utPLSQL.zip 40 | # - unzip utPLSQL-cli.zip && chmod -R u+x utPLSQL-cli 41 | # Chmod is needed to allow for write access within from docker container volume 42 | # - chmod -R go+w ./${UTPLSQL_DIR}/source 43 | - cd ${DOCKER_DIR} && ../.travis/download.sh -p ${DOWNLOAD_NAME} 44 | 45 | script: 46 | - pwd && ls -l && docker build --no-cache --force-rm --squash -t ${DOCKHER_HUB_REPO}:${ORACLE_VERSION} . 47 | - docker push ${DOCKHER_HUB_REPO}:${ORACLE_VERSION} 48 | -------------------------------------------------------------------------------- /12.1.0.2-small/prepareDB.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE CDDL 1.0 + GPL 2.0 3 | # 4 | # Copyright (c) 1982-2016 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: November, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Creates an Oracle Database based on following parameters: 9 | # $ORACLE_SID: The Oracle SID and CDB name 10 | # $ORACLE_PDB: The PDB name 11 | # 12 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 13 | # 14 | 15 | sqlplus / as sysdba <= v_extra_space_MB 28 | ) 29 | ) loop 30 | begin 31 | execute immediate i.stmnt; 32 | dbms_output.put_line('Executed: '||i.stmnt); 33 | exception when others then 34 | dbms_output.put_line('Failed to execute: '||i.stmnt); 35 | raise; 36 | end; 37 | end loop; 38 | end; 39 | / 40 | 41 | ALTER DATABASE DATAFILE '$ORACLE_BASE/oradata/$ORACLE_SID/undotbs00.dbf' RESIZE 250M; 42 | ALTER DATABASE TEMPFILE '$ORACLE_BASE/oradata/$ORACLE_SID/temp01.dbf' RESIZE 250M; 43 | ALTER DATABASE DATAFILE '$ORACLE_BASE/oradata/$ORACLE_SID/users01.dbf' RESIZE 50M; 44 | 45 | ALTER DATABASE ADD LOGFILE GROUP 1 ('$ORACLE_BASE/oradata/$ORACLE_SID/redo01.log') SIZE 250M; 46 | ALTER DATABASE ADD LOGFILE GROUP 2 ('$ORACLE_BASE/oradata/$ORACLE_SID/redo02.log') SIZE 250M; 47 | ALTER DATABASE ADD LOGFILE GROUP 3 ('$ORACLE_BASE/oradata/$ORACLE_SID/redo03.log') SIZE 250M; 48 | 49 | declare 50 | current_log_group integer; 51 | begin 52 | loop 53 | select group# into current_log_group from v\$log where status = 'CURRENT'; 54 | exit when current_log_group <= 3; 55 | execute immediate 'ALTER SYSTEM SWITCH LOGFILE'; 56 | end loop; 57 | end; 58 | / 59 | 60 | ALTER SYSTEM CHECKPOINT GLOBAL; 61 | 62 | ALTER DATABASE DROP LOGFILE GROUP 4; 63 | ALTER DATABASE DROP LOGFILE GROUP 5; 64 | ALTER DATABASE DROP LOGFILE GROUP 6; 65 | exit; 66 | EOF 67 | 68 | rm -f $ORACLE_BASE/oradata/$ORACLE_SID/redo04.log 69 | rm -f $ORACLE_BASE/oradata/$ORACLE_SID/redo05.log 70 | rm -f $ORACLE_BASE/oradata/$ORACLE_SID/redo06.log 71 | -------------------------------------------------------------------------------- /18.3-small/prepareDB.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE CDDL 1.0 + GPL 2.0 3 | # 4 | # Copyright (c) 1982-2016 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: November, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Creates an Oracle Database based on following parameters: 9 | # $ORACLE_SID: The Oracle SID and CDB name 10 | # $ORACLE_PDB: The PDB name 11 | # 12 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 13 | # 14 | 15 | sqlplus / as sysdba <= v_extra_space_MB 28 | ) 29 | ) loop 30 | begin 31 | execute immediate i.stmnt; 32 | dbms_output.put_line('Executed: '||i.stmnt); 33 | exception when others then 34 | dbms_output.put_line('Failed to execute: '||i.stmnt); 35 | raise; 36 | end; 37 | end loop; 38 | end; 39 | / 40 | 41 | ALTER DATABASE DATAFILE '$ORACLE_BASE/oradata/$ORACLE_SID/undotbs00.dbf' RESIZE 250M; 42 | ALTER DATABASE TEMPFILE '$ORACLE_BASE/oradata/$ORACLE_SID/temp01.dbf' RESIZE 250M; 43 | ALTER DATABASE DATAFILE '$ORACLE_BASE/oradata/$ORACLE_SID/users01.dbf' RESIZE 50M; 44 | 45 | ALTER DATABASE ADD LOGFILE GROUP 1 ('$ORACLE_BASE/oradata/$ORACLE_SID/redo01.log') SIZE 250M; 46 | ALTER DATABASE ADD LOGFILE GROUP 2 ('$ORACLE_BASE/oradata/$ORACLE_SID/redo02.log') SIZE 250M; 47 | ALTER DATABASE ADD LOGFILE GROUP 3 ('$ORACLE_BASE/oradata/$ORACLE_SID/redo03.log') SIZE 250M; 48 | 49 | declare 50 | current_log_group integer; 51 | begin 52 | loop 53 | select group# into current_log_group from v\$log where status = 'CURRENT'; 54 | exit when current_log_group <= 3; 55 | execute immediate 'ALTER SYSTEM SWITCH LOGFILE'; 56 | end loop; 57 | end; 58 | / 59 | 60 | ALTER SYSTEM CHECKPOINT GLOBAL; 61 | 62 | ALTER DATABASE DROP LOGFILE GROUP 4; 63 | ALTER DATABASE DROP LOGFILE GROUP 5; 64 | ALTER DATABASE DROP LOGFILE GROUP 6; 65 | exit; 66 | EOF 67 | 68 | rm -f $ORACLE_BASE/oradata/$ORACLE_SID/redo04.log 69 | rm -f $ORACLE_BASE/oradata/$ORACLE_SID/redo05.log 70 | rm -f $ORACLE_BASE/oradata/$ORACLE_SID/redo06.log 71 | -------------------------------------------------------------------------------- /19.3-small/prepareDB.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE CDDL 1.0 + GPL 2.0 3 | # 4 | # Copyright (c) 1982-2016 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: November, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Creates an Oracle Database based on following parameters: 9 | # $ORACLE_SID: The Oracle SID and CDB name 10 | # $ORACLE_PDB: The PDB name 11 | # 12 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 13 | # 14 | 15 | sqlplus / as sysdba <= v_extra_space_MB 28 | ) 29 | ) loop 30 | begin 31 | execute immediate i.stmnt; 32 | dbms_output.put_line('Executed: '||i.stmnt); 33 | exception when others then 34 | dbms_output.put_line('Failed to execute: '||i.stmnt); 35 | raise; 36 | end; 37 | end loop; 38 | end; 39 | / 40 | 41 | ALTER DATABASE DATAFILE '$ORACLE_BASE/oradata/$ORACLE_SID/undotbs00.dbf' RESIZE 250M; 42 | ALTER DATABASE TEMPFILE '$ORACLE_BASE/oradata/$ORACLE_SID/temp01.dbf' RESIZE 250M; 43 | ALTER DATABASE DATAFILE '$ORACLE_BASE/oradata/$ORACLE_SID/users01.dbf' RESIZE 50M; 44 | 45 | ALTER DATABASE ADD LOGFILE GROUP 1 ('$ORACLE_BASE/oradata/$ORACLE_SID/redo01.log') SIZE 250M; 46 | ALTER DATABASE ADD LOGFILE GROUP 2 ('$ORACLE_BASE/oradata/$ORACLE_SID/redo02.log') SIZE 250M; 47 | ALTER DATABASE ADD LOGFILE GROUP 3 ('$ORACLE_BASE/oradata/$ORACLE_SID/redo03.log') SIZE 250M; 48 | 49 | declare 50 | current_log_group integer; 51 | begin 52 | loop 53 | select group# into current_log_group from v\$log where status = 'CURRENT'; 54 | exit when current_log_group <= 3; 55 | execute immediate 'ALTER SYSTEM SWITCH LOGFILE'; 56 | end loop; 57 | end; 58 | / 59 | 60 | ALTER SYSTEM CHECKPOINT GLOBAL; 61 | 62 | ALTER DATABASE DROP LOGFILE GROUP 4; 63 | ALTER DATABASE DROP LOGFILE GROUP 5; 64 | ALTER DATABASE DROP LOGFILE GROUP 6; 65 | exit; 66 | EOF 67 | 68 | rm -f $ORACLE_BASE/oradata/$ORACLE_SID/redo04.log 69 | rm -f $ORACLE_BASE/oradata/$ORACLE_SID/redo05.log 70 | rm -f $ORACLE_BASE/oradata/$ORACLE_SID/redo06.log 71 | -------------------------------------------------------------------------------- /12.2.0.1-small/prepareDB.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE CDDL 1.0 + GPL 2.0 3 | # 4 | # Copyright (c) 1982-2016 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: November, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Creates an Oracle Database based on following parameters: 9 | # $ORACLE_SID: The Oracle SID and CDB name 10 | # $ORACLE_PDB: The PDB name 11 | # 12 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 13 | # 14 | 15 | sqlplus / as sysdba <= v_extra_space_MB 28 | ) 29 | ) loop 30 | begin 31 | execute immediate i.stmnt; 32 | dbms_output.put_line('Executed: '||i.stmnt); 33 | exception when others then 34 | dbms_output.put_line('Failed to execute: '||i.stmnt); 35 | raise; 36 | end; 37 | end loop; 38 | end; 39 | / 40 | 41 | ALTER DATABASE DATAFILE '$ORACLE_BASE/oradata/$ORACLE_SID/undotbs00.dbf' RESIZE 250M; 42 | ALTER DATABASE TEMPFILE '$ORACLE_BASE/oradata/$ORACLE_SID/temp01.dbf' RESIZE 250M; 43 | ALTER DATABASE DATAFILE '$ORACLE_BASE/oradata/$ORACLE_SID/users01.dbf' RESIZE 50M; 44 | 45 | ALTER DATABASE ADD LOGFILE GROUP 1 ('$ORACLE_BASE/oradata/$ORACLE_SID/redo01.log') SIZE 250M; 46 | ALTER DATABASE ADD LOGFILE GROUP 2 ('$ORACLE_BASE/oradata/$ORACLE_SID/redo02.log') SIZE 250M; 47 | ALTER DATABASE ADD LOGFILE GROUP 3 ('$ORACLE_BASE/oradata/$ORACLE_SID/redo03.log') SIZE 250M; 48 | 49 | declare 50 | current_log_group integer; 51 | begin 52 | loop 53 | select group# into current_log_group from v\$log where status = 'CURRENT'; 54 | exit when current_log_group <= 3; 55 | execute immediate 'ALTER SYSTEM SWITCH LOGFILE'; 56 | end loop; 57 | end; 58 | / 59 | 60 | ALTER SYSTEM CHECKPOINT GLOBAL; 61 | 62 | ALTER DATABASE DROP LOGFILE GROUP 4; 63 | ALTER DATABASE DROP LOGFILE GROUP 5; 64 | ALTER DATABASE DROP LOGFILE GROUP 6; 65 | exit; 66 | EOF 67 | 68 | rm -f $ORACLE_BASE/oradata/$ORACLE_SID/redo04.log 69 | rm -f $ORACLE_BASE/oradata/$ORACLE_SID/redo05.log 70 | rm -f $ORACLE_BASE/oradata/$ORACLE_SID/redo06.log 71 | -------------------------------------------------------------------------------- /12.1.0.2/createDB.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE CDDL 1.0 + GPL 2.0 3 | # 4 | # Copyright (c) 1982-2016 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: November, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Creates an Oracle Database based on following parameters: 9 | # $ORACLE_SID: The Oracle SID and CDB name 10 | # $ORACLE_PDB: The PDB name 11 | # 12 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 13 | # 14 | 15 | 16 | ORACLE_SID=$1 17 | # Check whether ORACLE_SID is passed on 18 | if [ "$ORACLE_SID" == "" ]; then 19 | ORACLE_SID=ORCLCDB 20 | fi; 21 | export ORACLE_SID 22 | 23 | #ORACLE_PDB=$2 24 | # Check whether ORACLE_PDB is passed on 25 | #if [ "$ORACLE_PDB" == "" ]; then 26 | # ORACLE_PDB=ORCLPDB1 27 | #fi; 28 | 29 | # Auto generate ORACLE PWD 30 | #ORACLE_PWD="`openssl rand -base64 8`1" 31 | echo "ORACLE AUTO GENERATED PASSWORD FOR SYS, SYSTEM AND PDBAMIN: $ORACLE_PWD"; 32 | 33 | # Replace place holders in response file 34 | cp $ORACLE_BASE/$CONFIG_RSP $ORACLE_BASE/dbca.rsp 35 | sed -i -e "s|###ORACLE_SID###|$ORACLE_SID|g" $ORACLE_BASE/dbca.rsp 36 | sed -i -e "s|###ORACLE_PWD###|$ORACLE_PWD|g" $ORACLE_BASE/dbca.rsp 37 | sed -i -e "s|###ORACLE_CHARACTERSET###|$ORACLE_CHARACTERSET|g" $ORACLE_BASE/dbca.rsp 38 | 39 | # Create network related config files (sqlnet.ora, tnsnames.ora, listener.ora) 40 | mkdir -p $ORACLE_HOME/network/admin 41 | echo "NAME.DIRECTORY_PATH= {TNSNAMES, EZCONNECT, HOSTNAME}" > $ORACLE_HOME/network/admin/sqlnet.ora 42 | 43 | # Listener.ora 44 | echo "LISTENER = 45 | (DESCRIPTION_LIST = 46 | (DESCRIPTION = 47 | (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 48 | (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521)) 49 | ) 50 | ) 51 | 52 | " > $ORACLE_HOME/network/admin/listener.ora 53 | 54 | # Start LISTENER and run DBCA 55 | lsnrctl start && 56 | dbca -silent -createDatabase -responseFile $ORACLE_BASE/dbca.rsp || 57 | cat /opt/oracle/cfgtoollogs/dbca/$ORACLE_SID/$ORACLE_SID.log || 58 | cat /opt/oracle/cfgtoollogs/dbca/$ORACLE_SID.log 59 | 60 | echo "$ORACLE_SID=localhost:1521/$ORACLE_SID" >> $ORACLE_HOME/network/admin/tnsnames.ora 61 | #echo "$ORACLE_PDB= 62 | #(DESCRIPTION = 63 | # (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521)) 64 | # (CONNECT_DATA = 65 | # (SERVER = DEDICATED) 66 | # (SERVICE_NAME = $ORACLE_PDB) 67 | # ) 68 | #)" >> $ORACLE_HOME/network/admin/tnsnames.ora 69 | 70 | # Remove second control file, make PDB auto open 71 | sqlplus / as sysdba << EOF 72 | ALTER SYSTEM SET control_files='$ORACLE_BASE/oradata/$ORACLE_SID/control01.ctl' scope=spfile; 73 | --ALTER PLUGGABLE DATABASE $ORACLE_PDB SAVE STATE; 74 | exit; 75 | EOF 76 | 77 | # Remove temporary response file 78 | rm $ORACLE_BASE/dbca.rsp 79 | 80 | # Make dir for PDBs 81 | #mkdir -p $PDB_BASE_DIR 82 | -------------------------------------------------------------------------------- /18.3-small/cleanup.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Remove not needed components 4 | rm -rf $ORACLE_HOME/apex 5 | rm -rf $ORACLE_HOME/jdbc 6 | # ZDLRA installer files 7 | rm -rf $ORACLE_HOME/lib/ra*.zip 8 | rm -rf $ORACLE_HOME/ords 9 | rm -rf $ORACLE_HOME/sqldeveloper 10 | rm -rf $ORACLE_HOME/ucp 11 | # as we won't install patches 12 | rm -rf $ORACLE_HOME/lib/*.a 13 | find $ORACLE_HOME -name '*.a' -type f -delete 14 | # OUI backup 15 | rm -rf $ORACLE_HOME/inventory/backup/* 16 | # Network tools help 17 | rm -rf $ORACLE_HOME/network/tools/help/mgr/help_* 18 | # Temp location 19 | rm -rf /tmp/* 20 | # Advised by Gerald Venzl 21 | echo "Cleanup Advised by Gerald Venzl" 22 | rm -rf $ORACLE_HOME/.patch_storage/* 23 | rm -rf $ORACLE_HOME/R/* 24 | rm -rf $ORACLE_HOME/assistants/* 25 | rm -rf $ORACLE_HOME/cfgtoollogs/* 26 | rm -rf $ORACLE_HOME/dmu/* 27 | rm -rf $ORACLE_HOME/inventory/* 28 | rm -rf $ORACLE_HOME/javavm/* 29 | rm -rf $ORACLE_HOME/md/* 30 | rm -rf $ORACLE_HOME/suptools/* 31 | echo "Additional Cleanup by Jacek Gebal" 32 | #additional cleanup- removes 1.2GB of DB-sources size - for small images only (no Java) 33 | rm -rf $ORACLE_HOME/OPatch/ #OPatch --> Patching 34 | rm -rf $ORACLE_HOME/crs/ #crs --> some clusterware single instance failover things 35 | rm -rf $ORACLE_HOME/ctx/ #ctx --> Oracle Text (also used for JSON index) 36 | rm -rf $ORACLE_HOME/cv/ #cv --> some patchign related stuff I think 37 | rm -rf $ORACLE_HOME/has/ #has --> no clue 38 | rm -rf $ORACLE_HOME/jdk/ #jdk --> Java jdk 39 | rm -rf $ORACLE_HOME/jlib/ #jlib --> Java libraries 40 | rm -rf $ORACLE_HOME/mgw/ #mgw --> Message gateway 41 | rm -rf $ORACLE_HOME/odbc/ #odbc --> ODBC 42 | rm -rf $ORACLE_HOME/olap/ #olap --> OLAP 43 | rm -rf $ORACLE_HOME/ord/ #ord --> Multimedia I think 44 | rm -rf $ORACLE_HOME/oui/ #oui --> Oracle Universal installer 45 | rm -rf $ORACLE_HOME/owm/ #owm --> Workspace manger 46 | rm -rf $ORACLE_HOME/perl/ #perl --> perl 47 | rm -rf $ORACLE_HOME/precomp/ #precomp --> Not much clue either 48 | rm -rf $ORACLE_HOME/sdk/ #sdk --> some more java I believe 49 | rm -rf $ORACLE_HOME/sqlpatch/ #sqlpatch --> patching related stuff 50 | rm -rf $ORACLE_HOME/usm/ #usm --> Universal storage management 51 | rm -rf $ORACLE_HOME/rdbms/admin/cdb_cloud 52 | rm -rf $ORACLE_HOME/rdbms/xml/em 53 | rm -rf $ORACLE_HOME/relnotes 54 | find $ORACLE_HOME -name '*.zip' -type f -delete 55 | find $ORACLE_HOME -name '*.txt' -type f -delete 56 | rm -rf $ORACLE_HOME/rdbms/admin 57 | find $ORACLE_HOME -name '*O' -type f -delete 58 | find $ORACLE_HOME -path '*/install/*' -delete 59 | find $ORACLE_HOME -name 'install' -type d -delete 60 | 61 | -------------------------------------------------------------------------------- /19.3-small/cleanup.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Remove not needed components 4 | rm -rf $ORACLE_HOME/apex 5 | rm -rf $ORACLE_HOME/jdbc 6 | # ZDLRA installer files 7 | rm -rf $ORACLE_HOME/lib/ra*.zip 8 | rm -rf $ORACLE_HOME/ords 9 | rm -rf $ORACLE_HOME/sqldeveloper 10 | rm -rf $ORACLE_HOME/ucp 11 | # as we won't install patches 12 | rm -rf $ORACLE_HOME/lib/*.a 13 | find $ORACLE_HOME -name '*.a' -type f -delete 14 | # OUI backup 15 | rm -rf $ORACLE_HOME/inventory/backup/* 16 | # Network tools help 17 | rm -rf $ORACLE_HOME/network/tools/help/mgr/help_* 18 | # Temp location 19 | rm -rf /tmp/* 20 | # Advised by Gerald Venzl 21 | echo "Cleanup Advised by Gerald Venzl" 22 | rm -rf $ORACLE_HOME/.patch_storage/* 23 | rm -rf $ORACLE_HOME/R/* 24 | rm -rf $ORACLE_HOME/assistants/* 25 | rm -rf $ORACLE_HOME/cfgtoollogs/* 26 | rm -rf $ORACLE_HOME/dmu/* 27 | rm -rf $ORACLE_HOME/inventory/* 28 | rm -rf $ORACLE_HOME/javavm/* 29 | rm -rf $ORACLE_HOME/md/* 30 | rm -rf $ORACLE_HOME/suptools/* 31 | echo "Additional Cleanup by Jacek Gebal" 32 | #additional cleanup- removes 1.2GB of DB-sources size - for small images only (no Java) 33 | rm -rf $ORACLE_HOME/OPatch/ #OPatch --> Patching 34 | rm -rf $ORACLE_HOME/crs/ #crs --> some clusterware single instance failover things 35 | rm -rf $ORACLE_HOME/ctx/ #ctx --> Oracle Text (also used for JSON index) 36 | rm -rf $ORACLE_HOME/cv/ #cv --> some patchign related stuff I think 37 | rm -rf $ORACLE_HOME/has/ #has --> no clue 38 | rm -rf $ORACLE_HOME/jdk/ #jdk --> Java jdk 39 | rm -rf $ORACLE_HOME/jlib/ #jlib --> Java libraries 40 | rm -rf $ORACLE_HOME/mgw/ #mgw --> Message gateway 41 | rm -rf $ORACLE_HOME/odbc/ #odbc --> ODBC 42 | rm -rf $ORACLE_HOME/olap/ #olap --> OLAP 43 | rm -rf $ORACLE_HOME/ord/ #ord --> Multimedia I think 44 | rm -rf $ORACLE_HOME/oui/ #oui --> Oracle Universal installer 45 | rm -rf $ORACLE_HOME/owm/ #owm --> Workspace manger 46 | rm -rf $ORACLE_HOME/perl/ #perl --> perl 47 | rm -rf $ORACLE_HOME/precomp/ #precomp --> Not much clue either 48 | rm -rf $ORACLE_HOME/sdk/ #sdk --> some more java I believe 49 | rm -rf $ORACLE_HOME/sqlpatch/ #sqlpatch --> patching related stuff 50 | rm -rf $ORACLE_HOME/usm/ #usm --> Universal storage management 51 | rm -rf $ORACLE_HOME/rdbms/admin/cdb_cloud 52 | rm -rf $ORACLE_HOME/rdbms/xml/em 53 | rm -rf $ORACLE_HOME/relnotes 54 | find $ORACLE_HOME -name '*.zip' -type f -delete 55 | find $ORACLE_HOME -name '*.txt' -type f -delete 56 | rm -rf $ORACLE_HOME/rdbms/admin 57 | find $ORACLE_HOME -name '*O' -type f -delete 58 | find $ORACLE_HOME -path '*/install/*' -delete 59 | find $ORACLE_HOME -name 'install' -type d -delete 60 | 61 | -------------------------------------------------------------------------------- /12.1.0.2-small/cleanup.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Remove not needed components 4 | rm -rf $ORACLE_HOME/apex 5 | rm -rf $ORACLE_HOME/jdbc 6 | # ZDLRA installer files 7 | rm -rf $ORACLE_HOME/lib/ra*.zip 8 | rm -rf $ORACLE_HOME/ords 9 | rm -rf $ORACLE_HOME/sqldeveloper 10 | rm -rf $ORACLE_HOME/ucp 11 | # as we won't install patches 12 | rm -rf $ORACLE_HOME/lib/*.a 13 | find $ORACLE_HOME -name '*.a' -type f -delete 14 | # OUI backup 15 | rm -rf $ORACLE_HOME/inventory/backup/* 16 | # Network tools help 17 | rm -rf $ORACLE_HOME/network/tools/help/mgr/help_* 18 | # Temp location 19 | rm -rf /tmp/* 20 | # Advised by Gerald Venzl 21 | echo "Cleanup Advised by Gerald Venzl" 22 | rm -rf $ORACLE_HOME/.patch_storage/* 23 | rm -rf $ORACLE_HOME/R/* 24 | rm -rf $ORACLE_HOME/assistants/* 25 | rm -rf $ORACLE_HOME/cfgtoollogs/* 26 | rm -rf $ORACLE_HOME/dmu/* 27 | rm -rf $ORACLE_HOME/inventory/* 28 | rm -rf $ORACLE_HOME/javavm/* 29 | rm -rf $ORACLE_HOME/md/* 30 | rm -rf $ORACLE_HOME/suptools/* 31 | echo "Additional Cleanup by Jacek Gebal" 32 | #additional cleanup- removes 1.2GB of DB-sources size - for small images only (no Java) 33 | rm -rf $ORACLE_HOME/OPatch/ #OPatch --> Patching 34 | rm -rf $ORACLE_HOME/crs/ #crs --> some clusterware single instance failover things 35 | rm -rf $ORACLE_HOME/ctx/ #ctx --> Oracle Text (also used for JSON index) 36 | rm -rf $ORACLE_HOME/cv/ #cv --> some patchign related stuff I think 37 | rm -rf $ORACLE_HOME/has/ #has --> no clue 38 | rm -rf $ORACLE_HOME/jdk/ #jdk --> Java jdk 39 | rm -rf $ORACLE_HOME/jlib/ #jlib --> Java libraries 40 | rm -rf $ORACLE_HOME/mgw/ #mgw --> Message gateway 41 | rm -rf $ORACLE_HOME/odbc/ #odbc --> ODBC 42 | rm -rf $ORACLE_HOME/olap/ #olap --> OLAP 43 | rm -rf $ORACLE_HOME/ord/ #ord --> Multimedia I think 44 | rm -rf $ORACLE_HOME/oui/ #oui --> Oracle Universal installer 45 | rm -rf $ORACLE_HOME/owm/ #owm --> Workspace manger 46 | rm -rf $ORACLE_HOME/perl/ #perl --> perl 47 | rm -rf $ORACLE_HOME/precomp/ #precomp --> Not much clue either 48 | rm -rf $ORACLE_HOME/sdk/ #sdk --> some more java I believe 49 | rm -rf $ORACLE_HOME/sqlpatch/ #sqlpatch --> patching related stuff 50 | rm -rf $ORACLE_HOME/usm/ #usm --> Universal storage management 51 | rm -rf $ORACLE_HOME/rdbms/admin/cdb_cloud 52 | rm -rf $ORACLE_HOME/rdbms/xml/em 53 | rm -rf $ORACLE_HOME/relnotes 54 | find $ORACLE_HOME -name '*.zip' -type f -delete 55 | find $ORACLE_HOME -name '*.txt' -type f -delete 56 | rm -rf $ORACLE_HOME/rdbms/admin 57 | find $ORACLE_HOME -name '*O' -type f -delete 58 | find $ORACLE_HOME -path '*/install/*' -delete 59 | find $ORACLE_HOME -name 'install' -type d -delete 60 | 61 | -------------------------------------------------------------------------------- /12.2.0.1-small/cleanup.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Remove not needed components 4 | rm -rf $ORACLE_HOME/apex 5 | rm -rf $ORACLE_HOME/jdbc 6 | # ZDLRA installer files 7 | rm -rf $ORACLE_HOME/lib/ra*.zip 8 | rm -rf $ORACLE_HOME/ords 9 | rm -rf $ORACLE_HOME/sqldeveloper 10 | rm -rf $ORACLE_HOME/ucp 11 | # as we won't install patches 12 | rm -rf $ORACLE_HOME/lib/*.a 13 | find $ORACLE_HOME -name '*.a' -type f -delete 14 | # OUI backup 15 | rm -rf $ORACLE_HOME/inventory/backup/* 16 | # Network tools help 17 | rm -rf $ORACLE_HOME/network/tools/help/mgr/help_* 18 | # Temp location 19 | rm -rf /tmp/* 20 | # Advised by Gerald Venzl 21 | echo "Cleanup Advised by Gerald Venzl" 22 | rm -rf $ORACLE_HOME/.patch_storage/* 23 | rm -rf $ORACLE_HOME/R/* 24 | rm -rf $ORACLE_HOME/assistants/* 25 | rm -rf $ORACLE_HOME/cfgtoollogs/* 26 | rm -rf $ORACLE_HOME/dmu/* 27 | rm -rf $ORACLE_HOME/inventory/* 28 | rm -rf $ORACLE_HOME/javavm/* 29 | rm -rf $ORACLE_HOME/md/* 30 | rm -rf $ORACLE_HOME/suptools/* 31 | echo "Additional Cleanup by Jacek Gebal" 32 | #additional cleanup- removes 1.2GB of DB-sources size - for small images only (no Java) 33 | rm -rf $ORACLE_HOME/OPatch/ #OPatch --> Patching 34 | rm -rf $ORACLE_HOME/crs/ #crs --> some clusterware single instance failover things 35 | rm -rf $ORACLE_HOME/ctx/ #ctx --> Oracle Text (also used for JSON index) 36 | rm -rf $ORACLE_HOME/cv/ #cv --> some patchign related stuff I think 37 | rm -rf $ORACLE_HOME/has/ #has --> no clue 38 | rm -rf $ORACLE_HOME/jdk/ #jdk --> Java jdk 39 | rm -rf $ORACLE_HOME/jlib/ #jlib --> Java libraries 40 | rm -rf $ORACLE_HOME/mgw/ #mgw --> Message gateway 41 | rm -rf $ORACLE_HOME/odbc/ #odbc --> ODBC 42 | rm -rf $ORACLE_HOME/olap/ #olap --> OLAP 43 | rm -rf $ORACLE_HOME/ord/ #ord --> Multimedia I think 44 | rm -rf $ORACLE_HOME/oui/ #oui --> Oracle Universal installer 45 | rm -rf $ORACLE_HOME/owm/ #owm --> Workspace manger 46 | rm -rf $ORACLE_HOME/perl/ #perl --> perl 47 | rm -rf $ORACLE_HOME/precomp/ #precomp --> Not much clue either 48 | rm -rf $ORACLE_HOME/sdk/ #sdk --> some more java I believe 49 | rm -rf $ORACLE_HOME/sqlpatch/ #sqlpatch --> patching related stuff 50 | rm -rf $ORACLE_HOME/usm/ #usm --> Universal storage management 51 | rm -rf $ORACLE_HOME/rdbms/admin/cdb_cloud 52 | rm -rf $ORACLE_HOME/rdbms/xml/em 53 | rm -rf $ORACLE_HOME/relnotes 54 | find $ORACLE_HOME -name '*.zip' -type f -delete 55 | find $ORACLE_HOME -name '*.txt' -type f -delete 56 | rm -rf $ORACLE_HOME/rdbms/admin 57 | find $ORACLE_HOME -name '*O' -type f -delete 58 | find $ORACLE_HOME -path '*/install/*' -delete 59 | find $ORACLE_HOME -name 'install' -type d -delete 60 | 61 | -------------------------------------------------------------------------------- /18.3-small/createPDB.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE CDDL 1.0 + GPL 2.0 3 | # 4 | # Copyright (c) 1982-2016 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: November, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Creates an Oracle Database based on following parameters: 9 | # $ORACLE_SID: The Oracle SID and CDB name 10 | # $ORACLE_PDB: The PDB name 11 | # 12 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 13 | # 14 | 15 | sqlplus / as sysdba <= v_extra_space_MB 43 | ) 44 | ) loop 45 | begin 46 | execute immediate i.stmnt; 47 | dbms_output.put_line('Executed: '||i.stmnt); 48 | exception when others then 49 | dbms_output.put_line('Failed to execute: '||i.stmnt); 50 | raise; 51 | end; 52 | end loop; 53 | end; 54 | / 55 | 56 | ALTER DATABASE DATAFILE '$PDB_BASE_DIR/$ORACLE_PDB/undotbs00.dbf' RESIZE 250M; 57 | ALTER DATABASE TEMPFILE '$PDB_BASE_DIR/$ORACLE_PDB/temp01.dbf' RESIZE 250M; 58 | 59 | exit; 60 | EOF 61 | 62 | # Fix issue with SQL tuning advisor auto-task getting invoked and failing on 18.3 SE2 DB. 63 | # This task should not be executed (as it is licensed for EE only) 64 | # ORA-12012: error on auto execute of job "SYS"."ORA\$AT_SQ_SQL_SW_3" 65 | # ORA-38153: Software edition is incompatible with SQL plan management. 66 | # Details: https://www.markusdba.net/?p=429 67 | sqlplus / as sysdba <= v_extra_space_MB 43 | ) 44 | ) loop 45 | begin 46 | execute immediate i.stmnt; 47 | dbms_output.put_line('Executed: '||i.stmnt); 48 | exception when others then 49 | dbms_output.put_line('Failed to execute: '||i.stmnt); 50 | raise; 51 | end; 52 | end loop; 53 | end; 54 | / 55 | 56 | ALTER DATABASE DATAFILE '$PDB_BASE_DIR/$ORACLE_PDB/undotbs00.dbf' RESIZE 250M; 57 | ALTER DATABASE TEMPFILE '$PDB_BASE_DIR/$ORACLE_PDB/temp01.dbf' RESIZE 250M; 58 | 59 | exit; 60 | EOF 61 | 62 | # Fix issue with SQL tuning advisor auto-task getting invoked and failing on 18.3 SE2 DB. 63 | # This task should not be executed (as it is licensed for EE only) 64 | # ORA-12012: error on auto execute of job "SYS"."ORA\$AT_SQ_SQL_SW_3" 65 | # ORA-38153: Software edition is incompatible with SQL plan management. 66 | # Details: https://www.markusdba.net/?p=429 67 | sqlplus / as sysdba < $ORACLE_HOME/network/admin/sqlnet.ora 47 | 48 | # Listener.ora 49 | echo "LISTENER = 50 | (DESCRIPTION_LIST = 51 | (DESCRIPTION = 52 | (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 53 | (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521)) 54 | ) 55 | ) 56 | 57 | DEDICATED_THROUGH_BROKER_LISTENER=ON 58 | DIAG_ADR_ENABLED = off 59 | " > $ORACLE_HOME/network/admin/listener.ora 60 | 61 | # Start LISTENER and run DBCA 62 | lsnrctl start && 63 | dbca -silent -createDatabase -responseFile $ORACLE_BASE/dbca.rsp || 64 | cat /opt/oracle/cfgtoollogs/dbca/$ORACLE_SID/$ORACLE_SID.log || 65 | cat /opt/oracle/cfgtoollogs/dbca/$ORACLE_SID.log 66 | 67 | echo "$ORACLE_SID=localhost:1521/$ORACLE_SID" >> $ORACLE_HOME/network/admin/tnsnames.ora 68 | #echo "$ORACLE_PDB= 69 | #(DESCRIPTION = 70 | # (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521)) 71 | # (CONNECT_DATA = 72 | # (SERVER = DEDICATED) 73 | # (SERVICE_NAME = $ORACLE_PDB) 74 | # ) 75 | #)" >> $ORACLE_HOME/network/admin/tnsnames.ora 76 | 77 | # Remove second control file, make PDB auto open 78 | sqlplus / as sysdba << EOF 79 | ALTER SYSTEM SET control_files='$ORACLE_BASE/oradata/$ORACLE_SID/control01.ctl' scope=spfile; 80 | --ALTER PLUGGABLE DATABASE $ORACLE_PDB SAVE STATE; 81 | exit; 82 | EOF 83 | 84 | # Remove temporary response file 85 | rm $ORACLE_BASE/dbca.rsp 86 | 87 | # Make dir for PDBs 88 | #mkdir -p $PDB_BASE_DIR 89 | -------------------------------------------------------------------------------- /19.3/createDB.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE UPL 1.0 3 | # 4 | # Copyright (c) 1982-2018 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: November, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Creates an Oracle Database based on following parameters: 9 | # $ORACLE_SID: The Oracle SID and CDB name 10 | # $ORACLE_PDB: The PDB name 11 | # $ORACLE_PWD: The Oracle password 12 | # 13 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 14 | # 15 | 16 | set -e 17 | 18 | # Check whether ORACLE_SID is passed on 19 | export ORACLE_SID=${1:-ORCLCDB} 20 | 21 | # Check whether ORACLE_PDB is passed on 22 | export ORACLE_PDB=${2:-ORCLPDB1} 23 | 24 | # Auto generate ORACLE PWD 25 | #ORACLE_PWD="`openssl rand -base64 8`1" 26 | echo "ORACLE AUTO GENERATED PASSWORD FOR SYS, SYSTEM AND PDBAMIN: $ORACLE_PWD"; 27 | 28 | # Replace place holders in response file 29 | cp $ORACLE_BASE/$CONFIG_RSP $ORACLE_BASE/dbca.rsp 30 | sed -i -e "s|###ORACLE_SID###|$ORACLE_SID|g" $ORACLE_BASE/dbca.rsp 31 | sed -i -e "s|###ORACLE_PDB###|$ORACLE_PDB|g" $ORACLE_BASE/dbca.rsp 32 | sed -i -e "s|###ORACLE_PWD###|$ORACLE_PWD|g" $ORACLE_BASE/dbca.rsp 33 | sed -i -e "s|###ORACLE_CHARACTERSET###|$ORACLE_CHARACTERSET|g" $ORACLE_BASE/dbca.rsp 34 | 35 | # If there is greater than 8 CPUs default back to dbca memory calculations 36 | # dbca will automatically pick 40% of available memory for Oracle DB 37 | # The minimum of 2G is for small environments to guarantee that Oracle has enough memory to function 38 | # However, bigger environment can and should use more of the available memory 39 | # This is due to Github Issue #307 40 | if [ `nproc` -gt 8 ]; then 41 | sed -i -e "s|totalMemory=2048||g" $ORACLE_BASE/dbca.rsp 42 | fi; 43 | 44 | # Create network related config files (sqlnet.ora, tnsnames.ora, listener.ora) 45 | mkdir -p $ORACLE_HOME/network/admin 46 | echo "NAME.DIRECTORY_PATH= (TNSNAMES, EZCONNECT, HOSTNAME)" > $ORACLE_HOME/network/admin/sqlnet.ora 47 | 48 | # Listener.ora 49 | echo "LISTENER = 50 | (DESCRIPTION_LIST = 51 | (DESCRIPTION = 52 | (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 53 | (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521)) 54 | ) 55 | ) 56 | 57 | DEDICATED_THROUGH_BROKER_LISTENER=ON 58 | DIAG_ADR_ENABLED = off 59 | " > $ORACLE_HOME/network/admin/listener.ora 60 | 61 | # Start LISTENER and run DBCA 62 | lsnrctl start && 63 | dbca -silent -createDatabase -responseFile $ORACLE_BASE/dbca.rsp || 64 | cat /opt/oracle/cfgtoollogs/dbca/$ORACLE_SID/$ORACLE_SID.log || 65 | cat /opt/oracle/cfgtoollogs/dbca/$ORACLE_SID.log 66 | 67 | echo "$ORACLE_SID=localhost:1521/$ORACLE_SID" >> $ORACLE_HOME/network/admin/tnsnames.ora 68 | #echo "$ORACLE_PDB= 69 | #(DESCRIPTION = 70 | # (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521)) 71 | # (CONNECT_DATA = 72 | # (SERVER = DEDICATED) 73 | # (SERVICE_NAME = $ORACLE_PDB) 74 | # ) 75 | #)" >> $ORACLE_HOME/network/admin/tnsnames.ora 76 | 77 | # Remove second control file, make PDB auto open 78 | sqlplus / as sysdba << EOF 79 | ALTER SYSTEM SET control_files='$ORACLE_BASE/oradata/$ORACLE_SID/control01.ctl' scope=spfile; 80 | --ALTER PLUGGABLE DATABASE $ORACLE_PDB SAVE STATE; 81 | exit; 82 | EOF 83 | 84 | # Remove temporary response file 85 | rm $ORACLE_BASE/dbca.rsp 86 | 87 | # Make dir for PDBs 88 | #mkdir -p $PDB_BASE_DIR 89 | -------------------------------------------------------------------------------- /12.2.0.1-small/cleanupDB.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | sqlplus / as sysdba << EOF 5 | exec dbms_lock.sleep(30); 6 | --Kill sessions holding rollback segments 7 | 8 | var kill_sess_holding_rollback varchar2(4000); 9 | 10 | begin 11 | :kill_sess_holding_rollback := q'[ 12 | begin 13 | for x in ( 14 | select sid||','||serial# sid_serial, username, segment_name 15 | from v\$transaction,dba_rollback_segs,v\$session 16 | where saddr=ses_addr and xidusn=segment_id 17 | ) loop 18 | dbms_output.put_line('Session holding lock: '||x.sid_serial||','||x.username||','||x.segment_name); 19 | begin 20 | dbms_output.put_line('about to execute: '||'alter system kill session '''||x.sid_serial||''''); 21 | execute immediate 'alter system kill session '''||x.sid_serial||''''; 22 | exception when others then 23 | dbms_output.put_line('sqlerrm: '||sqlerrm); 24 | end; 25 | end loop; 26 | end;]'; 27 | end; 28 | / 29 | 30 | EXEC EXECUTE IMMEDIATE :kill_sess_holding_rollback; 31 | --minimize size of UNDO TS 32 | CREATE UNDO TABLESPACE undotbs0 DATAFILE '$ORACLE_BASE/oradata/$ORACLE_SID/undotbs00.dbf' SIZE 1M AUTOEXTEND ON NEXT 1M; 33 | ALTER SYSTEM SET UNDO_TABLESPACE=undotbs0; 34 | DROP TABLESPACE undotbs1 INCLUDING CONTENTS AND DATAFILES; 35 | --minimize size of TEMP 36 | ALTER TABLESPACE temp SHRINK SPACE; 37 | 38 | ALTER DATABASE ADD LOGFILE GROUP 4 ('$ORACLE_BASE/oradata/$ORACLE_SID/redo04.log') SIZE 5M; 39 | ALTER DATABASE ADD LOGFILE GROUP 5 ('$ORACLE_BASE/oradata/$ORACLE_SID/redo05.log') SIZE 5M; 40 | ALTER DATABASE ADD LOGFILE GROUP 6 ('$ORACLE_BASE/oradata/$ORACLE_SID/redo06.log') SIZE 5M; 41 | 42 | --Force XDB initialization in DB 43 | CREATE TABLE TEMP_XDB_INIT(DUMMY XMLTYPE); 44 | DROP TABLE TEMP_XDB_INIT; 45 | 46 | declare 47 | current_log_group integer; 48 | begin 49 | loop 50 | select group# into current_log_group from v\$log where status = 'CURRENT'; 51 | exit when current_log_group > 3; 52 | execute immediate 'ALTER SYSTEM SWITCH LOGFILE'; 53 | end loop; 54 | end; 55 | / 56 | 57 | ALTER SYSTEM CHECKPOINT GLOBAL; 58 | 59 | ALTER DATABASE DROP LOGFILE GROUP 1; 60 | ALTER DATABASE DROP LOGFILE GROUP 2; 61 | ALTER DATABASE DROP LOGFILE GROUP 3; 62 | 63 | exit; 64 | EOF 65 | 66 | rm -f $ORACLE_BASE/oradata/$ORACLE_SID/redo01.log 67 | rm -f $ORACLE_BASE/oradata/$ORACLE_SID/redo02.log 68 | rm -f $ORACLE_BASE/oradata/$ORACLE_SID/redo03.log 69 | 70 | if [ "$CREATE_PDB" == "true" ]; then 71 | 72 | sqlplus / as sysdba << EOF 73 | --PDBSEED 74 | ALTER PLUGGABLE DATABASE PDB\$SEED CLOSE; 75 | ALTER PLUGGABLE DATABASE PDB\$SEED OPEN READ WRITE; 76 | 77 | ALTER SESSION SET CONTAINER = PDB\$SEED; 78 | --Initialize XDB in PDBSEED 79 | CREATE TABLE TEMP_XDB_INIT(DUMMY XMLTYPE); 80 | DROP TABLE TEMP_XDB_INIT; 81 | 82 | EXEC EXECUTE IMMEDIATE :kill_sess_holding_rollback; 83 | --minimize size of UNDO TS 84 | CREATE UNDO TABLESPACE undotbs0 DATAFILE '$ORACLE_BASE/oradata/$ORACLE_SID/pdbseed/undotbs00.dbf' SIZE 1M AUTOEXTEND ON NEXT 1M; 85 | ALTER SYSTEM SET UNDO_TABLESPACE=undotbs0; 86 | DROP TABLESPACE undotbs1 INCLUDING CONTENTS AND DATAFILES; 87 | --minimize size of TEMP 88 | ALTER TABLESPACE temp SHRINK SPACE; 89 | 90 | exit; 91 | EOF 92 | 93 | fi; 94 | -------------------------------------------------------------------------------- /12.2.0.1/Dockerfile: -------------------------------------------------------------------------------- 1 | # LICENSE CDDL 1.0 + GPL 2.0 2 | # 3 | # Copyright (c) 1982-2017 Oracle and/or its affiliates. All rights reserved. 4 | # 5 | # ORACLE DOCKERFILES PROJECT 6 | # -------------------------- 7 | # This is the Dockerfile for Oracle Database 12c Release 1 Enterprise Edition 8 | # 9 | # REQUIRED FILES TO BUILD THIS IMAGE 10 | # ---------------------------------- 11 | # (1) linuxx64_12201_database.zip 12 | # Download Oracle Database 12c Release 12 Standard Edition 2 for Linux x64 13 | # from http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 14 | # 15 | # HOW TO BUILD THIS IMAGE 16 | # ----------------------- 17 | # Put all downloaded files in the same directory as this Dockerfile 18 | # Run: 19 | # $ docker build -t oracle/database:12.2.0.1-se2 . 20 | # 21 | # Pull base image 22 | # --------------- 23 | FROM oraclelinux:7-slim 24 | 25 | # Maintainer 26 | # ---------- 27 | LABEL maintainer="Pavel Kaplya " \ 28 | description="Oracle 12.2 database. Based on official docker images by Gerald Venzl (Oracle) - \ 29 | https://github.com/oracle/docker-images/tree/master/OracleDatabase/SingleInstance/dockerfiles" 30 | 31 | # Environment variables required for this build (do NOT change) 32 | # ------------------------------------------------------------- 33 | ENV ORACLE_BASE=/opt/oracle \ 34 | ORACLE_HOME=/opt/oracle/product/12.2.0.1/dbhome_1 \ 35 | PDB_BASE_DIR=/opt/oracle/oradata/pdbs \ 36 | INSTALL_FILE_1="linuxx64_12201_database.zip" \ 37 | INSTALL_RSP="db_inst.rsp" \ 38 | CONFIG_RSP="dbca.rsp.tmpl" \ 39 | PWD_FILE="setPassword.sh" \ 40 | PERL_INSTALL_FILE="installPerl.sh" \ 41 | RUN_FILE="runOracle.sh" \ 42 | START_FILE="startDB.sh" \ 43 | STOP_FILE="stopDB.sh" \ 44 | CREATE_DB_FILE="createDB.sh" \ 45 | CREATE_PDB_FILE="createPDB.sh" \ 46 | SETUP_LINUX_FILE="setupLinuxEnv.sh" \ 47 | CLEANUP_FILE="cleanup.sh" \ 48 | CHECK_SPACE_FILE="checkSpace.sh" \ 49 | INSTALL_DB_BINARIES_FILE="installDBBinaries.sh" \ 50 | ORACLE_PWD="oracle" \ 51 | ORACLE_PDB="ORCLPDB1" 52 | 53 | # Use second ENV so that variable get substituted 54 | ENV INSTALL_DIR=$ORACLE_BASE/install \ 55 | PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch/:/usr/sbin:$PATH \ 56 | LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib \ 57 | CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib 58 | 59 | # Copy binaries 60 | # ------------- 61 | RUN echo COPYING BINS 62 | COPY $INSTALL_FILE_1 $INSTALL_RSP $PERL_INSTALL_FILE $SETUP_LINUX_FILE $CHECK_SPACE_FILE $INSTALL_DB_BINARIES_FILE $INSTALL_DIR/ 63 | COPY $RUN_FILE $START_FILE $STOP_FILE $CREATE_DB_FILE $CREATE_PDB_FILE $CONFIG_RSP $PWD_FILE $CLEANUP_FILE $ORACLE_BASE/ 64 | 65 | RUN chmod ug+x $INSTALL_DIR/*.sh && \ 66 | sync && \ 67 | $INSTALL_DIR/$CHECK_SPACE_FILE && \ 68 | $INSTALL_DIR/$SETUP_LINUX_FILE 69 | 70 | # Install DB software binaries 71 | USER oracle 72 | RUN $INSTALL_DIR/$INSTALL_DB_BINARIES_FILE SE2 73 | 74 | USER root 75 | RUN $ORACLE_BASE/oraInventory/orainstRoot.sh && \ 76 | $ORACLE_HOME/root.sh && \ 77 | rm -rf $INSTALL_DIR 78 | 79 | USER oracle 80 | RUN $ORACLE_BASE/$CREATE_DB_FILE && \ 81 | $ORACLE_BASE/$STOP_FILE && \ 82 | $ORACLE_BASE/$CLEANUP_FILE 83 | 84 | WORKDIR /home/oracle 85 | 86 | VOLUME ["$PDB_BASE_DIR"] 87 | EXPOSE 1521 5500 88 | 89 | # Define default command to start Oracle Database. 90 | CMD $ORACLE_BASE/$RUN_FILE 91 | -------------------------------------------------------------------------------- /18.3-small/cleanupDB.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | sqlplus / as sysdba << EOF 5 | exec dbms_lock.sleep(30); 6 | 7 | --Kill sessions holding rollback segments 8 | var kill_sess_holding_rollback varchar2(4000); 9 | 10 | begin 11 | :kill_sess_holding_rollback := q'[ 12 | begin 13 | for x in ( 14 | select sid||','||serial# sid_serial, username, segment_name 15 | from v\$transaction,dba_rollback_segs,v\$session 16 | where saddr=ses_addr and xidusn=segment_id 17 | ) loop 18 | dbms_output.put_line('Session holding lock: '||x.sid_serial||','||x.username||','||x.segment_name); 19 | begin 20 | dbms_output.put_line('about to execute: '||'alter system kill session '''||x.sid_serial||''''); 21 | execute immediate 'alter system kill session '''||x.sid_serial||''''; 22 | exception when others then 23 | dbms_output.put_line('sqlerrm: '||sqlerrm); 24 | end; 25 | end loop; 26 | end;]'; 27 | end; 28 | / 29 | 30 | EXEC EXECUTE IMMEDIATE :kill_sess_holding_rollback; 31 | --minimize size of UNDO TS 32 | CREATE UNDO TABLESPACE undotbs0 DATAFILE '$ORACLE_BASE/oradata/$ORACLE_SID/undotbs00.dbf' SIZE 1M AUTOEXTEND ON NEXT 1M; 33 | ALTER SYSTEM SET UNDO_TABLESPACE=undotbs0; 34 | DROP TABLESPACE undotbs1 INCLUDING CONTENTS AND DATAFILES; 35 | --minimize size of TEMP 36 | ALTER TABLESPACE temp SHRINK SPACE; 37 | 38 | ALTER DATABASE ADD LOGFILE GROUP 4 ('$ORACLE_BASE/oradata/$ORACLE_SID/redo04.log') SIZE 5M; 39 | ALTER DATABASE ADD LOGFILE GROUP 5 ('$ORACLE_BASE/oradata/$ORACLE_SID/redo05.log') SIZE 5M; 40 | ALTER DATABASE ADD LOGFILE GROUP 6 ('$ORACLE_BASE/oradata/$ORACLE_SID/redo06.log') SIZE 5M; 41 | 42 | --Force XDB initialization in DB 43 | CREATE TABLE TEMP_XDB_INIT(DUMMY XMLTYPE); 44 | DROP TABLE TEMP_XDB_INIT; 45 | 46 | declare 47 | current_log_group integer; 48 | begin 49 | loop 50 | select group# into current_log_group from v\$log where status = 'CURRENT'; 51 | exit when current_log_group > 3; 52 | execute immediate 'ALTER SYSTEM SWITCH LOGFILE'; 53 | end loop; 54 | end; 55 | / 56 | 57 | ALTER SYSTEM CHECKPOINT GLOBAL; 58 | 59 | ALTER DATABASE DROP LOGFILE GROUP 1; 60 | ALTER DATABASE DROP LOGFILE GROUP 2; 61 | ALTER DATABASE DROP LOGFILE GROUP 3; 62 | 63 | exit; 64 | EOF 65 | 66 | rm -f $ORACLE_BASE/oradata/$ORACLE_SID/redo01.log 67 | rm -f $ORACLE_BASE/oradata/$ORACLE_SID/redo02.log 68 | rm -f $ORACLE_BASE/oradata/$ORACLE_SID/redo03.log 69 | 70 | if [ "$CREATE_PDB" == "true" ]; then 71 | 72 | sqlplus / as sysdba << EOF 73 | --PDBSEED 74 | ALTER PLUGGABLE DATABASE PDB\$SEED CLOSE; 75 | ALTER PLUGGABLE DATABASE PDB\$SEED OPEN READ WRITE; 76 | 77 | ALTER SESSION SET CONTAINER = PDB\$SEED; 78 | --Initialize XDB in PDBSEED 79 | CREATE TABLE TEMP_XDB_INIT(DUMMY XMLTYPE); 80 | DROP TABLE TEMP_XDB_INIT; 81 | 82 | EXEC EXECUTE IMMEDIATE :kill_sess_holding_rollback; 83 | --minimize size of UNDO TS 84 | CREATE UNDO TABLESPACE undotbs0 DATAFILE '$ORACLE_BASE/oradata/$ORACLE_SID/pdbseed/undotbs00.dbf' SIZE 1M AUTOEXTEND ON NEXT 1M; 85 | ALTER SYSTEM SET UNDO_TABLESPACE=undotbs0; 86 | DROP TABLESPACE undotbs1 INCLUDING CONTENTS AND DATAFILES; 87 | --minimize size of TEMP 88 | ALTER TABLESPACE temp SHRINK SPACE; 89 | 90 | exit; 91 | EOF 92 | 93 | fi; 94 | -------------------------------------------------------------------------------- /19.3-small/cleanupDB.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | sqlplus / as sysdba << EOF 5 | exec dbms_lock.sleep(30); 6 | 7 | --Kill sessions holding rollback segments 8 | var kill_sess_holding_rollback varchar2(4000); 9 | 10 | begin 11 | :kill_sess_holding_rollback := q'[ 12 | begin 13 | for x in ( 14 | select sid||','||serial# sid_serial, username, segment_name 15 | from v\$transaction,dba_rollback_segs,v\$session 16 | where saddr=ses_addr and xidusn=segment_id 17 | ) loop 18 | dbms_output.put_line('Session holding lock: '||x.sid_serial||','||x.username||','||x.segment_name); 19 | begin 20 | dbms_output.put_line('about to execute: '||'alter system kill session '''||x.sid_serial||''''); 21 | execute immediate 'alter system kill session '''||x.sid_serial||''''; 22 | exception when others then 23 | dbms_output.put_line('sqlerrm: '||sqlerrm); 24 | end; 25 | end loop; 26 | end;]'; 27 | end; 28 | / 29 | 30 | EXEC EXECUTE IMMEDIATE :kill_sess_holding_rollback; 31 | --minimize size of UNDO TS 32 | CREATE UNDO TABLESPACE undotbs0 DATAFILE '$ORACLE_BASE/oradata/$ORACLE_SID/undotbs00.dbf' SIZE 1M AUTOEXTEND ON NEXT 1M; 33 | ALTER SYSTEM SET UNDO_TABLESPACE=undotbs0; 34 | DROP TABLESPACE undotbs1 INCLUDING CONTENTS AND DATAFILES; 35 | --minimize size of TEMP 36 | ALTER TABLESPACE temp SHRINK SPACE; 37 | 38 | ALTER DATABASE ADD LOGFILE GROUP 4 ('$ORACLE_BASE/oradata/$ORACLE_SID/redo04.log') SIZE 5M; 39 | ALTER DATABASE ADD LOGFILE GROUP 5 ('$ORACLE_BASE/oradata/$ORACLE_SID/redo05.log') SIZE 5M; 40 | ALTER DATABASE ADD LOGFILE GROUP 6 ('$ORACLE_BASE/oradata/$ORACLE_SID/redo06.log') SIZE 5M; 41 | 42 | --Force XDB initialization in DB 43 | CREATE TABLE TEMP_XDB_INIT(DUMMY XMLTYPE); 44 | DROP TABLE TEMP_XDB_INIT; 45 | 46 | declare 47 | current_log_group integer; 48 | begin 49 | loop 50 | select group# into current_log_group from v\$log where status = 'CURRENT'; 51 | exit when current_log_group > 3; 52 | execute immediate 'ALTER SYSTEM SWITCH LOGFILE'; 53 | end loop; 54 | end; 55 | / 56 | 57 | ALTER SYSTEM CHECKPOINT GLOBAL; 58 | 59 | ALTER DATABASE DROP LOGFILE GROUP 1; 60 | ALTER DATABASE DROP LOGFILE GROUP 2; 61 | ALTER DATABASE DROP LOGFILE GROUP 3; 62 | 63 | exit; 64 | EOF 65 | 66 | rm -f $ORACLE_BASE/oradata/$ORACLE_SID/redo01.log 67 | rm -f $ORACLE_BASE/oradata/$ORACLE_SID/redo02.log 68 | rm -f $ORACLE_BASE/oradata/$ORACLE_SID/redo03.log 69 | 70 | if [ "$CREATE_PDB" == "true" ]; then 71 | 72 | sqlplus / as sysdba << EOF 73 | --PDBSEED 74 | ALTER PLUGGABLE DATABASE PDB\$SEED CLOSE; 75 | ALTER PLUGGABLE DATABASE PDB\$SEED OPEN READ WRITE; 76 | 77 | ALTER SESSION SET CONTAINER = PDB\$SEED; 78 | --Initialize XDB in PDBSEED 79 | CREATE TABLE TEMP_XDB_INIT(DUMMY XMLTYPE); 80 | DROP TABLE TEMP_XDB_INIT; 81 | 82 | EXEC EXECUTE IMMEDIATE :kill_sess_holding_rollback; 83 | --minimize size of UNDO TS 84 | CREATE UNDO TABLESPACE undotbs0 DATAFILE '$ORACLE_BASE/oradata/$ORACLE_SID/pdbseed/undotbs00.dbf' SIZE 1M AUTOEXTEND ON NEXT 1M; 85 | ALTER SYSTEM SET UNDO_TABLESPACE=undotbs0; 86 | DROP TABLESPACE undotbs1 INCLUDING CONTENTS AND DATAFILES; 87 | --minimize size of TEMP 88 | ALTER TABLESPACE temp SHRINK SPACE; 89 | 90 | exit; 91 | EOF 92 | 93 | fi; 94 | -------------------------------------------------------------------------------- /12.1.0.2-small/cleanupDB.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | sqlplus / as sysdba << EOF 5 | exec dbms_lock.sleep(30); 6 | 7 | --Kill sessions holding rollback segments 8 | var kill_sess_holding_rollback varchar2(4000); 9 | 10 | begin 11 | :kill_sess_holding_rollback := q'[ 12 | begin 13 | for x in ( 14 | select sid||','||serial# sid_serial, username, segment_name 15 | from v\$transaction,dba_rollback_segs,v\$session 16 | where saddr=ses_addr and xidusn=segment_id 17 | ) loop 18 | dbms_output.put_line('Session holding lock: '||x.sid_serial||','||x.username||','||x.segment_name); 19 | begin 20 | dbms_output.put_line('about to execute: '||'alter system kill session '''||x.sid_serial||''''); 21 | execute immediate 'alter system kill session '''||x.sid_serial||''''; 22 | exception when others then 23 | dbms_output.put_line('sqlerrm: '||sqlerrm); 24 | end; 25 | end loop; 26 | end;]'; 27 | end; 28 | / 29 | 30 | EXEC EXECUTE IMMEDIATE :kill_sess_holding_rollback; 31 | --minimize size of UNDO TS 32 | CREATE UNDO TABLESPACE undotbs0 DATAFILE '$ORACLE_BASE/oradata/$ORACLE_SID/undotbs00.dbf' SIZE 1M AUTOEXTEND ON NEXT 1M; 33 | ALTER SYSTEM SET UNDO_TABLESPACE=undotbs0; 34 | DROP TABLESPACE undotbs1 INCLUDING CONTENTS AND DATAFILES; 35 | --minimize size of TEMP 36 | ALTER TABLESPACE temp SHRINK SPACE; 37 | 38 | ALTER DATABASE ADD LOGFILE GROUP 4 ('$ORACLE_BASE/oradata/$ORACLE_SID/redo04.log') SIZE 5M; 39 | ALTER DATABASE ADD LOGFILE GROUP 5 ('$ORACLE_BASE/oradata/$ORACLE_SID/redo05.log') SIZE 5M; 40 | ALTER DATABASE ADD LOGFILE GROUP 6 ('$ORACLE_BASE/oradata/$ORACLE_SID/redo06.log') SIZE 5M; 41 | 42 | --Force XDB initialization in DB 43 | CREATE TABLE TEMP_XDB_INIT(DUMMY XMLTYPE); 44 | DROP TABLE TEMP_XDB_INIT; 45 | 46 | declare 47 | current_log_group integer; 48 | begin 49 | loop 50 | select group# into current_log_group from v\$log where status = 'CURRENT'; 51 | exit when current_log_group > 3; 52 | execute immediate 'ALTER SYSTEM SWITCH LOGFILE'; 53 | end loop; 54 | end; 55 | / 56 | 57 | ALTER SYSTEM CHECKPOINT GLOBAL; 58 | 59 | ALTER DATABASE DROP LOGFILE GROUP 1; 60 | ALTER DATABASE DROP LOGFILE GROUP 2; 61 | ALTER DATABASE DROP LOGFILE GROUP 3; 62 | 63 | exit; 64 | EOF 65 | 66 | rm -f $ORACLE_BASE/oradata/$ORACLE_SID/redo01.log 67 | rm -f $ORACLE_BASE/oradata/$ORACLE_SID/redo02.log 68 | rm -f $ORACLE_BASE/oradata/$ORACLE_SID/redo03.log 69 | 70 | if [ "$CREATE_PDB" == "true" ]; then 71 | 72 | sqlplus / as sysdba << EOF 73 | --PDBSEED 74 | ALTER PLUGGABLE DATABASE PDB\$SEED CLOSE; 75 | ALTER PLUGGABLE DATABASE PDB\$SEED OPEN READ WRITE; 76 | 77 | ALTER SESSION SET CONTAINER = PDB\$SEED; 78 | --Initialize XDB in PDBSEED 79 | CREATE TABLE TEMP_XDB_INIT(DUMMY XMLTYPE); 80 | DROP TABLE TEMP_XDB_INIT; 81 | 82 | EXEC EXECUTE IMMEDIATE :kill_sess_holding_rollback; 83 | --minimize size of UNDO TS 84 | CREATE UNDO TABLESPACE undotbs0 DATAFILE '$ORACLE_BASE/oradata/$ORACLE_SID/pdbseed/undotbs00.dbf' SIZE 1M AUTOEXTEND ON NEXT 1M; 85 | ALTER SYSTEM SET UNDO_TABLESPACE=undotbs0; 86 | DROP TABLESPACE undotbs1 INCLUDING CONTENTS AND DATAFILES; 87 | --minimize size of TEMP 88 | ALTER TABLESPACE temp SHRINK SPACE; 89 | 90 | exit; 91 | EOF 92 | 93 | fi; 94 | -------------------------------------------------------------------------------- /11.2.0.2-xe-small/Dockerfile: -------------------------------------------------------------------------------- 1 | # LICENSE UPL 1.0 2 | # 3 | # Copyright (c) 1982-2016 Oracle and/or its affiliates. All rights reserved. 4 | # 5 | # ORACLE DOCKERFILES PROJECT 6 | # -------------------------- 7 | # This is the Dockerfile for Oracle Database 11g Release 2 Express Edition 8 | # 9 | # REQUIRED FILES TO BUILD THIS IMAGE 10 | # ---------------------------------- 11 | # (1) oracle-xe-11.2.0-1.0.x86_64.rpm.zip 12 | # Download Oracle Database 11g Release 2 Express Edition for Linux x64 13 | # from http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html 14 | # 15 | # HOW TO BUILD THIS IMAGE 16 | # ----------------------- 17 | # Put the downloaded file in the same directory as this Dockerfile 18 | # Run: 19 | # $ docker build -t oracle/database:11.2.0.2-xe . 20 | # 21 | # IMPORTANT 22 | # --------- 23 | # Oracle XE requires Docker 1.10.0 and above: 24 | # Oracle XE uses shared memory for MEMORY_TARGET and needs at least 1 GB. 25 | # Docker only supports --shm-size since Docker 1.10.0 26 | # 27 | # Pull base image 28 | # --------------- 29 | FROM oraclelinux:7-slim 30 | 31 | # Maintainer 32 | # ---------- 33 | MAINTAINER Gerald Venzl 34 | 35 | # Environment variables required for this build (do NOT change) 36 | # ------------------------------------------------------------- 37 | ENV ORACLE_BASE=/u01/app/oracle \ 38 | ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe \ 39 | ORACLE_SID=XE \ 40 | INSTALL_FILE_1="oracle-xe-11.2.0-1.0.x86_64.rpm.zip" \ 41 | INSTALL_DIR="$HOME/install" \ 42 | CONFIG_RSP="xe.rsp" \ 43 | RUN_FILE="runOracle.sh" \ 44 | ORACLE_PWD="oracle" \ 45 | PWD_FILE="setPassword.sh" \ 46 | CHECK_DB_FILE="checkDBStatus.sh" 47 | 48 | # Use second ENV so that variable get substituted 49 | ENV PATH=$ORACLE_HOME/bin:$PATH 50 | 51 | # Copy binaries 52 | # ------------- 53 | COPY $INSTALL_FILE_1 $CONFIG_RSP $RUN_FILE $PWD_FILE $CHECK_DB_FILE $INSTALL_DIR/ 54 | 55 | # Install Oracle Express Edition 56 | # ------------------------------ 57 | 58 | RUN yum -y install unzip libaio bc initscripts net-tools openssl && \ 59 | rm -rf /var/cache/yum && \ 60 | cd $INSTALL_DIR && \ 61 | unzip $INSTALL_FILE_1 && \ 62 | rm $INSTALL_FILE_1 && \ 63 | cat() { declare -A PROC=(["/proc/sys/kernel/shmmax"]=4294967295 ["/proc/sys/kernel/shmmni"]=4096 ["/proc/sys/kernel/shmall"]=2097152 ["/proc/sys/fs/file-max"]=6815744); [[ ${PROC[$1]} == "" ]] && /usr/bin/cat $* || echo ${PROC[$1]}; } && \ 64 | free() { echo "Swap: 2048 0 2048"; } && \ 65 | export -f cat free && \ 66 | rpm -i Disk1/*.rpm && \ 67 | unset -f cat free && \ 68 | mkdir -p $ORACLE_BASE/scripts/setup && \ 69 | mkdir $ORACLE_BASE/scripts/startup && \ 70 | ln -s $ORACLE_BASE/scripts /docker-entrypoint-initdb.d && \ 71 | mkdir $ORACLE_BASE/oradata && \ 72 | chown -R oracle:dba $ORACLE_BASE && \ 73 | mv $INSTALL_DIR/$CONFIG_RSP $ORACLE_BASE/ && \ 74 | mv $INSTALL_DIR/$RUN_FILE $ORACLE_BASE/ && \ 75 | mv $INSTALL_DIR/$PWD_FILE $ORACLE_BASE/ && \ 76 | mv $INSTALL_DIR/$CHECK_DB_FILE $ORACLE_BASE/ && \ 77 | ln -s $ORACLE_BASE/$PWD_FILE / && \ 78 | cd $HOME && \ 79 | rm -rf $INSTALL_DIR && \ 80 | chmod ug+x $ORACLE_BASE/*.sh 81 | 82 | VOLUME ["$ORACLE_BASE/oradata"] 83 | EXPOSE 1521 8080 84 | HEALTHCHECK --interval=1m --start-period=5m \ 85 | CMD "$ORACLE_BASE/$CHECK_DB_FILE" >/dev/null || exit 1 86 | 87 | CMD exec $ORACLE_BASE/$RUN_FILE 88 | -------------------------------------------------------------------------------- /12.1.0.2/Dockerfile: -------------------------------------------------------------------------------- 1 | # LICENSE CDDL 1.0 + GPL 2.0 2 | # 3 | # Copyright (c) 1982-2017 Oracle and/or its affiliates. All rights reserved. 4 | # 5 | # ORACLE DOCKERFILES PROJECT 6 | # -------------------------- 7 | # This is the Dockerfile for Oracle Database 12c Release 1 Standard Edition 2 8 | # 9 | # REQUIRED FILES TO BUILD THIS IMAGE 10 | # ---------------------------------- 11 | # (1) linuxamd64_12102_database_se2_1of2.zip 12 | # linuxamd64_12102_database_se2_2of2.zip 13 | # Download Oracle Database 12c Release 1 Standard Edition 2 for Linux x64 14 | # from http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 15 | # 16 | # HOW TO BUILD THIS IMAGE 17 | # ----------------------- 18 | # Put all downloaded files in the same directory as this Dockerfile 19 | # Run: 20 | # $ docker build -t oracle/database:12.1.0.2-se2 . 21 | # 22 | # Pull base image 23 | # --------------- 24 | FROM oraclelinux:7-slim 25 | 26 | # Maintainer 27 | # ---------- 28 | LABEL maintainer="Pavel Kaplya " \ 29 | description="Oracle 12.1 database. Based on official docker images by Gerald Venzl (Oracle) - \ 30 | https://github.com/oracle/docker-images/tree/master/OracleDatabase/SingleInstance/dockerfiles" 31 | 32 | # Environment variables required for this build (do NOT change) 33 | # ------------------------------------------------------------- 34 | ENV ORACLE_BASE=/opt/oracle \ 35 | ORACLE_HOME=/opt/oracle/product/12.1.0.2/dbhome_1 \ 36 | PDB_BASE_DIR=/opt/oracle/oradata/pdbs \ 37 | INSTALL_FILE_1="linuxamd64_12102_database_se2_1of2.zip" \ 38 | INSTALL_FILE_2="linuxamd64_12102_database_se2_2of2.zip" \ 39 | INSTALL_RSP="db_inst.rsp" \ 40 | CONFIG_RSP="dbca.rsp.tmpl" \ 41 | PWD_FILE="setPassword.sh" \ 42 | PERL_INSTALL_FILE="installPerl.sh" \ 43 | RUN_FILE="runOracle.sh" \ 44 | START_FILE="startDB.sh" \ 45 | STOP_FILE="stopDB.sh" \ 46 | CREATE_DB_FILE="createDB.sh" \ 47 | CREATE_PDB_FILE="createPDB.sh" \ 48 | SETUP_LINUX_FILE="setupLinuxEnv.sh" \ 49 | CLEANUP_FILE="cleanup.sh" \ 50 | CHECK_SPACE_FILE="checkSpace.sh" \ 51 | INSTALL_DB_BINARIES_FILE="installDBBinaries.sh" \ 52 | ORACLE_PWD="oracle" \ 53 | ORACLE_PDB="ORCLPDB1" 54 | 55 | # Use second ENV so that variable get substituted 56 | ENV INSTALL_DIR=$ORACLE_BASE/install \ 57 | PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch/:/usr/sbin:$PATH \ 58 | LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib \ 59 | CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib 60 | 61 | # Copy binaries 62 | # ------------- 63 | COPY $INSTALL_FILE_1 $INSTALL_FILE_2 $INSTALL_RSP $PERL_INSTALL_FILE $SETUP_LINUX_FILE $CHECK_SPACE_FILE $INSTALL_DB_BINARIES_FILE $INSTALL_DIR/ 64 | COPY $RUN_FILE $START_FILE $STOP_FILE $CREATE_DB_FILE $CREATE_PDB_FILE $CONFIG_RSP $PWD_FILE $CLEANUP_FILE $ORACLE_BASE/ 65 | 66 | RUN chmod ug+x $INSTALL_DIR/*.sh && \ 67 | sync && \ 68 | $INSTALL_DIR/$CHECK_SPACE_FILE && \ 69 | $INSTALL_DIR/$SETUP_LINUX_FILE 70 | 71 | # Install DB software binaries 72 | USER oracle 73 | RUN $INSTALL_DIR/$INSTALL_DB_BINARIES_FILE SE2 74 | 75 | USER root 76 | RUN $ORACLE_BASE/oraInventory/orainstRoot.sh && \ 77 | $ORACLE_HOME/root.sh && \ 78 | rm -rf $INSTALL_DIR 79 | 80 | USER oracle 81 | RUN $ORACLE_BASE/$CREATE_DB_FILE && \ 82 | $ORACLE_BASE/$STOP_FILE && \ 83 | $ORACLE_BASE/$CLEANUP_FILE 84 | 85 | WORKDIR /home/oracle 86 | 87 | VOLUME ["$PDB_BASE_DIR"] 88 | EXPOSE 1521 5500 89 | 90 | # Define default command to start Oracle Database. 91 | CMD $ORACLE_BASE/$RUN_FILE 92 | -------------------------------------------------------------------------------- /18.3-small/Dockerfile: -------------------------------------------------------------------------------- 1 | # LICENSE UPL 1.0 2 | # 3 | # Copyright (c) 1982-2018 Oracle and/or its affiliates. All rights reserved. 4 | # 5 | # ORACLE DOCKERFILES PROJECT 6 | # -------------------------- 7 | # This is the Dockerfile for Oracle Database 12c Release 2 Enterprise Edition 8 | # 9 | # REQUIRED FILES TO BUILD THIS IMAGE 10 | # ---------------------------------- 11 | # (1) db_home.zip 12 | # Download Oracle Database 18c Standard Edition 2 for Linux x64 13 | # from http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 14 | # 15 | # HOW TO BUILD THIS IMAGE 16 | # ----------------------- 17 | # Put all downloaded files in the same directory as this Dockerfile 18 | # Run: 19 | # $ docker build -t oracle/database:18.3.0-se2 . 20 | # 21 | # Pull base image 22 | # --------------- 23 | FROM oraclelinux:7-slim 24 | 25 | # Maintainer 26 | # ---------- 27 | LABEL maintainer="Jacek Gebal" \ 28 | description="Oracle 12.1 database. Based on official docker images by Gerald Venzl (Oracle) - \ 29 | https://github.com/oracle/docker-images/tree/master/OracleDatabase/SingleInstance/dockerfiles" 30 | 31 | # Environment variables required for this build (do NOT change) 32 | # ------------------------------------------------------------- 33 | ENV ORACLE_BASE=/opt/oracle \ 34 | ORACLE_HOME=/opt/oracle/product/18.3/dbhome_1 \ 35 | PDB_BASE_DIR=/opt/oracle/oradata/pdbs \ 36 | INSTALL_FILE_1="LINUX.X64_180000_db_home.zip" \ 37 | INSTALL_RSP="db_inst.rsp" \ 38 | CONFIG_RSP="dbca.rsp.tmpl" \ 39 | DB_TEMPLATE_FILE="MinimalDB.dbt" \ 40 | PWD_FILE="setPassword.sh" \ 41 | RUN_FILE="runOracle.sh" \ 42 | START_FILE="startDB.sh" \ 43 | STOP_FILE="stopDB.sh" \ 44 | CREATE_DB_FILE="createDB.sh" \ 45 | CLEANUP_DB_FILE="cleanupDB.sh" \ 46 | PREPARE_DB_FILE="prepareDB.sh" \ 47 | CREATE_PDB_FILE="createPDB.sh" \ 48 | SETUP_LINUX_FILE="setupLinuxEnv.sh" \ 49 | CLEANUP_FILE="cleanup.sh" \ 50 | CHECK_SPACE_FILE="checkSpace.sh" \ 51 | INSTALL_DB_BINARIES_FILE="installDBBinaries.sh" \ 52 | ORACLE_PWD="oracle" \ 53 | ORACLE_PDB="ORCLPDB1" \ 54 | ORACLE_SID="ORCLCDB" \ 55 | CREATE_PDB="false" 56 | 57 | # Use second ENV so that variable get substituted 58 | ENV INSTALL_DIR=$ORACLE_BASE/install \ 59 | PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch/:/usr/sbin:$PATH \ 60 | LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib \ 61 | CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib 62 | 63 | # Copy binaries 64 | # ------------- 65 | COPY $INSTALL_FILE_1 $INSTALL_RSP $SETUP_LINUX_FILE $CHECK_SPACE_FILE $INSTALL_DB_BINARIES_FILE $INSTALL_DIR/ 66 | COPY $RUN_FILE $START_FILE $STOP_FILE $CREATE_DB_FILE $CREATE_PDB_FILE $CONFIG_RSP $PWD_FILE $CLEANUP_FILE $CLEANUP_DB_FILE $PREPARE_DB_FILE $DB_TEMPLATE_FILE $ORACLE_BASE/ 67 | 68 | RUN chmod ug+x $INSTALL_DIR/*.sh && \ 69 | sync && \ 70 | $INSTALL_DIR/$CHECK_SPACE_FILE && \ 71 | $INSTALL_DIR/$SETUP_LINUX_FILE 72 | 73 | # Install DB software binaries 74 | USER oracle 75 | RUN $INSTALL_DIR/$INSTALL_DB_BINARIES_FILE SE2 76 | 77 | USER root 78 | RUN $ORACLE_BASE/oraInventory/orainstRoot.sh && \ 79 | $ORACLE_HOME/root.sh && \ 80 | rm -rf $INSTALL_DIR 81 | 82 | USER oracle 83 | RUN chmod ug+x $ORACLE_BASE/*.sh && \ 84 | $ORACLE_BASE/$CREATE_DB_FILE && \ 85 | $ORACLE_BASE/$CLEANUP_DB_FILE && \ 86 | $ORACLE_BASE/$STOP_FILE && \ 87 | $ORACLE_BASE/$CLEANUP_FILE 88 | 89 | WORKDIR /home/oracle 90 | 91 | VOLUME ["$PDB_BASE_DIR"] 92 | EXPOSE 1521 5500 93 | 94 | # Define default command to start Oracle Database. 95 | CMD $ORACLE_BASE/$RUN_FILE 96 | -------------------------------------------------------------------------------- /12.2.0.1-small/Dockerfile: -------------------------------------------------------------------------------- 1 | # LICENSE CDDL 1.0 + GPL 2.0 2 | # 3 | # Copyright (c) 1982-2017 Oracle and/or its affiliates. All rights reserved. 4 | # 5 | # ORACLE DOCKERFILES PROJECT 6 | # -------------------------- 7 | # This is the Dockerfile for Oracle Database 12c Release 1 Enterprise Edition 8 | # 9 | # REQUIRED FILES TO BUILD THIS IMAGE 10 | # ---------------------------------- 11 | # (1) linuxx64_12201_database.zip 12 | # Download Oracle Database 12c Release 12 Standard Edition 2 for Linux x64 13 | # from http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 14 | # 15 | # HOW TO BUILD THIS IMAGE 16 | # ----------------------- 17 | # Put all downloaded files in the same directory as this Dockerfile 18 | # Run: 19 | # $ docker build -t oracle/database:12.2.0.1-se2 . 20 | # 21 | # Pull base image 22 | # --------------- 23 | FROM oraclelinux:7-slim 24 | 25 | # Maintainer 26 | # ---------- 27 | LABEL maintainer="Jacek Gebal" \ 28 | description="Oracle 12.1 database. Based on official docker images by Gerald Venzl (Oracle) - \ 29 | https://github.com/oracle/docker-images/tree/master/OracleDatabase/SingleInstance/dockerfiles" 30 | 31 | # Environment variables required for this build (do NOT change) 32 | # ------------------------------------------------------------- 33 | ENV ORACLE_BASE=/opt/oracle \ 34 | ORACLE_HOME=/opt/oracle/product/12.2.0.1/dbhome_1 \ 35 | PDB_BASE_DIR=/opt/oracle/oradata/pdbs \ 36 | INSTALL_FILE_1="linuxx64_12201_database.zip" \ 37 | INSTALL_RSP="db_inst.rsp" \ 38 | CONFIG_RSP="dbca.rsp.tmpl" \ 39 | DB_TEMPLATE_FILE="MinimalDB.dbt" \ 40 | PWD_FILE="setPassword.sh" \ 41 | PERL_INSTALL_FILE="installPerl.sh" \ 42 | RUN_FILE="runOracle.sh" \ 43 | START_FILE="startDB.sh" \ 44 | STOP_FILE="stopDB.sh" \ 45 | CREATE_DB_FILE="createDB.sh" \ 46 | CLEANUP_DB_FILE="cleanupDB.sh" \ 47 | PREPARE_DB_FILE="prepareDB.sh" \ 48 | CREATE_PDB_FILE="createPDB.sh" \ 49 | SETUP_LINUX_FILE="setupLinuxEnv.sh" \ 50 | CLEANUP_FILE="cleanup.sh" \ 51 | CHECK_SPACE_FILE="checkSpace.sh" \ 52 | INSTALL_DB_BINARIES_FILE="installDBBinaries.sh" \ 53 | ORACLE_PWD="oracle" \ 54 | ORACLE_PDB="ORCLPDB1" \ 55 | ORACLE_SID="ORCLCDB" \ 56 | CREATE_PDB="false" 57 | 58 | # Use second ENV so that variable get substituted 59 | ENV INSTALL_DIR=$ORACLE_BASE/install \ 60 | PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch/:/usr/sbin:$PATH \ 61 | LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib \ 62 | CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib 63 | 64 | # Copy binaries 65 | # ------------- 66 | COPY $INSTALL_FILE_1 $INSTALL_RSP $PERL_INSTALL_FILE $SETUP_LINUX_FILE $CHECK_SPACE_FILE $INSTALL_DB_BINARIES_FILE $INSTALL_DIR/ 67 | COPY $RUN_FILE $START_FILE $STOP_FILE $CREATE_DB_FILE $CREATE_PDB_FILE $CONFIG_RSP $PWD_FILE $CLEANUP_FILE $CLEANUP_DB_FILE $PREPARE_DB_FILE $DB_TEMPLATE_FILE $ORACLE_BASE/ 68 | 69 | RUN chmod ug+x $INSTALL_DIR/*.sh && \ 70 | sync && \ 71 | $INSTALL_DIR/$CHECK_SPACE_FILE && \ 72 | $INSTALL_DIR/$SETUP_LINUX_FILE 73 | 74 | # Install DB software binaries 75 | USER oracle 76 | RUN $INSTALL_DIR/$INSTALL_DB_BINARIES_FILE SE2 77 | 78 | USER root 79 | RUN $ORACLE_BASE/oraInventory/orainstRoot.sh && \ 80 | $ORACLE_HOME/root.sh && \ 81 | rm -rf $INSTALL_DIR 82 | 83 | USER oracle 84 | RUN chmod ug+x $ORACLE_BASE/*.sh && \ 85 | $ORACLE_BASE/$CREATE_DB_FILE && \ 86 | $ORACLE_BASE/$CLEANUP_DB_FILE && \ 87 | $ORACLE_BASE/$STOP_FILE && \ 88 | $ORACLE_BASE/$CLEANUP_FILE 89 | 90 | WORKDIR /home/oracle 91 | 92 | VOLUME ["$PDB_BASE_DIR"] 93 | EXPOSE 1521 5500 94 | 95 | # Define default command to start Oracle Database. 96 | CMD $ORACLE_BASE/$RUN_FILE 97 | -------------------------------------------------------------------------------- /12.1.0.2-small/Dockerfile: -------------------------------------------------------------------------------- 1 | # LICENSE CDDL 1.0 + GPL 2.0 2 | # 3 | # Copyright (c) 1982-2017 Oracle and/or its affiliates. All rights reserved. 4 | # 5 | # ORACLE DOCKERFILES PROJECT 6 | # -------------------------- 7 | # This is the Dockerfile for Oracle Database 12c Release 1 Standard Edition 2 8 | # 9 | # REQUIRED FILES TO BUILD THIS IMAGE 10 | # ---------------------------------- 11 | # (1) linuxamd64_12102_database_se2_1of2.zip 12 | # linuxamd64_12102_database_se2_2of2.zip 13 | # Download Oracle Database 12c Release 1 Standard Edition 2 for Linux x64 14 | # from http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 15 | # 16 | # HOW TO BUILD THIS IMAGE 17 | # ----------------------- 18 | # Put all downloaded files in the same directory as this Dockerfile 19 | # Run: 20 | # $ docker build -t oracle/database:12.1.0.2-se2 . 21 | # 22 | # Pull base image 23 | # --------------- 24 | FROM oraclelinux:7-slim 25 | 26 | # Maintainer 27 | # ---------- 28 | LABEL maintainer="Jacek Gebal" \ 29 | description="Oracle 12.1 database. Based on official docker images by Gerald Venzl (Oracle) - \ 30 | https://github.com/oracle/docker-images/tree/master/OracleDatabase/SingleInstance/dockerfiles" 31 | 32 | # Environment variables required for this build (do NOT change) 33 | # ------------------------------------------------------------- 34 | ENV ORACLE_BASE=/opt/oracle \ 35 | ORACLE_HOME=/opt/oracle/product/12.1.0.2/dbhome_1 \ 36 | PDB_BASE_DIR=/opt/oracle/oradata/pdbs \ 37 | INSTALL_FILE_1="linuxamd64_12102_database_se2_1of2.zip" \ 38 | INSTALL_FILE_2="linuxamd64_12102_database_se2_2of2.zip" \ 39 | INSTALL_RSP="db_inst.rsp" \ 40 | CONFIG_RSP="dbca.rsp.tmpl" \ 41 | DB_TEMPLATE_FILE="MinimalDB.dbt" \ 42 | PWD_FILE="setPassword.sh" \ 43 | PERL_INSTALL_FILE="installPerl.sh" \ 44 | RUN_FILE="runOracle.sh" \ 45 | START_FILE="startDB.sh" \ 46 | STOP_FILE="stopDB.sh" \ 47 | CREATE_DB_FILE="createDB.sh" \ 48 | CLEANUP_DB_FILE="cleanupDB.sh" \ 49 | PREPARE_DB_FILE="prepareDB.sh" \ 50 | CREATE_PDB_FILE="createPDB.sh" \ 51 | SETUP_LINUX_FILE="setupLinuxEnv.sh" \ 52 | CLEANUP_FILE="cleanup.sh" \ 53 | CHECK_SPACE_FILE="checkSpace.sh" \ 54 | INSTALL_DB_BINARIES_FILE="installDBBinaries.sh" \ 55 | ORACLE_PWD="oracle" \ 56 | ORACLE_PDB="ORCLPDB1" \ 57 | ORACLE_SID="ORCLCDB" \ 58 | CREATE_PDB="false" 59 | 60 | # Use second ENV so that variable get substituted 61 | ENV INSTALL_DIR=$ORACLE_BASE/install \ 62 | PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch/:/usr/sbin:$PATH \ 63 | LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib \ 64 | CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib 65 | 66 | # Copy binaries 67 | # ------------- 68 | COPY $INSTALL_FILE_1 $INSTALL_FILE_2 $INSTALL_RSP $PERL_INSTALL_FILE $SETUP_LINUX_FILE $CHECK_SPACE_FILE $INSTALL_DB_BINARIES_FILE $INSTALL_DIR/ 69 | COPY $RUN_FILE $START_FILE $STOP_FILE $CREATE_DB_FILE $CREATE_PDB_FILE $CONFIG_RSP $PWD_FILE $CLEANUP_FILE $CLEANUP_DB_FILE $PREPARE_DB_FILE $DB_TEMPLATE_FILE $ORACLE_BASE/ 70 | 71 | RUN chmod ug+x $INSTALL_DIR/*.sh && \ 72 | sync && \ 73 | $INSTALL_DIR/$CHECK_SPACE_FILE && \ 74 | $INSTALL_DIR/$SETUP_LINUX_FILE 75 | 76 | # Install DB software binaries 77 | USER oracle 78 | RUN $INSTALL_DIR/$INSTALL_DB_BINARIES_FILE SE2 79 | 80 | USER root 81 | RUN $ORACLE_BASE/oraInventory/orainstRoot.sh && \ 82 | $ORACLE_HOME/root.sh && \ 83 | rm -rf $INSTALL_DIR 84 | 85 | USER oracle 86 | RUN chmod ug+x $ORACLE_BASE/*.sh && \ 87 | $ORACLE_BASE/$CREATE_DB_FILE && \ 88 | $ORACLE_BASE/$CLEANUP_DB_FILE && \ 89 | $ORACLE_BASE/$STOP_FILE && \ 90 | $ORACLE_BASE/$CLEANUP_FILE 91 | 92 | WORKDIR /home/oracle 93 | 94 | VOLUME ["$PDB_BASE_DIR"] 95 | EXPOSE 1521 5500 96 | 97 | # Define default command to start Oracle Database. 98 | CMD $ORACLE_BASE/$RUN_FILE 99 | -------------------------------------------------------------------------------- /12.2.0.1/createDB.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE CDDL 1.0 + GPL 2.0 3 | # 4 | # Copyright (c) 1982-2016 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: November, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Creates an Oracle Database based on following parameters: 9 | # $ORACLE_SID: The Oracle SID and CDB name 10 | # $ORACLE_PDB: The PDB name 11 | # 12 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 13 | # 14 | 15 | ########### Move DB files ############ 16 | function moveFiles { 17 | 18 | if [ ! -d $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID ]; then 19 | mkdir -p $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/ 20 | fi; 21 | 22 | mv $ORACLE_HOME/dbs/spfile$ORACLE_SID.ora $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/ 23 | mv $ORACLE_HOME/dbs/orapw$ORACLE_SID $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/ 24 | mv $ORACLE_HOME/network/admin/tnsnames.ora $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/ 25 | 26 | # oracle user does not have permissions in /etc, hence cp and not mv 27 | cp /etc/oratab $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/ 28 | 29 | symLinkFiles; 30 | } 31 | 32 | ########### Symbolic link DB files ############ 33 | function symLinkFiles { 34 | 35 | if [ ! -L $ORACLE_HOME/dbs/spfile$ORACLE_SID.ora ]; then 36 | ln -s $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/spfile$ORACLE_SID.ora $ORACLE_HOME/dbs/spfile$ORACLE_SID.ora 37 | fi; 38 | 39 | if [ ! -L $ORACLE_HOME/dbs/orapw$ORACLE_SID ]; then 40 | ln -s $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/orapw$ORACLE_SID $ORACLE_HOME/dbs/orapw$ORACLE_SID 41 | fi; 42 | 43 | if [ ! -L $ORACLE_HOME/network/admin/tnsnames.ora ]; then 44 | ln -s $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/tnsnames.ora $ORACLE_HOME/network/admin/tnsnames.ora 45 | fi; 46 | 47 | # oracle user does not have permissions in /etc, hence cp and not ln 48 | cp $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/oratab /etc/oratab 49 | 50 | } 51 | 52 | 53 | ORACLE_SID=$1 54 | # Check whether ORACLE_SID is passed on 55 | if [ "$ORACLE_SID" == "" ]; then 56 | ORACLE_SID=ORCLCDB 57 | fi; 58 | export ORACLE_SID 59 | 60 | #ORACLE_PDB=$2 61 | # Check whether ORACLE_PDB is passed on 62 | #if [ "$ORACLE_PDB" == "" ]; then 63 | # ORACLE_PDB=ORCLPDB1 64 | #fi; 65 | 66 | # Auto generate ORACLE PWD 67 | #ORACLE_PWD="`openssl rand -base64 8`1" 68 | echo "ORACLE AUTO GENERATED PASSWORD FOR SYS, SYSTEM AND PDBAMIN: $ORACLE_PWD"; 69 | 70 | # Replace place holders in response file 71 | cp $ORACLE_BASE/$CONFIG_RSP $ORACLE_BASE/dbca.rsp 72 | sed -i -e "s|###ORACLE_SID###|$ORACLE_SID|g" $ORACLE_BASE/dbca.rsp 73 | sed -i -e "s|###ORACLE_PWD###|$ORACLE_PWD|g" $ORACLE_BASE/dbca.rsp 74 | sed -i -e "s|###ORACLE_CHARACTERSET###|$ORACLE_CHARACTERSET|g" $ORACLE_BASE/dbca.rsp 75 | 76 | # Create network related config files (sqlnet.ora, tnsnames.ora, listener.ora) 77 | mkdir -p $ORACLE_HOME/network/admin 78 | echo "NAME.DIRECTORY_PATH= {TNSNAMES, EZCONNECT, HOSTNAME}" > $ORACLE_HOME/network/admin/sqlnet.ora 79 | 80 | # Listener.ora 81 | echo "LISTENER = 82 | (DESCRIPTION_LIST = 83 | (DESCRIPTION = 84 | (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 85 | (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521)) 86 | ) 87 | ) 88 | 89 | " > $ORACLE_HOME/network/admin/listener.ora 90 | 91 | # Start LISTENER and run DBCA 92 | lsnrctl start && 93 | dbca -silent -createDatabase -responseFile $ORACLE_BASE/dbca.rsp || 94 | cat /opt/oracle/cfgtoollogs/dbca/$ORACLE_SID/$ORACLE_SID.log || 95 | cat /opt/oracle/cfgtoollogs/dbca/$ORACLE_SID.log 96 | 97 | echo "$ORACLE_SID=localhost:1521/$ORACLE_SID" >> $ORACLE_HOME/network/admin/tnsnames.ora 98 | #echo "$ORACLE_PDB= 99 | #(DESCRIPTION = 100 | # (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521)) 101 | # (CONNECT_DATA = 102 | # (SERVER = DEDICATED) 103 | # (SERVICE_NAME = $ORACLE_PDB) 104 | # ) 105 | #)" >> $ORACLE_HOME/network/admin/tnsnames.ora 106 | 107 | # Remove second control file, make PDB auto open 108 | sqlplus / as sysdba << EOF 109 | ALTER SYSTEM SET control_files='$ORACLE_BASE/oradata/$ORACLE_SID/control01.ctl' scope=spfile; 110 | --ALTER PLUGGABLE DATABASE $ORACLE_PDB SAVE STATE; 111 | exit; 112 | EOF 113 | 114 | # Remove temporary response file 115 | rm $ORACLE_BASE/dbca.rsp 116 | 117 | # Make dir for PDBs 118 | #mkdir -p $PDB_BASE_DIR 119 | -------------------------------------------------------------------------------- /.travis/download.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 5 | 6 | 7 | if [ "$ORACLE_OTN_USER" == "" ] || [ "$ORACLE_OTN_PASSWORD" == "" ]; then 8 | echo "Error: Oracle OTN username/password not specified." 9 | exit 1 10 | fi 11 | 12 | PRODUCT="" 13 | 14 | # Call the casperjs script to return the download url. 15 | # Then download the file using curl. 16 | downloadFile() { 17 | downloadUrl=$(exec casperjs ${SCRIPT_DIR}/download.js $ORACLE_OTN_USER $ORACLE_OTN_PASSWORD $1 $2) 18 | downloadUrl=${downloadUrl%$'\r'} 19 | echo "DownloadURL: $downloadUrl" 20 | curl -o $3 -L "$downloadUrl" 21 | } 22 | 23 | ############################# 24 | ########### START ########### 25 | ############################# 26 | 27 | while getopts "p:" OPTNAME; do 28 | case "${OPTNAME}" in 29 | "p") PRODUCT="${OPTARG}" ;; 30 | esac 31 | done 32 | 33 | if [ "$PRODUCT" == "xe11g" ]; then 34 | agreementUrl="http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html" 35 | downloadUrl="https://edelivery.oracle.com/akam/otn/linux/oracle11g/xe/oracle-xe-11.2.0-1.0.x86_64.rpm.zip" 36 | outputFile=oracle-xe-11.2.0-1.0.x86_64.rpm.zip 37 | downloadFile $agreementUrl $downloadUrl $outputFile 38 | exit 0 39 | fi 40 | 41 | if [ "$PRODUCT" == "se12c" ]; then 42 | agreementUrl="http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html" 43 | downloadUrl="http://download.oracle.com/otn/linux/oracle12c/121020/linuxamd64_12102_database_se2_1of2.zip" 44 | outputFile=linuxamd64_12102_database_se2_1of2.zip 45 | downloadFile $agreementUrl $downloadUrl $outputFile 46 | agreementUrl="http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html" 47 | downloadUrl="http://download.oracle.com/otn/linux/oracle12c/121020/linuxamd64_12102_database_se2_2of2.zip" 48 | outputFile=linuxamd64_12102_database_se2_2of2.zip 49 | downloadFile $agreementUrl $downloadUrl $outputFile 50 | exit 0 51 | fi 52 | 53 | if [ "$PRODUCT" == "ee12c" ]; then 54 | agreementUrl="http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html" 55 | downloadUrl="http://download.oracle.com/otn/linux/oracle12c/121020/linuxamd64_12102_database_1of2.zip" 56 | outputFile=linuxamd64_12102_database_1of2.zip 57 | downloadFile $agreementUrl $downloadUrl $outputFile 58 | agreementUrl="http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html" 59 | DOWNLOAD_URL="http://download.oracle.com/otn/linux/oracle12c/121020/linuxamd64_12102_database_2of2.zip" 60 | outputFile=linuxamd64_12102_database_2of2.zip 61 | downloadFile $agreementUrl $downloadUrl $outputFile 62 | exit 0 63 | fi 64 | 65 | if [ "$PRODUCT" == "12.2" ]; then 66 | agreementUrl="http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html" 67 | downloadUrl="https://download.oracle.com/otn/linux/oracle12c/122010/linuxx64_12201_database.zip" 68 | outputFile=linuxx64_12201_database.zip 69 | downloadFile $agreementUrl $downloadUrl $outputFile 70 | exit 0 71 | fi 72 | 73 | if [ "$PRODUCT" == "18.3" ]; then 74 | agreementUrl="http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html" 75 | downloadUrl="https://download.oracle.com/otn/linux/oracle18c/180000/LINUX.X64_180000_db_home.zip" 76 | outputFile=LINUX.X64_180000_db_home.zip 77 | downloadFile $agreementUrl $downloadUrl $outputFile 78 | exit 0 79 | fi 80 | 81 | if [ "$PRODUCT" == "19.3" ]; then 82 | agreementUrl="http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html" 83 | downloadUrl="https://download.oracle.com/otn/linux/oracle19c/190000/LINUX.X64_193000_db_home.zip" 84 | outputFile=LINUX.X64_193000_db_home.zip 85 | downloadFile $agreementUrl $downloadUrl $outputFile 86 | exit 0 87 | fi 88 | 89 | if [ "$PRODUCT" == "sqlcl" ]; then 90 | agreementUrl="http://www.oracle.com/technetwork/developer-tools/sqlcl/downloads/index.html" 91 | downloadUrl="https://download.oracle.com/otn/java/sqldeveloper/sqlcl-18.3.0.259.2029.zip" 92 | #downloadUrl="https://download.oracle.com/otn/java/sqldeveloper/sqlcl-19.2.1.206.1649.zip" 93 | outputFile=sqlcl-18.3.0.259.2029.zip 94 | downloadFile $agreementUrl $downloadUrl $outputFile 95 | exit 0 96 | fi 97 | 98 | echo "Error: invalid product: $PRODUCT" 99 | exit 1 100 | -------------------------------------------------------------------------------- /12.1.0.2/runOracle.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE CDDL 1.0 + GPL 2.0 3 | # 4 | # Copyright (c) 1982-2016 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: November, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Runs the Oracle Database inside the container 9 | # 10 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 11 | # 12 | 13 | ########### Move DB files ############ 14 | function moveFiles { 15 | 16 | if [ ! -d $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID ]; then 17 | mkdir -p $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/ 18 | fi; 19 | 20 | mv $ORACLE_HOME/dbs/spfile$ORACLE_SID.ora $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/ 21 | mv $ORACLE_HOME/dbs/orapw$ORACLE_SID $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/ 22 | mv $ORACLE_HOME/network/admin/tnsnames.ora $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/ 23 | 24 | # oracle user does not have permissions in /etc, hence cp and not mv 25 | cp /etc/oratab $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/ 26 | 27 | symLinkFiles; 28 | } 29 | 30 | ########### Symbolic link DB files ############ 31 | function symLinkFiles { 32 | 33 | if [ ! -L $ORACLE_HOME/dbs/spfile$ORACLE_SID.ora ]; then 34 | ln -s $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/spfile$ORACLE_SID.ora $ORACLE_HOME/dbs/spfile$ORACLE_SID.ora 35 | fi; 36 | 37 | if [ ! -L $ORACLE_HOME/dbs/orapw$ORACLE_SID ]; then 38 | ln -s $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/orapw$ORACLE_SID $ORACLE_HOME/dbs/orapw$ORACLE_SID 39 | fi; 40 | 41 | if [ ! -L $ORACLE_HOME/network/admin/tnsnames.ora ]; then 42 | ln -s $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/tnsnames.ora $ORACLE_HOME/network/admin/tnsnames.ora 43 | fi; 44 | 45 | # oracle user does not have permissions in /etc, hence cp and not ln 46 | cp $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/oratab /etc/oratab 47 | 48 | } 49 | 50 | ########### SIGINT handler ############ 51 | function _int() { 52 | echo "Stopping container." 53 | echo "SIGINT received, shutting down database!" 54 | sqlplus / as sysdba < dockerBuild.log 47 | docker build --no-cache --force-rm --squash -t utplsqlv3/oracledb:12c-r2-se2 -f Dockerfile ./12.2.0.1 > dockerBuild.log 48 | docker build --no-cache --force-rm --squash -t utplsqlv3/oracledb:18c-se2 -f Dockerfile ./18.3 > dockerBuild.log 49 | docker build --no-cache --force-rm --squash -t utplsqlv3/oracledb:12c-r1-se2-small -f Dockerfile_continue ./12.1.0.2-small > dockerBuild.log 50 | docker build --no-cache --force-rm --squash -t utplsqlv3/oracledb:12c-r2-se2-small -f Dockerfile_continue ./12.2.0.1-small > dockerBuild.log 51 | docker build --no-cache --force-rm --squash -t utplsqlv3/oracledb:18c-se2-small -f Dockerfile_continue ./18.3-small > dockerBuild.log 52 | docker build --no-cache --force-rm --squash -t utplsqlv3/oracledb:19c-se2-small -f Dockerfile_continue ./19.3-small > dockerBuild.log 53 | ``` 54 | 55 | ### Pushing images to hub 56 | ```bash 57 | docker login 58 | docker push utplsqlv3/oracledb:12c-r1-se2 59 | docker push utplsqlv3/oracledb:12c-r2-se2 60 | docker push utplsqlv3/oracledb:18c-se2 61 | docker push utplsqlv3/oracledb:12c-r1-se2-small 62 | docker push utplsqlv3/oracledb:12c-r2-se2-small 63 | docker push utplsqlv3/oracledb:18c-se2-small 64 | docker push utplsqlv3/oracledb:19c-se2-small 65 | ``` 66 | 67 | ### Pulling images from hub 68 | 69 | This is optional as images would get pull on `docker run` if they are not available locally 70 | ```bash 71 | docker login 72 | docker pull utplsqlv3/oracledb:12c-r1-se2 73 | docker pull utplsqlv3/oracledb:12c-r2-se2 74 | docker pull utplsqlv3/oracledb:18c-se2 75 | docker pull utplsqlv3/oracledb:12c-r1-se2-small 76 | docker pull utplsqlv3/oracledb:12c-r2-se2-small 77 | docker pull utplsqlv3/oracledb:18c-se2-small 78 | docker pull utplsqlv3/oracledb:19c-se2-small 79 | ``` 80 | 81 | ### Listing images 82 | ```bash 83 | docker image ls --all 84 | ``` 85 | 86 | ### Removing a local image 87 | ```bash 88 | docker image rm utplsqlv3/oracledb:12c-r1-se2 89 | ``` 90 | 91 | ### Running container from images 92 | 93 | ```bash 94 | docker run -d --name 12c-r1-se2 -p 1531:1521 --expose=1521 utplsqlv3/oracledb:12c-r1-se2 95 | docker run -d --name 12c-r2-se2 -p 1541:1521 --expose=1521 utplsqlv3/oracledb:12c-r2-se2 96 | docker run -d --name 18c-se2 -p 1551:1521 --expose=1521 utplsqlv3/oracledb:18c-se2 97 | docker run -d --name 12c-r1-se2-small -p 1531:1521 --expose=1521 utplsqlv3/oracledb:12c-r1-se2-small 98 | docker run -d --name 12c-r2-se2-small -p 1541:1521 --expose=1521 utplsqlv3/oracledb:12c-r2-se2-small 99 | docker run -d --name 18c-se2-small -p 1551:1521 --expose=1521 utplsqlv3/oracledb:18c-se2-small 100 | docker run -d --name 19c-se2-small -p 1551:1521 --expose=1521 utplsqlv3/oracledb:19c-se2-small 101 | ``` 102 | 103 | ### Stopping a running container 104 | 105 | ```bash 106 | docker stop 12c-r1-se2 107 | docker stop 12c-r2-se2 108 | docker stop 18c-se2 109 | docker stop 12c-r1-se2-small 110 | docker stop 12c-r2-se2-small 111 | docker stop 18c-se2-small 112 | docker stop 19c-se2-small 113 | ``` 114 | 115 | ### (Re)starting previously stopped container 116 | 117 | ```bash 118 | docker start 12c-r1-se2 119 | docker start 12c-r2-se2 120 | docker start 18c-se2 121 | docker start 12c-r1-se2-small 122 | docker start 12c-r2-se2-small 123 | docker start 18c-se2-small 124 | docker start 19c-se2-small 125 | ``` 126 | 127 | ### Removing container (keeps the image) 128 | 129 | ```bash 130 | docker rm 12c-r1-se2 131 | docker rm 12c-r2-se2 132 | docker rm 18c-se2 133 | docker rm 12c-r1-se2-small 134 | docker rm 12c-r2-se2-small 135 | docker rm 18c-se2-small 136 | docker rm 19c-se2-small 137 | ``` -------------------------------------------------------------------------------- /18.3-small/runOracle.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # LICENSE UPL 1.0 3 | # 4 | # Copyright (c) 1982-2018 Oracle and/or its affiliates. All rights reserved. 5 | # 6 | # Since: November, 2016 7 | # Author: gerald.venzl@oracle.com 8 | # Description: Runs the Oracle Database inside the container 9 | # 10 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 11 | # 12 | 13 | ########### Move DB files ############ 14 | function moveFiles { 15 | 16 | if [ ! -d $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID ]; then 17 | mkdir -p $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/ 18 | fi; 19 | 20 | mv $ORACLE_HOME/dbs/spfile$ORACLE_SID.ora $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/ 21 | mv $ORACLE_HOME/dbs/orapw$ORACLE_SID $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/ 22 | mv $ORACLE_HOME/network/admin/sqlnet.ora $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/ 23 | mv $ORACLE_HOME/network/admin/listener.ora $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/ 24 | mv $ORACLE_HOME/network/admin/tnsnames.ora $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/ 25 | 26 | # oracle user does not have permissions in /etc, hence cp and not mv 27 | cp /etc/oratab $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/ 28 | 29 | symLinkFiles; 30 | } 31 | 32 | ########### Symbolic link DB files ############ 33 | function symLinkFiles { 34 | 35 | if [ ! -L $ORACLE_HOME/dbs/spfile$ORACLE_SID.ora ]; then 36 | ln -s $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/spfile$ORACLE_SID.ora $ORACLE_HOME/dbs/spfile$ORACLE_SID.ora 37 | fi; 38 | 39 | if [ ! -L $ORACLE_HOME/dbs/orapw$ORACLE_SID ]; then 40 | ln -s $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/orapw$ORACLE_SID $ORACLE_HOME/dbs/orapw$ORACLE_SID 41 | fi; 42 | 43 | if [ ! -L $ORACLE_HOME/network/admin/sqlnet.ora ]; then 44 | ln -s $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/sqlnet.ora $ORACLE_HOME/network/admin/sqlnet.ora 45 | fi; 46 | 47 | if [ ! -L $ORACLE_HOME/network/admin/listener.ora ]; then 48 | ln -s $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/listener.ora $ORACLE_HOME/network/admin/listener.ora 49 | fi; 50 | 51 | if [ ! -L $ORACLE_HOME/network/admin/tnsnames.ora ]; then 52 | ln -s $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/tnsnames.ora $ORACLE_HOME/network/admin/tnsnames.ora 53 | fi; 54 | 55 | # oracle user does not have permissions in /etc, hence cp and not ln 56 | cp $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/oratab /etc/oratab 57 | 58 | } 59 | 60 | ########### SIGINT handler ############ 61 | function _int() { 62 | echo "Stopping container." 63 | echo "SIGINT received, shutting down database!" 64 | sqlplus / as sysdba <