Download latest release of Panorama.jar
Panorama as Docker image
Blog about Panorama
Panorama-tutorials at slideshare.net
Video of a presentation of Panorama's functions at ODTUG
Panorama demo
Github repository| Grant | Reason for the grant |
|---|---|
| SELECT ANY DICTIONARY | Default grant for access on DBA_xxx-views. This is the minimum requirement to run Panorama |
| OEM_MONITOR | Starting with Oracle 11.2.0.4 you need this grant to generate Oracle's builtin AWR-reports and ASH-reports |
| SELECT_CATALOG_ROLE | For getting results from DBMS_METADATA.GET_DDL and for Autonomous Database in Oracle cloud you need this role |
| EM_EXPRESS_BASIC | For getting results from DBMS_PERF (Performance Hub report) you need this grant |
| ANALYZE ANY | For getting results from DBMS_SPACE.SPACE_USAGE you need the ANALYZE privilege on the particular object or the ANALYZE ANY privilege |
| SELECT ANY TRANSACTION | Needed for selection on Flashback_Transaction_Query |
| ADVISOR | Needed for execution and result selection of the SQL Tuning Advisor using Package DBMS_SQLTUNE |
| CREATE ANY SQL PROFILE | Needed for creation of SQL profiles when using the SQL Tuning Advisor with Package DBMS_SQLTUNE |
| Grant | Reason for the grant |
|---|---|
| SELECT ON V$DIAG_ALERT_EXT | Allow read on particular table |
| READ ON SYS.DBMS_LOCK_ALLOCATED | Allow read access |
| READ ON gv$BH | Allow read access |
| AUDIT_VIEWER | Allow read access on unified audit view |
* Listening on http://[::]:8080
Use Ctrl-C to stop
java -jar Panorama.jarin a terminal
docker run -p 8080:8080 -d rammpeter/panoramaThis starts the application within one or two minutes. Now you can connect to Panorama's login screen in your browser via
http://<your server>:8080
MAX_CONNECTION_POOL_SIZE |
This setting allows you to define the maximum number of connections in Panorama's connection pool If you don't set this the default is max. 100 connections. That means:
|
MAX_JAVA_HEAP_SPACE_MB |
Set maximum Java heap space memory usable for Panorama in megabytes (Default=1024). The suggested value for multiuser production use is 4096. This attribute works for Docker container only and must be set as environment variable. If running as pure Java program (Panorama.jar) then use the Java parameter -Xmx4096m instead. |
PANORAMA_CONFIG_FILE |
Specify the location and file name of the config file in YAML format. This attribute works only if set as environment variable. |
PANORAMA_LOG_LEVEL=debug|info|warn|error |
Set the level for log output in console. Default log level is "info". |
PANORAMA_LOG_SQL=true |
Force the output of executed SQL statements in console log. This helps to reproduce how Panorama gets information from database (without setting PANORAMA_LOG_LEVEL=debug which logs the same + much more). |
PANORAMA_MASTER_PASSWORD |
Setting the master password as a config attribute adds an additional menu item "Spec. additions"/"Admin login" in Panorama GUI. Applying this password at "Admin logon" adds additional control functions to the GUI menu, e.g. Panorama-Sampler configuration. |
PANORAMA_USAGE_INFO_MAX_AGE |
Maximum age in days for logging records in Usage.log to comply with european GDPR rules.
Set to 0 to completely disable logging into Usage.log. |
PANORAMA_VAR_HOME |
Panorama stores encrypted session connect data and usage log in local filesystem. This setting controls the used directory. For the Panorama.jar the default is a subdir Panorama in a temporary folder. For the Docker container the default is /var/opt/panorama and it is suggested to mount this directory to the local filesystem outside the Docker container. |
SECRET_KEY_BASE |
Server side key used to encrypt stored connection info. See also What about security? |
SECRET_KEY_BASE_FILE |
Location of file with server side key used to encrypt stored connection info. See also What about security? |
java -jar Panorama.jar <options>:
-p or --port <port>: Server listens on that port. Default port is 8080.
-b or --bind <IP address>: Bind server to a specific address. Default is 0.0.0.0. (all addresses)
-v $TNS_ADMIN/tnsnames.ora:/etc/tnsnames.ora -e TNS_ADMIN=/etc
-v $TNS_ADMIN/tnsnames.ora:/etc
-e TZ="Europe/Berlin"
/var/opt/panorama/config.ymlwith your secure settings, use environment variables for some other:
# User-specific configuration file for Panorama
PANORAMA_LOG_SQL: true
PANORAMA_VAR_HOME: /var/opt/panorama
SECRET_KEY_BASE: 923863l82g2j4797h87g13451v4s589es27g...
Call Panorama using this config file:
PANORAMA_CONFIG_FILE=/var/opt/panorama/config.yml java -jar Panorama.jar -p 8080
docker run --name panorama -p 8080:8080 \ -v $TNS_ADMIN/tnsnames.ora:/etc/tnsnames.ora \ -v /var/opt/panorama:/var/opt/panorama \ -e TNS_ADMIN=/etc -e TZ="Europe/Berlin" \ -e MAX_JAVA_HEAP_SPACE_MB=1024 \ -e PANORAMA_CONFIG_FILE=/var/opt/panorama/config.yml -d rammpeter/panorama
SECRET_KEY_BASE) which is salted with a unique client key specific to your browser instance (stored as browser cookie).
PANORAMA_VAR_HOMEcompletely encrypted the same way like passwords.
SECRET_KEY_BASEwith the key value.
SECRET_KEY_BASE_FILEto the location of this file.
SECRET_KEY_BASEor
SECRET_KEY_BASE_FILEthen a system generated key is used for encryption.
PANORAMA_VAR_HOME.
PANORAMA_VAR_HOMEthen your systems temporary folder is used to store the encyryption key base as well as the saved encrypted login credentials.
tnsnames.orafor TNS name resolution it should be located at server site in
$ORACLE_HOME/network/adminor in a directory targeted by environment variable
TNS_ADMIN.
PANORAMA_VAR_HOME
http://<your server ip>:8080/usage/connection_pool