_________________________________________________________________
_________________________________________________________________
Running a Linux Docker container having an Enterprise Geodatabase in Oracle, while utilizing the ESRI ST_Geometry spatial data type library alongside Oracle SDO spatial data type, is an effective way to manage spatial data environments. This setup allows for enhanced functionality and optimized performance in geographic information systems (GIS) applications.
_________________________________________________________________
--1. Install Docker on Linux
RedHat Linux: Linux Docker Installation - Esri Community
Oracle Linux:
--Docker Linux installation on Oracle Linux 9
cd /etc/yum.repos.d
wget http://yum.oracle.com/public-yum-ol9.repo
vi public-yum-ol9.repo
Edit entries for ol9_latest, ol9_uekr4 and ol9_addons:
> enabled=1
# yum install docker-engine
# systemctl start docker
# systemctl enable docker
# systemctl status docker
_________________________________________________________________
--2. Oracle on Docker
Oracle Linux:
https://docs.oracle.com/en/operating-systems/oracle-linux/docker/docker-InstallingOracleContainerRun...
Oracle on Docker:
Docker needs to run on RedHat Linux 9 or Oracle Linux 9 and the Oracle Database Software must be the Linux version.
https://www.oracle.com/database/kubernetes-for-container-database/
https://docs.oracle.com/en/database/oracle/oracle-database/21/deeck/index.html#GUID-EDA557B2-B0D6-45...
https://github.com/oracle/docker-images/blob/main/OracleDatabase/SingleInstance/README.md#how-to-bui...
Additional Links with useful step-by-step instructions.
How to Deploy an Oracle Database 19c Docker Container – Sean Stacey – for What it's Worth
https://seanstacey.org/deploying-an-oracle-database-19c-as-a-docker-container/2020/09/
In-Depth Guide to Installing Oracle 19c on Docker: Step-by-Step with Advanced Configuration - DevopsRoles.com Better 2025
https://www.devopsroles.com/depth-guide-to-installing-oracle-19c-on-docker/
_________________________________________________________________
--3. Sign in to Oracle Container Registry
The next step is to visit the Oracle Container Registry at container-registry.oracle.com.
You will need an Oracle Account (it’s completely free to register) to download the image.
The website is easy enough to navigate, and once you’ve decided on the image you will be using,
you will need to accept the license agreement to use the container.
docker pull container-registry.oracle.com/os/oraclelinux:9
docker pull container-registry.oracle.com/os/oraclelinux:8
docker pull container-registry.oracle.com/os/oraclelinux:7
docker pull container-registry.oracle.com/database/enterprise_ru:latest
docker pull container-registry.oracle.com/database/enterprise_ru:latest-21
docker pull container-registry.oracle.com/database/enterprise_ru:21.18.0.0
docker pull container-registry.oracle.com/database/enterprise_ru:21.17.0.0
docker pull container-registry.oracle.com/database/enterprise_ru:19.27.0.0
docker pull container-registry.oracle.com/database/enterprise_ru:19.26.0.0
_________________________________________________________________
--4. Pull Database Container image
--We’re now ready to go to the machine where we will be running the container.
--But before we can use the Docker pull command we will need to login to the Oracle container registry using our Oracle account. This will save an authentication token on our host.
docker logout
docker login container-registry.oracle.com
root@PS026300 ~# docker login container-registry.oracle.com
Username: mmarques@esri.com
Password:
WARNING! Your credentials are stored unencrypted in '/root/.docker/config.json'.
Configure a credential helper to remove this warning. See
https://docs.docker.com/go/credential-store/
Login Succeeded
docker info
docker logout
docker login container-registry.oracle.com
docker pull container-registry.oracle.com/database/enterprise_ru:19.27.0.0
docker pull container-registry.oracle.com/database/enterprise_ru:19.26.0.0
docker images
docker image rm 19.27.0.0
docker image rm 19.26.0.0
_________________________________________________________________
--5. Run the Database Container
--this page has the instructions to run the container from the image !!!
$ docker run -d --name <oracle-db>
container-registry.oracle.com/database/enterprise:21.3.0.0
$ docker logs <oracle-db>
$ docker ps -a
$ docker port <oracle-db>
$ docker run -d --name <container_name> \
-p <host_port>:1521 -p <host_port>:5500 \
-e ORACLE_SID=<your_SID> \
-e ORACLE_PDB=<your_PDBname> \
-e ORACLE_PWD=<your_database_password> \
-e INIT_SGA_SIZE=<your_database_SGA_memory_MB> \
-e INIT_PGA_SIZE=<your_database_PGA_memory_MB> \
-e ORACLE_EDITION=<your_database_edition> \
-e ORACLE_CHARACTERSET=<your_character_set> \
-e ENABLE_ARCHIVELOG=true \
-v [<host_mount_point>:]/opt/oracle/oradata \
container-registry.oracle.com/database/enterprise:21.3.0.0
_________________________________________________________________
--6. Reusing the Existing Database
$ docker run -d --name <oracle-db> \
-v OracleDBData:/opt/oracle/oradata \
container-registry.oracle.com/database/enterprise:21.3.0.0
--OracleDBData is the data volume that is created by docker and mounted within the container in the path /opt/oracle/oradata.
--To use a directory on the host system for the data volume, execute the following:
$ docker run -d --name <oracle-db> \
-v <writable_directory_path>:/opt/oracle/oradata \
container-registry.oracle.com/database/enterprise:21.3.0.0
--Note: If you provide standard as the value for the ORACLE_EDITION parameter while creating the data files for the first time,
--you must provide the same value when reusing those data files to start a new container.
_________________________________________________________________
--7. Manage CPU and memory limits for docker containers.
--7.1. Setting CPU and Memory Limits When Starting a Container
Use the docker run command with the following flags:
docker run -d \
--name my_container \
--memory="512m" \ # Limit memory to 512 MB
--cpus="1.5" \ # Limit to 1.5 CPU cores
my_image
--memory: Sets the maximum amount of memory the container can use.
--cpus: Limits the number of CPU cores the container can use.
--7.2. Changing CPU and Memory Limits Later
You cannot change resource limits on a running container directly.
Stop and Update the Container
a. Stop the container:
docker stop my_container
b. Remove the old container:
docker rm my_container
c. Start a new container with updated limits:
docker run -d \
--name my_container \
--memory="1g" \
--cpus="2.0" \
my_image_updated
_________________________________________________________________
--8. How to run the Database Container
--create volume
docker volume ls
docker volume rm ora-db-19-data
docker volume create ora-db-19-data
-v ora-db-19-data:/opt/oracle/oradata
Oracle Database datafiles
-v /data/dockerhome/oracle/backups/ora-db-19:/opt/oracle/orabackup
Oracle Database Backup Folder on docker host machines,
for Oracle RMAN backups and Oracle Data Pump backups
--Oracle 12.26
$ docker run -d --name ora-db-19 \
--memory="12g" \
--cpus="3.0" \
--restart=always \
-p 1527:1521 -p 5527:5500 \
-e ORACLE_SID=mcs1 \
-e ORACLE_PDB=pmpdb \
-e ORACLE_PWD=mcs77DminDba \
-e INIT_SGA_SIZE=4096 \
-e INIT_PGA_SIZE=2048 \
-e ORACLE_EDITION=enterprise \
-e ORACLE_CHARACTERSET=AL32UTF8 \
-e ENABLE_ARCHIVELOG=false \
-v ora-db-19-data:/opt/oracle/oradata \
-v /dockerhome/oracle/backups/ora-db-19:/opt/oracle/orabackup \
-d container-registry.oracle.com/database/enterprise_ru:19.26.0.0
--Oracle 12.27
$ docker run -d --name ora-db-19 \
--memory="12g" \
--cpus="3.0" \
--restart=always \
-p 1527:1521 -p 5527:5500 \
-e ORACLE_SID=mcs1 \
-e ORACLE_PDB=pmpdb \
-e ORACLE_PWD=mcs77DminDba \
-e INIT_SGA_SIZE=4096 \
-e INIT_PGA_SIZE=2048 \
-e ORACLE_EDITION=enterprise \
-e ORACLE_CHARACTERSET=AL32UTF8 \
-e ENABLE_ARCHIVELOG=false \
-v ora-db-19-data:/opt/oracle/oradata \
-v /dockerhome/oracle/backups/ora-db-19:/opt/oracle/orabackup \
-d container-registry.oracle.com/database/enterprise_ru:19.27.0.0
docker exec -it ora-db-19 bash
ls -la /opt/oracle/oradata
exit
--Database Alert Logs
docker logs --tail 50 ora-db-19
docker ps -a
docker inspect 5b72d963060b | grep IPAddress
IPAddress": "172.17.0.2"
docker port ora-db-19
docker logs ora-db-19
docker logs --tail ora-db-19
docker logs -f ora-db-19
docker stop ora-db-19
docker start ora-db-19
docker restart ora-db-19
--Change folder ownership
docker exec -it -u root ora-db-19 bash
chown -R oracle:dba /opt/oracle/orabackup
chown -R oracle:dba /opt/oracle/oradata
ls -la /opt/oracle/
--Alternative: Change Ownership from the Host
docker exec -it ora-db-19 bash
whoami
--oracle
id -a oracle
--uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),
54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54330(racdba)
exit
docker volume inspect ora-db-19-data
--"Mountpoint": "/data/dockerhome/dockerdata/volumes/ora-db-19-data/_data"
--Change ownership on the host
sudo chown -R 54321:54322 /dockerhome/dockerdata/volumes/ora-db-19-data/_data
sudo chown -R 54321:54322 /dockerhome/oracle/backups/ora-db-19
_________________________________________________________________
--9. docker container remove
docker stop ora-db-19
docker rm ora-db-19
docker volume ls
docker volume rm ora-db-19-data
_________________________________________________________________
--10. docker container terminal
docker exec -it ora-db-19 sh
docker exec -it ora-db-19 bash
docker exec -it -u root ora-db-19 bash
docker exec -it -u oracle ora-db-19 bash
_________________________________________________________________
--11. Connecting from within the container
$ docker exec -it <oracle-db> sqlplus / as sysdba
$ docker exec -it <oracle-db> sqlplus sys/<your_password>@<your_service_name> as sysdba
$ docker exec -it <oracle-db> sqlplus system/<your_password>@<your_service_name>
$ docker exec -it <oracle-db> sqlplus pdbadmin/<your_password>@<your_PDBname>
$ docker exec -it ora-db-19 sqlplus / as sysdba
--Returns: Connected to an idle instance.
--Skip, do not use.
$ docker exec -it ora-db-19 sqlplus sys/'mcs77DminDba'@mcs1 as sysdba
$ docker exec -it ora-db-19 sqlplus sys/'mcs77DminDba'@pmpdb as sysdba
$ docker exec -it ora-db-19 sqlplus pdbadmin/'mcs77DminDba'@pmpdb
$ docker exec -it -u oracle ora-db-19 bash
. oraenv
mcs1
sqlplus /nolog
connect /as sysdba
_________________________________________________________________
--12. Connecting from outside of the container
$ docker port <oracle-db>
$ sqlplus sys/<your_password>@//localhost:<exposed_port>/<your_service_name> as sysdba
$ sqlplus system/<your_password>@//localhost:<exposed_port>/<your_service_name>
$ sqlplus pdbadmin/<your_password>@//localhost:<exposed_port>/<your_PDBname>
$ sqlplus /nolog
connect sys/"mcs77DminDba"@ps026300:1527/mcs1 as sysdba
connect sys/"mcs77DminDba"@ps026300:1527/pmpdb as sysdba
connect pdbadmin/"mcs77DminDba"@ps026300:1527/pmpdb
SELECT host_name,instance_name,status,database_status FROM v$instance;
SELECT name,open_mode,log_mode,flashback_on FROM v$database;
SELECT pdb_name, status FROM dba_pdbs ORDER BY pdb_name;
SELECT name, open_mode FROM v$pdbs ORDER BY name;
_________________________________________________________________
--13. Changing the Default Password for SYS User
$ docker exec <oracle-db> ./setPassword.sh <your_password>
$ docker exec -it -u oracle ora-db-19 bash
/home/oracle/startUp.sh mcs77DminDba
_________________________________________________________________
--14. Oracle Enterprise Manager Database Express
Oracle Database inside the container also has Oracle Enterprise Manager Database Express (EM Express) configured.
To access EM Express, start your browser using the following URL:
https://localhost:5500/em/
docker ps -a
docker port ora-db-19
/*
1521/tcp -> 0.0.0.0:1527
5500/tcp -> 0.0.0.0:5527
*/
https://ps026300:5527/em/
_________________________________________________________________
--15. Performing operations that require Database Shutdown/Startup
To perform operations on the database that require the restart of the database,
use the maintenance shutdown/startup scripts, /home/oracle/shutDown.sh and /home/oracle/startUp.sh
instead of issuing shutdown immediate and startup commands respectively as the latter would lead to exiting of the container.
$ docker exec -it -u oracle ora-db-19 bash
/home/oracle/startUp.sh
/home/oracle/shutDown.sh immediate
_________________________________________________________________
--16. Resource Requirements
The minimum requirements for the container is 25 GB of disk space and 4 GB of memory.
_________________________________________________________________
--17. Running Scripts After Setup and on Startup
The following example mounts the local directory myScripts to /opt/oracle/scripts/startup which is then searched for custom startup scripts:
$ docker run -d --name <oracle-db> -v
/home/oracle/myScripts:/opt/oracle/scripts/startup
container-registry.oracle.com/database/enterprise:21.3.0.0
_________________________________________________________________
--18. how to export, import a file in the container
--how to export a file from the containerI am running a few minutes late; my previous meeting is running over.
docker cp ora-db-19:/opt/oracle/product/19c/dbhome_1/dbs/initMCS1_new.ora \
/dockerhome/oracle/backups/ora-db-19/initMCS1_new.ora
--how to copy a file to the container
docker cp /dockerhome/oracle/backups/ora-db-19/initMCS1_new.ora \
ora-db-19:/opt/oracle/product/19c/dbhome_1/dbs/initMCS1_new.ora
--how to delete a file
docker exec container_name rm -f /path/to/file.txt
docker exec ora-db-19 rm -f /opt/oracle/product/19c/dbhome_1/dbs/initMCS1_new.ora
_________________________________________________________________
--19. oracle parameters
https://devtopia.esri.com/WebGIS/arcgis-enterprise-monitor/issues/7252
$ docker exec -it ora-db-19 sqlplus sys/'mcs77DminDba'@mcs1 as sysdba
$ docker exec -it ora-db-19 sqlplus sys/'mcs77DminDba'@pmpdb as sysdba
or
$ sqlplus /nolog
connect sys/"mcs77DminDba"@ps026300:1527/mcs1 as sysdba
connect sys/"mcs77DminDba"@ps026300:1527/pmpdb as sysdba
show parameter open_cursors
show parameter sessions
show parameter processes
alter system set open_cursors = 10000 scope=spfile;
alter system set sessions = 10000 scope=spfile;
alter system set processes=10000 scope=spfile;
exit;
--some oracle parameter is necessary to restart the oracle instance for the parameter change to take effect.
$ docker exec -it -u oracle ora-db-19 bash
/home/oracle/shutDown.sh immediate
/home/oracle/startUp.sh
exit
_________________________________________________________________
--20. COPY THE ESRI ST_GEOMETRY LIBRARY TO THE DOCKER CONTAINER
--docker container terminal
docker exec -it -u oracle ora-db-19 bash
--where is oracle installed
$ whoami
oracle
$ echo $ORACLE_BASE
/opt/oracle
$ echo $ORACLE_HOME
/opt/oracle/product/19c/dbhome_1
--create the esri_libs folder
cd $ORACLE_BASE
pwd
mkdir -p esri_libs
chown -R oracle:dba /opt/oracle/esri_libs
--create folder with the version number of the st_geometry library
mkdir -p /opt/oracle/esri_libs/sde_pro_35
chown -R oracle:dba /opt/oracle/esri_libs
exit;
docker cp /dockerhome/esri_st_geom_lib/libst_shapelib.so \
ora-db-19:/opt/oracle/esri_libs/sde_pro_35/libst_shapelib.so
docker exec -it -u root ora-db-19 bash
chown -R oracle:dba /opt/oracle/esri_libs
chmod 755 /opt/oracle/esri_libs/sde_pro_35/libst_shapelib.so
ls -la /opt/oracle/esri_libs/sde_pro_35
exit
--Configure extproc to access ST_Geometry in Oracle
https://pro.arcgis.com/en/pro-app/3.3/help/data/geodatabases/manage-oracle/configure-oracle-extproc....
--docker container terminal
docker exec -it -u oracle ora-db-19 bash
cp $ORACLE_HOME/hs/admin/extproc.ora $ORACLE_HOME/hs/admin/extproc_bak.ora
cp $ORACLE_HOME/hs/admin/extproc.ora $ORACLE_HOME/hs/admin/extproc_bak.ora
cp $ORACLE_HOME/hs/admin/extproc.ora /opt/oracle/orabackup/.
exit
--Go to the docker host machines and edit the extproc.ora file under /dockerhome/oracle/backups/ora-db-19
vi /data/dockerhome/oracle/backups/ora-db-19/extproc.ora
-- add the following line at the end of the file.
SET EXTPROC_DLLS=ONLY:/opt/oracle/esri_libs/sde_pro_35/libst_shapelib.so:/opt/oracle/esri_libs/sde_pro_34/libst_shapelib.so:/opt/oracle/esri_libs/sde_pro_33/libst_shapelib.so:
:wq!
cat /data/dockerhome/oracle/backups/ora-db-19/extproc.ora
--docker container terminal
docker exec -it -u oracle ora-db-19 bash
cp /opt/oracle/orabackup/extproc.ora $ORACLE_HOME/hs/admin/extproc.ora
cat $ORACLE_HOME/hs/admin/extproc.ora
exit
--After the Geodatabase Repository is created.
$ sqlplus /nolog
connect sys/"mcs77DminDba"@ps026300:1527/pmpdb as sysdba
CREATE OR REPLACE LIBRARY sde.st_shapelib AS '/opt/oracle/esri_libs/sde_pro_35/libst_shapelib.so';
/
EXEC dbms_utility.compile_schema( 'SDE', compile_all => FALSE );
select * from dba_objects where status != 'VALID' ORDER BY OWNER, OBJECT_TYPE, OBJECT_NAME;
connect sde/"*****"@ps026300:1527/pmpdb
SELECT * FROM ALL_LIBRARIES ORDER BY OWNER, LIBRARY_NAME;
prompt * Verify st_geometry type (no extproc)
select sde.st_geometry(1,1,1,1,0) from dual;
prompt * Verify st_geometry type (extproc)
SELECT sde.st_geometry('point (1 1)', 0) from dual;
exit;
_________________________________________________________________
--21. docker container upgrade from Oracle 19.26 to 19.27
--21.1. stop the container
docker stop ora-db-19
docker ps -a
--21.2. keep the docker volumes that were used to create the container
docker volume ls
--the volume ora-db-19-data has the Oracle database datafiles
--21.3. drop the old docker container running pg_16.8
docker rm ora-db-19
docker ps -a
--21.4. recreate the docker container using the Oracle 19.27 image
$ docker run -d --name ora-db-19 \
--memory="12g" \
--cpus="3.0" \
--restart=always \
-p 1527:1521 -p 5527:5500 \
-e ORACLE_SID=mcs1 \
-e ORACLE_PDB=pmpdb \
-e ORACLE_PWD=mcs77DminDba \
-e INIT_SGA_SIZE=4096 \
-e INIT_PGA_SIZE=2048 \
-e ORACLE_EDITION=enterprise \
-e ORACLE_CHARACTERSET=AL32UTF8 \
-e ENABLE_ARCHIVELOG=false \
-v ora-db-19-data:/opt/oracle/oradata \
-v /dockerhome/oracle/backups/ora-db-19:/opt/oracle/orabackup \
-d container-registry.oracle.com/database/enterprise_ru:19.27.0.0
docker ps -a
--21.5. The Oracle Opatch datapatch updates are executed automatically when the docker container starts.
Datapatch is run to complete the post-install SQL deployment for the patch being installed.
Datapatch loads the modified SQL files into the database.
--note: only the database patch 19.27 is installed, the datapump patch for 19.27 is not included.
--check the database logs for more information.
docker logs --tail 50 ora-db-19
--we can execute Opatch datapatch manually following these steps.
--docker container terminal
docker exec -it -u oracle ora-db-19 bash
.oraenv
MCS1
$ORACLE_HOME/OPatch/opatch version
$ORACLE_HOME/OPatch/datapatch -db MCS1 -verbose
_________________________________________________________________
--21.6. Install Data Pump Patch 19.27
a. Download the patch from MOS - My Oracle Support - support.oracle.com
You need to have a valid Oracle Support subscription to be able to download database patches.
--MOS: Critical Patch Update (CPU) Program Apr 2025 Patch Availability Document (DB-only) (Doc ID 3070732.1)
--MOS: Data Pump Recommended Proactive Patches For 19.10 and Above (Doc ID 2819284.1)
b. Copy the patch zip to the docker container.
You can place the zip under the docker host machine folder "/dockerhome/oracle/backups/ora-db-19".
This directory is mapped in the container as "/opt/oracle/orabackup".
--docker host machine
cd /data/dockerhome/oracle/backups/ora-db-19/
mkdir -p PATCHES/datapump
mv /tmp/p37777295_1927000DBRU_data_pump_Generic.zip PATCHES/datapump/.
cd PATCHES
unzip -q p37777295_1927000DBRU_data_pump_Generic.zip
cd ..
chown -R 54321:54321 PATCHES
ls -la PATCHES/datapump
--docker container terminal
docker exec -it -u oracle ora-db-19 bash
whoami
ls -la /opt/oracle/orabackup/PATCHES
c. Shutdown the database and the listener
docker exec -it -u oracle ora-db-19 bash
whoami
/home/oracle/shutDown.sh immediate
lsnrctl status listener
lsnrctl stop listener
b. Install the patch
docker exec -it -u oracle ora-db-19 bash
whoami
$ORACLE_HOME/OPatch/opatch lsinventory > /opt/oracle/orabackup/lsinv_db_before.txt
cd /opt/oracle/orabackup/PATCHES/datapump/37777295
pwd
$ORACLE_HOME/OPatch/opatch apply
$ORACLE_HOME/OPatch/opatch lsinventory > /opt/oracle/orabackup/lsinv_db_after.txt
d. Start the listener and the database
docker exec -it -u oracle ora-db-19 bash
whoami
lsnrctl start listener
lsnrctl status listener
/home/oracle/startUp.sh
lsnrctl status listener
e. Execute Opatch datapatch
docker exec -it -u oracle ora-db-19 bash
whoami
.oraenv
mcs1
$ORACLE_HOME/OPatch/opatch version
$ORACLE_HOME/OPatch/datapatch -db MCS1 -verbose
_________________________________________________________________
--21.7. check the status of the datapatch execution on the CDB and each PDBs.
SELECT * FROM dba_registry_sqlpatch order by action_time desc;
select name, cause, type, message, status, action
from PDB_PLUG_IN_VIOLATIONS
order by 1,2;
--docker container terminal
docker exec -it -u oracle ora-db-19 bash
$ORACLE_HOME/OPatch/opatch version
$ORACLE_HOME/OPatch/opatch lsinventory > /opt/oracle/orabackup/lsinv_db.txt
exit
--21.8. check invalid objects and invalid indexes on the CDB and PDBs.
select * from dba_objects where status != 'VALID' ORDER BY OWNER, OBJECT_TYPE, OBJECT_NAME;
SELECT * FROM ALL_INDEXES d
WHERE (d.status NOT IN ('VALID','N/A')) OR
(d.domidx_status IS NOT NULL AND d.domidx_status NOT IN ('VALID','N/A')) OR
(d.domidx_opstatus IS NOT NULL AND d.domidx_opstatus NOT IN ('VALID','N/A'));
--21.9. RMAN Recovery Catalog Update
--If you have an rman recovery catalog in one of the PDBs then upgrade the recovery catalog version.
Example:
su - oracle
CREATE RESTORE POINT before_rcat_upgrade GUARANTEE FLASHBACK DATABASE;
SELECT * FROM V$RESTORE_POINT;
select * from dba_objects where status != 'VALID' ORDER BY OWNER, OBJECT_TYPE, OBJECT_NAME;
su - oracle
rman target sys/'*****'@mcs1 catalog rman_mcs1/'*****'@rcatmcs1pdb
upgrade catalog;
upgrade catalog;
exit;
su - oracle
--Check Invalid Objects rcat
select * from dba_objects where status != 'VALID' ORDER BY OWNER, OBJECT_TYPE, OBJECT_NAME;
DROP RESTORE POINT before_rcat_upgrade;
SELECT * FROM V$RESTORE_POINT;
--Check Invalid Objects rcat
select * from dba_objects where status != 'VALID' ORDER BY OWNER, OBJECT_TYPE, OBJECT_NAME;
--21.10. copy the esri st_geometry library to the docker container again
--21.11. set the permissions for the folders in the docker container
--Change folder ownership
docker exec -it -u root ora-db-19 bash
chown -R oracle:dba /opt/oracle/orabackup
chown -R oracle:dba /opt/oracle/oradata
ls -la /opt/oracle/
_________________________________________________________________
--22. Best Practices Enterprise Geodatabases in Oracle
Use the database guide books and database templates scripts best practices to create the Enterprise Geodatabase for Oracle.
Mapping and Charting Solutions (MCS) Enterprise Databases Best Practices
*For Professional Database Administrators, requires advanced RDBMS and advanced Geodatabase experience.
_________________________________________________________________
--23. Oracle Alerts, Database Maintenance, Database Backups and Database Restore
You can download the database template scripts for Oracle from the link below, there you will find the scripts for Oracle to configure the alerts, maintenance jobs, database backups.
*For Professional Database Administrators, requires advanced RDBMS and advanced Geodatabase experience.
_________________________________________________________________
--24. FAQ - Frequent Asked Questions: Enterprise Geodatabases in Oracle
How to Move the Oracle Enterprise Geodatabase with the Oracle Data Pump Utility
Oracle eGDB SDE Repo Upgrade Using Oracle Restore Point | Download PDF Version
Pro Branch Version & Oracle Table Compression
How Load Large Featureclass Oracle Geodatabase
ArcSDE User-Schema Geodatabases in Oracle are deprecated
How to Install Database Clients for ArcGIS
How to Install the Oracle Database Client for ArcGIS?
_________________________________________________________________