Visulate Ora2Pg
Run Ora2Pg + Visulate for Oracle on a Google Compute Engine VM.
Prerequisites
- Firewall rules allowing ingress to the Visulate VM on tcp ports 3000 and 443.
- Chrome Remote Desktop host configured to act as a jump server.
- Firewall rules allowing access from the Visulate VM to source (Oracle) and target (PostgreSQL) databases
- Cloud NAT Gateway to access container repositories
Setup Instructions
-
Use the
generate-cert.sh
script to create a self signed X.509 certificatehostname -f ora2pg.us-east1-b.c.my-gcp-project.internal sudo bash generate-cert.sh Generating a RSA private key .++++.......................++++ writing new private key to 'ora2pg-key.pem' Enter PEM pass phrase: Verifying - Enter PEM pass phrase: ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:US State or Province Name (full name) [Some-State]:Florida Locality Name (eg, city) []:Orlando Organization Name (eg, company) [Internet Widgits Pty Ltd]:Visulate Organizational Unit Name (eg, section) []:Ora2Pg Common Name (e.g. server FQDN or YOUR name) []:ora2pg.us-east1-b.c.my-gcp-project.internal Email Address []:
- Set the passphrase for use by nginx and express
- Edit the
pw
file in the certs directory. Replace its value with the passphrase used to generate the certvi certs/pw
- Edit the
.env
file. Update theORA2PG_TLS_CERT_PASSPHRASE
valuevi .env ORA2PG_TLS_CERT_PASSPHRASE=ora2pgkey
- Edit the
-
Start Visulate
sudo bash docker-compose.sh up -d Creating network "visulate_default" with the default driver Creating visulate_ora2pg_1 ... done Creating visulate_reverseproxy_1 ... done Creating visulate_visapi_1 ... done Creating visulate_vissql_1 ... done Creating visulate_visui_1 ... done
-
Use a browser session on the remote desktop to access Visulate via its internal IP address. Access Ora2Pg on port 3000 and Visulate for Oracle on port 443.
-
Stop Visulate
sudo bash docker-compose.sh down Stopping visulate_visui_1 ... done Stopping visulate_vissql_1 ... done Stopping visulate_visapi_1 ... done Stopping visulate_reverseproxy_1 ... done Stopping visulate_ora2pg_1 ... done Removing visulate_visui_1 ... done Removing visulate_vissql_1 ... done Removing visulate_visapi_1 ... done Removing visulate_reverseproxy_1 ... done Removing visulate_ora2pg_1 ... done Removing network visulate_default
- Configure Visulate for Oracle.
-
Use the
create_user.sql
script in theconfig
directory to create a Visulate account in the database(s) you want to documentsudo bash sqlplus.sh SQL*Plus: Release 19.0.0.0.0 - Production on Sun Jul 24 17:49:59 2022 Version 19.14.0.0.0 Copyright (c) 1982, 2021, Oracle. All rights reserved. Enter user-name: system/oracle@oratest.us-east1-b.c.visulate-llc-dev.internal:1521/xe Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production SQL> @/config/create_user Enter value for password: vis1066r old 1: create user visulate identified by &password new 1: create user visulate identified by vis1066r User created. User altered. Grant succeeded. Grant succeeded. Grant succeeded. SQL>
- Edit
database.js
file in theconfig
directory with the connect detailsvi config/database.js const endpoints = [ { namespace: 'testdb', description: 'Example endpoint', connect: { poolAlias: 'testdb', user: 'visulate', password: 'vis1066r', connectString: 'oratest.us-east1-b.c.visulate-llc-dev.internal:1521/xe', poolMin: 4, poolMax: 4, poolIncrement: 0 } } ];
-
Optional Edit
endpoints.json
in theconfig
directory to enable query access for a database. Note: the json key must match an endpoint declared in the database.js file and the json value must match its connectString.vi config/endpoints.json {"testdb":"oratest.us-east1-b.c.visulate-llc-dev.internal:1521/xe"}
- Restart Visulate