Download
Latest Release 0.6.710-20251213.3
Files
| orclT_0.6.710-20251213.3_Darwin_arm64.zip | 18 MiB | 2025-12-14 00:19:56 | 0 | 3ede3dc24b4c0865fb127fe9a0115ae0cac45b0b622d7740c13a7ffc6e5f74b4 | |
| orclT_0.6.710-20251213.3_Darwin_x86_64.zip | 18 MiB | 2025-12-14 00:19:58 | 0 | f74fc9a19c8bda2d0188c54aae990942d30b176318a6be56373641ad6e62d336 | |
| orclT_0.6.710-20251213.3_linux_amd64.apk | 20 MiB | 2025-12-14 00:19:48 | 10 | 1208283a7ab5853917bbce68c659340d9d3bf459f9443359f1b0ffbf3ee1de1f | |
| orclT_0.6.710-20251213.3_linux_amd64.deb | 19 MiB | 2025-12-14 00:19:47 | 0 | 4ba37feb8ba891da68b99501c50b6be01bb35de901b44936893b62e347b62ed1 | |
| orclT_0.6.710-20251213.3_linux_amd64.rpm | 20 MiB | 2025-12-14 00:19:56 | 0 | f50d5ad0a39a0f898769eb97bea03a72090514f187237e81aae5c7a854e1c9ee | |
| orclT_0.6.710-20251213.3_linux_arm64.apk | 19 MiB | 2025-12-14 00:19:56 | 5 | 093198d4112947cf5ac52d953a69a0f0fccc9cf9872c59d916ff2e118a0ed039 | |
| orclT_0.6.710-20251213.3_linux_arm64.deb | 18 MiB | 2025-12-14 00:19:56 | 0 | c07403d43b2065fb7039701c34e49030d13e35de4149cf4cc31fad18257b33b7 | |
| orclT_0.6.710-20251213.3_linux_arm64.rpm | 19 MiB | 2025-12-14 00:19:56 | 0 | c157aeb3bfbd0c75f9f859f4116d66041f3dce9b1b2e8d02a1ff0f0949028287 | |
| orclT_0.6.710-20251213.3_Linux_arm64.zip | 18 MiB | 2025-12-14 00:19:56 | 0 | b10b77bcbbb8c30a2f0b68656a0606748ed0c06cabddd5360cf0a27f8d7868d7 | |
| orclT_0.6.710-20251213.3_Linux_x86_64.zip | 19 MiB | 2025-12-14 00:19:56 | 0 | b9e56b40a71ba52247cafd35561d0529f6310f048581311a3edadedfb48cc0ea | |
| orclT_0.6.710-20251213.3_Solaris_x86_64.zip | 16 MiB | 2025-12-14 00:19:55 | 0 | 10e6528abea757692e5c44975adb276540749219b6b6726fc1ef66d87cf48a46 | |
| orclT_0.6.710-20251213.3_Windows_x86_64.zip | 18 MiB | 2025-12-14 00:19:56 | 0 | 06dfb8adb662c3c32aecf2ef5eb1e0487c4821f049855beb671267352838545b |
orclT
orclT
A comprehensive collection of tools for working with Oracle databases. This toolkit includes utilities for downloading patches, creating gold images, applying patches, and performing database analysis operations.
Overview
orclT provides a unified command-line interface for Oracle database administrators and developers to streamline common tasks such as:
- Database Operations: LOB analysis, compression analysis, performance monitoring
- Patch Management: Download, apply, and manage Oracle patches
- Gold Image Creation: Create standardized Oracle installation images
- MOS Integration: Direct integration with My Oracle Support
Downloads
| Artifact | Description |
|---|---|
| Latest release | Prebuilt binaries and checksums for all supported platforms |
| All releases | Historical builds and release notes |
Installation
# Download the latest release from the downloads table above (GitHub Releases)
# Or build from source:
go build -o orclT
Recent Enhancements
v0.6.681+ includes significant improvements:
- Spinner Animation UI: Enhanced user feedback during long-running operations with smooth Braille spinner animations
- Database Identification: Automatic CDB/PDB detection with formatted display (e.g.,
PRODCDB[DEVPDB]for PDB instances) - Parameter Visibility: Comprehensive “Using parameters:” section in LOB analysis showing SQL timeout, schema, table, and compression settings
- Graceful Shutdown: Context-aware signal handling with timeout management for clean operation termination
- Enhanced Test Coverage: 171+ unit and integration tests with mocked database operations ensuring reliability
- Improved SQL Timeout Handling: Special formatting for timeout values (0 = “no time limit”, 120 = “default”, custom = “X seconds”)
Usage
orclT [command] [flags]
Available Commands
| Command | Description |
|---|---|
app |
Application information and management (package dependencies, licensing) |
database |
Database operations (LOB, performance, recovery, segment analysis) |
mos |
My Oracle Support tools (file upload) |
patch |
Patching tools (download, gold image creation) |
ssh |
SSH tunnel management with concurrent multi-tunnel support |
help |
Help about any command |
CLI Flag Reference
These tables list every flag exposed by the CLI. Global flags apply to all commands, while command-specific flags are scoped to the subcommand shown in each heading.
Root (orclT)
| Flag | Short | Description |
|---|---|---|
--debug |
-D |
Enable debug mode |
--delete-credentials |
Delete all credentials (MOS, SSH, and DB) from keystore | |
--help |
-h |
Show help information |
--log |
-L |
Append execution details to the log file |
--no-confirmation |
-Y |
Disable confirmation prompts |
--save-credentials |
Save all credentials (MOS, SSH, and DB) to keystore | |
--verbose |
-V |
Enable verbose output |
App Packages (orclT app packages)
| Flag | Short | Description |
|---|---|---|
--list |
-l |
List every dependency with license and GitHub metadata |
ASM Disks (orclT asm disks)
| Flag | Description |
|---|---|
--list-asmdisks |
List ASM disks with detailed attributes |
--qemu-devices |
List QEMU/SCSI devices with their IDs |
Backup (orclT backup)
| Flag | Description |
|---|---|
--src |
Source path to back up (file or directory) |
--name |
Backup object name (defaults to timestamp) |
--backend |
Backend type: s3, minio, nfs, or local (default local) |
--archive |
Create tar.gz from source before upload (default true) |
--backup-type |
Backup profile: oracle, rac, or host (default host) |
--parallel |
Parallelism for future multi-part uploads (default 2) |
--include |
Include only paths containing any of these substrings |
--exclude |
Exclude paths containing any of these substrings |
--follow-symlinks |
Follow symbolic links during archiving |
--preserve-perms |
Preserve file permissions inside the archive |
--include-asm-disks |
Include Oracle ASM disks (raw copy) in the backup |
--dest-path |
Destination path for local or NFS backend |
--s3-bucket |
S3 bucket name |
--s3-region |
S3 region |
--s3-endpoint |
Custom S3 endpoint (optional) |
--s3-profile |
S3 credentials profile (optional) |
--s3-force-path-style |
Use path-style addressing for S3-compatible stores |
--minio-endpoint |
MinIO endpoint (host:port) |
--minio-access-key |
MinIO access key |
--minio-secret-key |
MinIO secret key |
--minio-bucket |
MinIO bucket name |
--minio-secure |
Use HTTPS when connecting to MinIO (default true) |
Database Command (orclT database)
| Flag | Short | Description |
|---|---|---|
--username |
-u |
Database username |
--password |
-p |
Database password |
--db-url |
-d |
JDBC URL for the database connection (host:port/service) |
--sysdba |
Connect as SYSDBA | |
--oracle-client-path |
Path to Oracle Client libraries for SYSDBA or godror connections | |
--oracle-instant-client-path |
Path to Oracle Instant Client directory (alternative to --oracle-client-path) |
|
--use-godror |
Use the godror driver instead of go_ora (requires Oracle Client libraries) | |
--sql-timeout |
Maximum duration in seconds for SQL statements (0 disables the timeout) |
Database Benchmark — connection
| Flag | Description |
|---|---|
--target-host |
Target database hostname or IP address |
--target-port |
Target database port (default 1521) |
--service-name |
Database service name |
--connections |
Number of concurrent connections (default 10) |
--duration |
Benchmark duration in seconds (default 30) |
--max-requests |
Maximum requests per connection (0 = unlimited) |
--connection-timeout |
Connection timeout in seconds (default 30) |
--think-time |
Think time between operations in milliseconds (default 1000) |
--connection-mode |
Session mode: NONE, DEDICATED, SHARED, or DRCP |
--report-file |
Output report file path |
Database LOB Commands (common flags)
| Flag | Short | Description |
|---|---|---|
--schema |
-s |
Schema name |
--table |
-t |
Table name |
--column |
-c |
Column name (for LOBs) |
--partition |
-n |
Partition name for partition-scoped analysis |
--lob |
-l |
LOB segment name |
--table-as-whole |
-w |
Ignore partition filter and scan the whole table |
--all-non-oracle-maintained |
-a |
Include all non-Oracle maintained schemas |
--parallel |
-P |
Degree of parallelism (default 1) |
--report-file |
-r |
Output Excel file name |
--size-in-bytes |
-b |
Display sizes in bytes instead of human-readable units |
database lob storage-analysis
| Flag | Description |
|---|---|
--use-dictionary-statistics |
Use dictionary statistics instead of scanning tables |
--lob-row-limit-threshold |
LOB size threshold in bytes (default 4000) |
--lob-null-percentage-threshold |
Null percentage threshold (default 50) |
--space-wasted-percentage-threshold |
Space waste percentage threshold (default 50) |
--chunk-avg-size-ratio-threshold |
Chunk to average LOB size ratio threshold (default 1.0) |
database lob compression-analysis
| Flag | Description |
|---|---|
--compression-type |
Compression type (COMP_LOB_HIGH, COMP_LOB_MEDIUM, COMP_LOB_LOW) |
--subset-rows |
Row sampling level for compression ratio estimation |
--scratch-tablespace |
Scratch tablespace for compression analysis (default USERS) |
Database Segment (orclT database segment)
| Flag | Short | Description |
|---|---|---|
--compression-analysis |
-e |
Analyze compression ratio for segments |
--schema |
-s |
Schema name |
--table |
-t |
Table name |
--column |
-c |
Column name (for LOBs) |
--all-non-oracle-maintained |
-a |
Include all non-Oracle maintained schemas |
--parallel |
-P |
Degree of parallelism (default 1) |
--scratch-tablespace |
-S |
Scratch tablespace (default USERS) |
--report-file |
-r |
Output Excel file name |
Database Performance — osdbperf
| Flag | Description |
|---|---|
--hostsfile |
File containing host list |
--host |
Single host to check |
--username |
SSH username |
--password |
SSH password |
--ssh-key-file |
SSH private key file |
--total_count |
Total collection iterations (default 1) |
--interval |
Interval between iterations in seconds (default 5) |
--timestamp |
Include timestamp in output |
--sortbyses |
Sort output by session count |
--dbbyrow |
Transpose output (DBs by row, servers by column) |
--dbsession |
Include database session distribution |
--ccpuusage |
Include cumulative CPU usage |
--icpuusage |
Include immediate CPU usage |
Database Performance — compare
| Flag | Description |
|---|---|
--target-username |
Target database username |
--target-password |
Target database password |
--target-db-url |
JDBC URL for the target database |
--target-sysdba |
Connect to target as SYSDBA |
--target-sysoper |
Connect to target as SYSOPER |
--target-connection-mode |
Target session mode (DEDICATED, SHARED, DRCP) |
--source-alias |
Label for source columns (default SOURCE) |
--target-alias |
Label for target columns (default TARGET) |
--ignore-parameter |
Parameter name to ignore (repeatable) |
--show-all |
Display all parameters, not only differences |
--report-file |
Generate an Excel report (optional filename; defaults to timestamped name) |
Database Performance — plan
| Flag | Description |
|---|---|
--create-sql-baseline |
Create a SQL baseline |
--create-sql-profile |
Create a SQL profile |
--create-sql-patch |
Create a SQL patch |
--sql-id-analysis |
Analyze SQL statements by SQL ID |
--sql-id |
SQL ID to analyze |
--plan-hash-value |
Plan hash value to analyze |
--fixed |
Create SQL baseline as fixed |
--disabled |
Create SQL baseline as disabled |
--hint |
Hint text for SQL patch creation |
--show-plan-info |
Display detailed plan information |
--show-plan-outline |
Display plan outline |
--sql-profile-category |
SQL profile category (default DEFAULT) |
--sql-profile-name |
SQL profile name |
--sql-profile-force-match |
Enable FORCE MATCHING for profile |
--sql-profile-replace |
Replace existing SQL profile |
--sql-profile-recreate |
Drop and recreate SQL profile |
--sql-profile-child-number |
Child number of SQL plan |
database performance plan regression
| Flag | Description |
|---|---|
--limit |
Limit number of rows (0 = unlimited) |
--min-factor |
Minimum regression factor to include |
--min-seconds |
Minimum regression seconds delta to include |
--include-improved |
Include improved SQL statements |
Database Performance — top
View selection, HTML, and row limits
| Flag | Description |
|---|---|
--sessions-only |
Start in Sessions fullscreen view |
--asm-only |
Start in ASM fullscreen view |
--longops-only |
Start in LongOps fullscreen view |
--engineered-only |
Start in Engineered Systems fullscreen view |
--rman-only |
Start in RMAN fullscreen view |
--locks-only |
Start in Locks fullscreen view |
--rac-only |
Start in RAC fullscreen view |
--io-only |
Start in IO fullscreen view |
--dataguard-only |
Start in Data Guard fullscreen view |
--objects-only |
Start in Objects fullscreen view |
--tablespaces-only |
Start in Tablespaces fullscreen view |
--statistics-only |
Start in Statistics fullscreen view |
--memory-only |
Start in Memory fullscreen view |
--os-only |
Start in OS Statistics fullscreen view |
--sqlregression-only |
Start in SQL Regression fullscreen view |
--top-sql |
Start in Top SQL fullscreen view |
--html |
Serve Redwood-styled HTML dashboard |
--html-port |
Port for HTML server (default 8080) |
--sql-sort |
Sort metric for Top SQL view (elapsed, cpu, gets, reads, execs) |
--sql-limit |
Row limit for Top SQL view (default 50) |
--longops-limit |
Row limit for LongOps view (0 = auto) |
--rman-limit |
Row limit for RMAN view (0 = auto) |
--locks-limit |
Row limit for Locks view (0 = auto) |
--rac-limit |
Row limit for RAC view (0 = auto) |
--io-limit |
Row limit for IO view (0 = auto) |
--objects-limit |
Row limit for Objects view (0 = auto) |
--tablespaces-limit |
Row limit for Tablespaces view (0 = auto) |
--os-limit |
Row limit for OS Statistics view (0 = auto) |
Interval overrides
| Flag | Default (s) | Description |
|---|---|---|
--database-interval |
60 | Refresh cadence for database summary tiles |
--sessions-interval |
30 | Sessions grid refresh interval |
--instances-interval |
60 | RAC instances overview refresh interval |
--pdbs-interval |
60 | PDB heat-map refresh interval |
--events-interval |
60 | Wait events panel refresh interval |
--engineered-db-interval |
5 | Engineered DB nodes refresh interval |
--engineered-cell-interval |
5 | Engineered cell nodes refresh interval |
--engineered-cell-hw-interval |
30 | Engineered cell hardware metrics refresh interval |
--engineered-cell-alerts-interval |
30 | Engineered cell alerts refresh interval |
--asm-clients-interval |
10 | ASM clients refresh interval |
--asm-attributes-interval |
30 | ASM attributes refresh interval |
--asm-diskgroups-interval |
15 | ASM diskgroups refresh interval |
--asm-disks-interval |
15 | ASM disks refresh interval |
--asm-volumes-interval |
30 | ASM volumes refresh interval |
--rman-interval |
10 | RMAN summary refresh interval |
--locks-interval |
5 | Locks refresh interval |
--rac-interval |
5 | RAC services refresh interval |
--io-interval |
5 | IO performance refresh interval |
--objects-interval |
30 | Hot objects refresh interval |
--tablespaces-interval |
60 | Tablespaces capacity refresh interval |
--dataguard-config-interval |
30 | Data Guard configuration refresh interval |
--dataguard-standby-interval |
10 | Data Guard standby metrics refresh interval |
--dataguard-managed-standby-interval |
10 | Data Guard managed standby process refresh interval |
--dataguard-recovery-progress-interval |
10 | Data Guard recovery progress refresh interval |
--dataguard-mrp0-status-interval |
10 | Data Guard MRP0 status refresh interval |
--statistics-outdated-interval |
60 | Outdated statistics refresh interval |
--statistics-system-interval |
300 | System statistics refresh interval |
--statistics-calibration-interval |
300 | In-memory statistics calibration refresh interval |
--statistics-jobs-interval |
120 | Statistics jobs refresh interval |
--statistics-config-interval |
300 | Statistics configuration refresh interval |
--memory-interval |
30 | Memory overview refresh interval |
--os-interval |
30 | OS Statistics refresh interval |
--sqlregression-interval |
30 | SQL Regression panel refresh interval |
--sql-interval |
5 | Top SQL refresh interval |
--longops-interval |
10 | Long operations refresh interval |
Database Proxy (orclT database proxy)
| Flag | Description |
|---|---|
--proxy-host |
Proxy server hostname or IP address |
--proxy-port |
Proxy server port (default 1521) |
--proxy-user |
Proxy server username |
--proxy-password |
Proxy server password |
--target-host |
Target database hostname or IP address |
--target-port |
Target database port (default 1521) |
--target-service |
Target database service name |
--ssl |
Enable SSL/TLS for proxy connections |
--ssl-mode |
SSL mode (disable, allow, prefer, require) |
--cert-file |
SSL certificate file path |
--key-file |
SSL private key file path |
--ca-file |
SSL CA certificate file path |
--max-connections |
Maximum concurrent connections |
--connection-timeout |
Connection timeout in seconds (default 30) |
--enable-logging |
Enable proxy connection logging |
--log-level |
Logging level (debug, info, warn, error) |
--show-stats |
Display proxy statistics and connection information |
database proxy status
The status subcommand reuses the same flags as database proxy so it can run independently of the main proxy launcher.
Database Recovery — verify
| Flag | Description |
|---|---|
--control-file |
Path to the control file used for verification |
MOS Command (orclT mos)
| Flag | Description |
|---|---|
--mosuser |
My Oracle Support username (persistent across all MOS subcommands) |
--mospass |
My Oracle Support password (persistent across all MOS subcommands) |
mos upload
| Flag | Short | Type | Description |
|---|---|---|---|
--delete-mos-credentials |
Persistent | Delete MOS credentials from the keystore | |
--file |
-f |
Local | Path to the file to upload |
--sr |
-s |
Local | Service Request ID to associate with the upload |
--rename-uploaded-file |
-r |
Local | Rename the uploaded file to a custom name |
Note: Use the root-level --save-credentials flag to persist MOS, database, or SSH credentials to the secure keystore. Persistent flags are inherited by all subcommands; Local flags are specific to the subcommand.
Patch Command — download
| Flag | Description |
|---|---|
--mosuser |
My Oracle Support username |
--mospass |
My Oracle Support password |
--delete-mos-credentials |
Delete MOS credentials from the keystore |
--patchid |
Comma-separated list of patch numbers |
--platform |
Comma-separated list of platform identifiers |
--regexp |
Regular expression filter for patch filenames |
--target-dir |
Download destination directory |
--create-directory-tree |
Create directory tree (BUNDLE, ONEOFF, TOOLS) |
--version |
Oracle version (latest RU for the version is downloaded) |
--release |
Oracle release (for example 19.25) |
--include-ahf |
Include Autonomous Health Framework |
--include-opatch |
Include OPatch |
--include-cvu |
Include Cluster Verification Utility |
--include-rda |
Include Remote Diagnostic Agent |
--include-autoupgrade |
Include AutoUpgrade |
--include-apex |
Include Oracle APEX |
--include-apex-bundle |
Include APEX bundle patches |
--include-oeda |
Include Oracle Exadata Deployment Assistant |
--include-patchmgr |
Include Exadata Patch Manager |
--include-all-tools |
Include all available tooling bundles |
--include-exadata-tools |
Include Exadata-specific tools |
--include-gold-images |
Include Oracle Gold Images |
--exclude-ru |
Exclude Release Updates |
--recommended |
Download recommended patches (MOS 555.1 / 888.1) |
--just-list |
List matching patches without downloading |
--list-platforms |
List platforms supported by the query |
--force |
Overwrite existing files |
--online |
Run oraPatchFetch in online mode |
--parallel |
Number of concurrent downloads (0 = auto) |
--chunksize |
Download chunk size in KB (default 8192) |
--download-timeout |
Download timeout per patch in seconds (default 600) |
Patch Command — goldimage
| Flag | Description |
|---|---|
--mosuser |
My Oracle Support username (required) |
--mospass |
My Oracle Support password |
--patchid |
Comma-separated list of patch numbers |
--platform |
Comma-separated list of platform identifiers |
--regexp |
Regular expression filter for patch filenames |
--targetdir |
Download destination directory |
--version |
Oracle version |
--release |
Oracle release |
--include-ahf |
Include Autonomous Health Framework |
--include-opatch |
Include OPatch |
--include-autoupgrade |
Include AutoUpgrade |
--include-cvu |
Include Cluster Verification Utility |
--include-all-tools |
Include all tooling bundles |
--include-gold-images |
Include Oracle Gold Images |
--exclude-ru |
Exclude Release Updates |
--recommended |
Download recommended patches (MOS 555.1 / 888.1) |
--justlist |
List matching patches without downloading |
--list-platforms |
List platforms supported by the query |
--force |
Overwrite existing files |
--parallel |
Enable parallel downloads |
--parallel-limit |
Limit the number of parallel downloads (default 4) |
--chunksize |
Download chunk size in KB (default 8192) |
SSH Command (orclT ssh)
| Flag | Type | Default | Description |
|---|---|---|---|
--config-file |
string | Path to JSON tunnel config file | |
--ssh-host |
string | SSH server hostname or IP | |
--ssh-port |
int | 22 | SSH server port |
--ssh-user |
string | SSH username | |
--ssh-password |
string | SSH password (or enc: prefix for encrypted) |
|
--use-keyfile |
bool | false | Use SSH key file for authentication |
--keyfile |
string | ~/.ssh/id_rsa | Path to SSH private key |
--keypass |
string | SSH key passphrase | |
--compression |
bool | false | Enable SSH compression (equivalent to ssh -C) |
--local-bind |
string | 127.0.0.1 | Local address to bind to |
--local-port |
int | Local port for tunnel | |
--target-host |
string | Target host (as seen from SSH server) | |
--target-port |
int | Target port | |
--connection-timeout |
int | 10 | Connection timeout in seconds |
--max-connections |
int | 100 | Maximum concurrent connections |
--keep-alive-interval |
int | 30 | Keep-alive interval in seconds |
--keep-alive-count |
int | 3 | Keep-alive count before timeout |
--enable-logging |
string | Enable debug logging (optional filename) | |
--log-level |
string | info | Log level: debug, info, warn, error |
--show-ping |
bool | false | Display SSH and target ICMP latency |
--show-details |
bool | false | Show detailed connection info in info pane |
--show-closed |
bool | false | Show closed connections in TUI (toggle with ‘c’) |
--save-known-host |
bool | true | Save SSH host key to known_hosts |
--ignore-host-key |
bool | false | Skip SSH host key verification |
--no-ui |
bool | false | Run in text mode without TUI |
--daemonize |
bool | false | Run in background with logging to file |
--create-sample-config |
bool | false | Generate sample config file and exit |
Examples
# Application Information - List package dependencies
orclT app packages --list
# Database Operations - LOB Storage Analysis
orclT database lob storage-analysis --schema TESTUSER --table TESTTABLE --username sys --password [password] --db-url db.example.com:1521/TESTDB
orclT database lob storage-analysis --all-non-oracle-maintained --username sys --password [password] --db-url db.example.com:1521/TESTDB --parallel 4 --no-confirmation
orclT database lob storage-analysis --sysdba --schema TESTUSER --parallel 4 --use-dictionary-statistics --size-in-bytes # Local BEQ connection (no db-url)
# Database Operations - LOB Compression Analysis
orclT database lob compression-analysis --schema TESTUSER --table TESTTABLE --compression-type COMP_LOB_HIGH --username sys --password [password] --db-url db.example.com:1521/TESTDB
orclT database lob compression-analysis --all-non-oracle-maintained --username sys --password [password] --db-url db.example.com:1521/TESTDB --parallel 4 --size-in-bytes
orclT database lob compression-analysis --sysdba --all-non-oracle-maintained --parallel 4 --scratch-tablespace TEMP # Local BEQ connection (no db-url)
# Database Operations - Performance Analysis
orclT database performance osdbperf --db-url db.example.com:1521/TESTDB --username sys --password [password]
orclT database performance osdbperf --host dbhost.example.com --username oracle --dbsession --ccpuusage
orclT database performance osdbperf --hostsfile /path/to/hosts.txt --ssh-key-file ~/.ssh/id_rsa --interval 10 --total_count 5
orclT database performance osdbperf --host dbhost.example.com --username oracle --password [password] --save-ssh-credentials --dbsession
orclT database performance osdbperf --host dbhost.example.com --username oracle --save-credentials --icpuusage --timestamp
# SQL Plan Operations
orclT database performance plan --create-sql-baseline --username sys --password [password] --db-url db.example.com:1521/TESTDB --sql-id a79s8ztgh1t4r --plan-hash-value 3914114133
orclT database performance plan --create-sql-profile --username sys --password [password] --db-url db.example.com:1521/TESTDB --sql-id 01d5n1nm17r2h --plan-hash-value 4058539434 --no-confirmation
# Database Operations - Real-time Performance Monitoring
orclT database performance top --username sys --password [password] --db-url db.example.com:1521/TESTDB
orclT database performance top --sysdba --db-url db.example.com:1521/TESTDB # Local BEQ connection
orclT database performance top --sysdba --db-url db.example.com:1521/TESTDB --top-sql # start directly in Top SQL fullscreen
orclT database performance top --sysdba --db-url db.example.com:1521/TESTDB --sessions-only
orclT database performance top --sysdba --db-url db.example.com:1521/TESTDB --locks-only --locks-interval 8 --locks-limit 200
orclT database performance top --sysdba --db-url db.example.com:1521/TESTDB --dataguard-only
orclT database performance top --sysdba --db-url db.example.com:1521/TESTDB --sqlregression-only --sqlregression-interval 45
orclT database performance top --sysdba --db-url db.example.com:1521/TESTDB --tablespaces-only --tablespaces-interval 60
orclT database performance top --sysdba --db-url db.example.com:1521/TESTDB --engineered-only --engineered-db-interval 10 --engineered-cell-hw-interval 90
orclT database performance top --sysdba --db-url db.example.com:1521/TESTDB --os-only --os-interval 15 --os-limit 200
orclT database performance top --sysdba --db-url db.example.com:1521/TESTDB --html --html-port 9080
# Database Operations - Top SQL (via top)
orclT database performance top --sysdba --db-url db.example.com:1521/TESTDB --top-sql --sql-interval 3 --sql-limit 100 --sql-sort cpu
# Database Operations - Segment Analysis
orclT database segment --compression-analysis --schema TESTUSER --table TESTTABLE
# Database Operations - Recovery
orclT database recovery verify --control-file /u01/app/oracle/oradata/TESTDB/controlfile/o1_mf_control01.ctl
# Patch Management - Download specific patches
orclT patch download --mosuser [email protected] --mospass [password] --patchid 36878697 --platform 226P --target-dir /tmp --regexp ".*19000.*"
orclT patch download --mosuser [email protected] --mospass [password] --version 19c --platform 226P --target-dir /tmp --debug --exclude-ru
# Patch Management - Download with tools and parallel processing
orclT patch download --mosuser [email protected] --mospass [password] --platform 226P --target-dir /mnt/f/temp/oracle --include-autoupgrade --include-opatch --include-ahf --version 23ai --parallel 8
# Patch Management - Download gold images with directory structure
orclT patch download --mosuser [email protected] --mospass [password] --platform 226P --target-dir /mnt/f/temp/oracle --include-gold-images --version 19c --parallel 8 --create-directory-tree
# Patch Management - Download all tools for specific version
orclT patch download --mosuser [email protected] --mospass [password] --platform 226P --target-dir /mnt/f/temp/oracle --version 19c --parallel 8 --create-directory-tree --save-credentials --include-all-tools
# Patch Management - Download using saved credentials
orclT patch download --platform 226P --target-dir /mnt/f/temp/oracle --version 19c --parallel 8 --create-directory-tree --include-all-tools
# Patch Management - Create Gold Images
orclT patch goldimage --patchid 12345678 --platform 226P --version 19c
# MOS Operations - Upload files to Service Request
orclT mos upload --mosuser [email protected] --mospass [password] --sr 3-4XXXXXXXXXX --file /tmp/dbserver_ora_12345.trc --rename-uploaded-file trace_10046_0.txt
# SSH Tunnel Management - Single tunnel with SSH key
orclT ssh tunnel \
--ssh-host jump.example.com \
--ssh-user ubuntu \
--use-keyfile \
--keyfile ~/.ssh/id_rsa \
--local-port 5432 \
--target-host database.internal \
--target-port 5432
# SSH Tunnel Management - Multiple tunnels from config file
orclT ssh tunnel --config-file tunnels.json
# SSH Tunnel Management - Run without TUI (server mode)
orclT ssh tunnel --config-file tunnels.json --no-ui
# Database Benchmark - Connection test
orclT database benchmark connection \
--target-host db.example.com \
--target-port 1521 \
--service-name TESTDB \
--connections 10 \
--duration 60
# Database Proxy - Start proxy and check status
orclT database proxy \
--proxy-host 0.0.0.0 \
--proxy-port 1521 \
--target-host db.example.com \
--target-port 1521 \
--target-service TESTDB
orclT database proxy status --proxy-host 0.0.0.0 --proxy-port 1521
Database Operations
Application Information
Overview:
- Package Dependencies: View comprehensive list of all Go packages and dependencies used by orclT
- Licensing Information: Display GitHub URLs and license information for each package
- Dependency Classification: Separate direct and indirect dependencies for better understanding
Key Features:
- Complete inventory of 27+ packages (direct and indirect dependencies)
- GitHub repository links for each package
- License information (MIT, BSD-3-Clause, Apache-2.0, UPL-1.0, ISC, Unlicense)
- Clear separation between direct and indirect dependencies
- Package count summaries and organized output
LOB Analysis
Overview:
orclT provides comprehensive LOB analysis capabilities to optimize storage, evaluate compression benefits, and assess deduplication opportunities.
Key Features:
-
Storage Analysis: Analyze LOB storage patterns, chunk sizes, and storage recommendations
- In-row vs out-of-row LOB placement analysis
- Chunk size optimization recommendations
- Storage waste identification and reporting
- Configurable thresholds for detailed analysis
-
Compression Analysis: Evaluate LOB compression ratios using DBMS_COMPRESSION
- Support for HIGH/MEDIUM/LOW compression types (COMP_LOB_HIGH, COMP_LOB_MEDIUM, COMP_LOB_LOW)
- Estimation of compression benefits before applying
- Scratch tablespace support for compression calculations
- Subset row sampling strategies (MINROWS, MAXROWS, ALLROWS)
-
Deduplication Analysis: Assess deduplication opportunities using DBMS_SECUREFILES (Oracle 23ai+)
- Identify duplicate LOB content across tables
- Calculate potential space savings
- Generate recommendations for deduplication strategy
-
Advanced Processing:
- Partition-specific analysis for partitioned tables
- Parallel processing with configurable degree of parallelism
- Custom thresholds for analysis criteria (null percentage, space waste, chunk ratio)
- Excel report generation with detailed metrics
- Dictionary statistics vs table scan modes
-
Schema Targeting: Must specify either
--schemafor specific analysis or--all-non-oracle-maintainedfor all non-Oracle schemas
Command Structure:
# LOB subcommands (required database credentials and schema specification)
orclT database lob compression-analysis [flags]
orclT database lob storage-analysis [flags]
# IMPORTANT: Either --schema or --all-non-oracle-maintained must be specified
# Database credentials (--username, --password, --db-url) are required unless using --sysdba (local BEQ without db-url)
# Examples:
orclT database lob storage-analysis --schema TESTUSER --username sys --password [password] --db-url db.example.com:1521/TESTDB
orclT database lob compression-analysis --all-non-oracle-maintained --username sys --password [password] --db-url db.example.com:1521/TESTDB
Performance Tools
Overview:
orclT provides comprehensive performance analysis tools with both interactive TUI and web-based dashboards for detailed Oracle system monitoring.
Key Features:
-
Real-time Performance Monitoring: Interactive monitoring with TUI and Oracle Redwood-styled HTML interfaces
- Instance & Session Overview: RAC-aware instance health with per-instance ICMP latency measurements
- PDB status heat-maps with detailed session activity
- Keyboard-driven navigation for intuitive exploration
- Extended Sections: Dedicated views for Data Guard, ASM, Engineered Systems, I/O, Locks, RMAN, Objects, Tablespaces, Statistics, and SQL Regression
- OS Metrics with GV$OSSTAT REALTIME data merged with historical samples
- Wide table scrolling with column presets aligned to TUI source of truth
- HTML Dashboard Mode: WebSocket-based Redwood color scheme display ideal for NOC displays
-
SQL Regression Analysis: Detect plan changes across upgrades
- Pre/post-upgrade performance comparison using DBA_HIST
- Plan hash change correlation with execution time deltas
- Color-coded status highlighting (red = regressed, green = improved)
- SQL text previews for quick triage
- Accessible in TUI via
--sqlregression-onlyor HTML dashboard - Customizable refresh intervals via
--sqlregression-interval
-
OS vs Database Performance: Compare metrics across multiple hosts
- Single host (
--host) or multiple hosts (--hostsfile) analysis - SSH connectivity with hostname/IP validation
- Authentication options: password, SSH key file, or SSH agent
- Database session distribution tracking
- CPU usage analysis (cumulative and immediate)
- Timestamp tracking for time-series correlation
- Flexible output formats with sorting and transposition
- Single host (
-
Credential Management: Comprehensive SSH and DB credential storage
--save-credentials: Save all credentials to secure keystore (global flag)--delete-credentials: Remove all credentials from keystore- Persistent across all performance subcommands
- Encrypted storage with automatic loading
-
Customization & Control:
- Per-section
--*-intervalflags for refresh tuning without code changes - Per-section
--*-limitflags for row limits (0 = auto) - View-specific selectors:
--sessions-only,--asm-only,--dataguard-only, etc. - SQL sort metrics: elapsed time, CPU, gets, reads, executions
- Per-section
For an exhaustive list of view selectors, Redwood HTML options, interval overrides, and row limits available to orclT database performance top, see the dedicated tables in the CLI Flag Reference section.
Recovery Operations
Overview:
orclT provides comprehensive database recovery and verification tools for ensuring data integrity and recovery readiness.
Key Features:
-
Control File Verification: Validate control file integrity and consistency
- Structural validation of control file format
- Consistency checks across multiple control file copies
- Recovery readiness assessment
- Detailed error reporting with remediation suggestions
-
SQL Verify: Perform verification operations on database objects and structures
- Syntactic validation of SQL objects
- Constraint consistency verification
- Index integrity checks
- Trigger and procedure validation
-
Datafile Verification: Check datafile status and recovery requirements
- Datafile header verification
- Corruption detection and reporting
- Recovery requirements assessment
- Space usage analysis for recovery planning
Segment Operations
Overview:
orclT provides detailed segment analysis for space optimization and performance tuning.
Key Features:
-
Segment Analysis: Comprehensive analysis of database segments including tables, indexes, and LOBs
- Fragmentation assessment
- Free space analysis
- Growth trend identification
- Space reclamation opportunities
-
Compression Analysis: Evaluate compression opportunities across different segment types
- Compression ratio estimation
- Storage savings projection
- Performance impact assessment
- Implementation recommendations
-
Space Usage Reports: Generate detailed reports on segment space utilization
- Top consumers identification
- Unused segment detection
- Partitioned table analysis
- Excel report generation for trend analysis
- Historical comparison capabilities
Patch Management
orclT streamlines Oracle patch management with integrated download, tracking, and gold image creation capabilities.
Download Operations
Overview:
orclT provides comprehensive patch download capabilities with flexible filtering and parallel processing.
Key Features:
-
Individual Patches: Download specific patches by patch ID
- Direct patch ID targeting
- Platform-specific filtering
- Automatic file naming and organization
- Resume capability for interrupted downloads
-
Recommended Patches: Automatically download recommended patches for specific Oracle versions
- MOS 555.1 (release updates) support
- MOS 888.1 (security patches) support
- Version-specific recommendations
- Automated selection without manual research
-
Gold Images: Download Oracle Gold Images for clean installations
- Pre-built certified images
- Multi-version support (11g, 12c, 18c, 19c, 21c, 23ai)
- Platform-specific variants
- Integrated with patch management workflow
-
Bulk Downloads: Support for downloading multiple patches simultaneously
- Regex pattern filtering for selective downloads
- Parallel download capabilities (configurable concurrency)
- Directory tree creation (BUNDLE, ONEOFF, TOOLS organization)
- Bandwidth-friendly chunked transfers (8KB default)
-
Tools Integration: Download Oracle tools alongside patches
- OPatch for patch application
- AutoUpgrade for automated upgrades
- CVU (Cluster Verification Utility)
- RDA (Remote Diagnostic Agent)
- APEX (Application Express)
- AHF (Autonomous Health Framework)
- OEDA (Oracle Exadata Deployment Assistant)
- Exadata Patch Manager
Advanced Options:
- Multi-platform support with automatic platform detection
- Parallel download with configurable limits
- Online/offline modes for different connectivity scenarios
- Download timeout configuration per patch
- Force overwrite for re-downloads
- Comprehensive filtering with regular expressions
- Directory organization with automatic structure creation
Gold Image Creation
Overview:
orclT automates the creation of standardized Oracle installation images for consistent enterprise deployments.
Key Features:
-
Automated Gold Image Building: Create standardized Oracle installation images
- Reproducible builds with consistent configurations
- Version-specific image generation
- Platform-specific customization
- Integrated patch inclusion
-
Patch Integration: Automatically integrate patches into gold images
- Latest release updates included
- Security patches bundled
- Tool packages included (optional)
- Automated version alignment
-
Multi-Platform Support: Build images for different operating systems
- Linux (various distributions)
- Oracle Solaris
- AIX
- Windows
- Platform-specific optimization
-
Tool Integration: Include essential Oracle tools in gold images
- OPatch pre-installed and configured
- AutoUpgrade for easy upgrades
- Autonomous Health Framework included
- Additional tools as needed (CVU, RDA, APEX)
MOS (My Oracle Support) Integration
orclT provides seamless integration with Oracle’s My Oracle Support platform for efficient file uploads and support operations.
File Upload Operations
Overview:
orclT enables direct file uploads to MOS Service Requests with comprehensive management capabilities.
Key Features:
-
Large File Support: Upload files up to 200GB to Service Requests
- Multi-part upload handling
- Automatic chunking for large files
- Parallel transfer capabilities
- Resume support for interrupted uploads
-
Service Request Association: Automatically associate uploads with specific SRs
- Direct SR ID targeting
- Automatic metadata attachment
- Upload validation and confirmation
- Error tracking and reporting
-
File Management:
- Custom naming for uploaded files (rename-uploaded-file)
- Original filename preservation option
- File type detection and validation
- Duplicate prevention
-
Credential Management: Secure credential storage and management
--save-credentials: Save MOS credentials to secure keystore--delete-credentials: Remove credentials when no longer needed- Encrypted storage with automatic retrieval
- Global credential reuse across MOS subcommands
-
Progress Tracking: Real-time upload progress and status updates
- Per-file progress indicators
- Upload speed calculation
- Estimated time remaining
- Detailed error messages on failures
Practical Use Cases:
- Uploading diagnostic trace files to support cases
- Sharing alert logs and diagnostic output
- Submitting database health check reports (RDA)
- Uploading configuration exports
- Providing archived diagnostic packages
SSH Tunnel Management
orclT provides enterprise-grade SSH tunnel management with support for multiple concurrent tunnels, real-time monitoring, and comprehensive diagnostics.
Key Features
-
Multiple Concurrent Tunnels: Run multiple SSH tunnels simultaneously from a single config file
-
Unified TUI Monitoring: Real-time monitoring dashboard with 15-column hierarchical view
- Per-tunnel and per-connection statistics in single interface
- Color-coded status indicators (RUNNING/STOPPED/ERROR)
- Connection hierarchy with details for each active/closed connection
- Real-time byte throughput rates and connection counts
-
Advanced Authentication: 4-tier fallback mechanism ensures reliable connectivity
- Priority: SSH keys → password credentials → default settings → SSH agent
- Authentication method display showing which method succeeded
- Support for encrypted passwords in config files
- Automatic SSH agent integration when available
-
Configuration File Support: Define tunnels in JSON config files for easy management
- Multiple tunnel definitions in single file
- Per-tunnel options (logging, keep-alive, timeouts, connection limits)
- Option inheritance from global settings
- Backward-compatible bool-to-string conversion for legacy configs
-
Comprehensive Diagnostics: Built-in connectivity verification
- SSH server reachability checks with latency measurements
- ICMP ping to target host through SSH tunnel
- TCP port connectivity verification with latency
- Real-time status updates with error reporting
-
Port Conflict Detection: Automatic validation prevents port conflicts before startup
-
Per-Tunnel Statistics: Independent tracking of:
- Active/total connections per tunnel
- Bytes sent/received with real-time rate calculation
- Connection uptime and duration
- SSH connection status and authentication method used
- Target host reachability status
-
Graceful Shutdown: Coordinated clean shutdown with verbose logging
- Lists all active client connections before exit
- Shows connection duration for each client
- Closes tunnels sequentially with status reporting
- Cleanly closes underlying SSH connections
-
Debug Logging: Optional per-tunnel logging to file
- Multiple log levels: debug, info, warn, error
- Only created when
--enable-loggingflag is used - Custom log filename or auto-generated with tunnel name and timestamp
- Comprehensive connection and state tracking
-
Keyboard Controls (in TUI mode):
↑/↓orj/k: Navigate between tunnelsc: Toggle visibility of closed connectionsr: Manually refresh displayq: Graceful exit with confirmation if active connections existEsc,Ctrl+C,Ctrl+Q,Ctrl+D: Exit application
Command-Line Flags
| Flag | Type | Default | Description |
|---|---|---|---|
--config-file |
string | Path to JSON tunnel config file | |
--ssh-host |
string | SSH server hostname or IP | |
--ssh-port |
int | 22 | SSH server port |
--ssh-user |
string | SSH username | |
--ssh-password |
string | SSH password (or enc: prefix for encrypted) |
|
--use-keyfile |
bool | false | Use SSH key file for authentication |
--keyfile |
string | ~/.ssh/id_rsa | Path to SSH private key |
--keypass |
string | SSH key passphrase | |
--local-bind |
string | 127.0.0.1 | Local address to bind to |
--local-port |
int | Local port for tunnel | |
--target-host |
string | Target host (as seen from SSH server) | |
--target-port |
int | Target port | |
--connection-timeout |
int | 10 | Connection timeout in seconds |
--max-connections |
int | 100 | Maximum concurrent connections |
--keep-alive-interval |
int | 30 | Keep-alive interval in seconds |
--keep-alive-count |
int | 3 | Keep-alive count before timeout |
--enable-logging |
string | Enable debug logging (optional filename) | |
--log-level |
string | info | Log level: debug, info, warn, error |
--show-ping |
bool | false | Display SSH and target ICMP latency |
--show-details |
bool | false | Show detailed connection info in info pane |
--show-closed |
bool | false | Show closed connections in TUI (toggle with ‘c’) |
--save-known-host |
bool | true | Save SSH host key to known_hosts |
--ignore-host-key |
bool | false | Skip SSH host key verification |
--no-ui |
bool | false | Run in text mode without TUI |
--daemonize |
bool | false | Run in background with logging to file |
--create-sample-config |
bool | false | Generate sample config file and exit |
Quick Examples
Start tunnel from CLI (single tunnel)
# Using SSH key (recommended)
orclT ssh tunnel \
--ssh-host jump.example.com \
--ssh-user ubuntu \
--use-keyfile \
--keyfile ~/.ssh/id_rsa \
--local-port 5432 \
--target-host database.internal \
--target-port 5432
# Using password
orclT ssh tunnel \
--ssh-host jump.example.com \
--ssh-user ubuntu \
--ssh-password mypassword \
--local-port 5432 \
--target-host database.internal \
--target-port 5432
Start multiple tunnels from config file
# Generate sample config
orclT ssh tunnel --create-sample-config
# Start tunnels with monitoring
orclT ssh tunnel --config-file tunnels.json
# With debug logging enabled
orclT ssh tunnel --config-file tunnels.json --enable-logging
orclT ssh tunnel --config-file tunnels.json --enable-logging debug_tunnel.log
# Show ping latency to SSH server and target
orclT ssh tunnel --config-file tunnels.json --show-ping
# Run in background without TUI
orclT ssh tunnel --config-file tunnels.json --no-ui &
# Daemonize with automatic logging
orclT ssh tunnel --config-file tunnels.json --daemonize
With different log levels
# Debug level (most verbose)
orclT ssh tunnel --config-file tunnels.json --enable-logging --log-level debug
# Info level (default for enabled logging)
orclT ssh tunnel --config-file tunnels.json --enable-logging --log-level info
# Warning level (only warnings and errors)
orclT ssh tunnel --config-file tunnels.json --enable-logging --log-level warn
# Error level (only errors)
orclT ssh tunnel --config-file tunnels.json --enable-logging --log-level error
Configuration File Format
Minimal config (tunnels.json):
{
"tunnels": [
{
"name": "database",
"ssh": {
"host": "jump.example.com",
"port": 22,
"user": "ubuntu",
"useKeyFile": true,
"keyFile": "~/.ssh/id_rsa"
},
"local": {
"bind": "127.0.0.1",
"port": 5432
},
"target": {
"host": "database.internal",
"port": 5432
}
}
]
}
Complete config with all options:
{
"tunnels": [
{
"name": "prod-db",
"description": "Production database tunnel",
"ssh": {
"host": "jump-server.example.com",
"port": 22,
"user": "sshuser",
"password": "enc:7jP1llVs5kMECKevtwN4EJU78jFvVPi+C/dnH4Q/upc=",
"useKeyFile": false,
"keyFile": "",
"keyPassword": ""
},
"local": {
"bind": "0.0.0.0",
"port": 5432
},
"target": {
"host": "prod-db.internal.lan",
"port": 5432
},
"options": {
"connectionTimeout": 15,
"maxConnections": 50,
"keepAliveInterval": 60,
"keepAliveCount": 5,
"showStats": true,
"enableLogging": true,
"logLevel": "debug",
"saveKnownHost": true,
"ignoreHostKey": false
}
}
]
}
TUI Display Features
The tunnel monitoring dashboard displays:
| Column | Description |
|---|---|
| Tunnel Name | Name and connection state indicator (▶ for selected) |
| Local Address | Local listening address and port |
| SSH Address | SSH user@host:port with auth method |
| SSH Status | Connection status (RUNNING/STOPPED/ERROR) |
| SSH Health | SSH server connectivity and response time |
| Uptime | Duration the tunnel has been running |
| Target Address | Target host:port |
| ICMP | Target ICMP reachability test result |
| TCP | Target TCP port connectivity test result |
| Active | Current number of active client connections |
| Total | Total connections since tunnel started |
| ↓ Bytes | Total bytes received (humanized) |
| ↑ Bytes | Total bytes sent (humanized) |
| ↓ Rate | Real-time receive rate (bytes/sec) |
| ↑ Rate | Real-time transmit rate (bytes/sec) |
Child rows show details for each active/closed client connection with similar metrics.
Connection Information Pane
The info pane displays:
- Connection Details: Current tunnel’s SSH server, target host, and authentication method
- Statistics Summary: Active connections, total connections, bandwidth usage
- Recent Events: Log of important events (connections, closures, errors)
- Diagnostic Results: SSH reachability, ICMP latency, TCP connectivity status
- Error Messages: Any connection issues or warnings
Log Levels
| Level | Priority | Output |
|---|---|---|
| debug | 0 (lowest) | All messages including detailed diagnostics |
| info | 1 | Normal operations, important events |
| warn | 2 | Warnings, potential issues |
| error | 3 (highest) | Only error conditions |
Log file is only created when --enable-logging is explicitly specified.
Debugging and Troubleshooting
# Enable full debug logging to file
orclT ssh tunnel --config-file tunnels.json --enable-logging debug.log --log-level debug
# Show connectivity diagnostics in TUI
orclT ssh tunnel --config-file tunnels.json --show-ping
# Run in text mode for server environments
orclT ssh tunnel --config-file tunnels.json --no-ui
# Daemonize with logging for background operation
orclT ssh tunnel --config-file tunnels.json --daemonize --enable-logging
Examples with Encryption
# Passwords in config file can be encrypted
{
"tunnels": [
{
"name": "secure-tunnel",
"ssh": {
"host": "jump.example.com",
"user": "ubuntu",
"password": "enc:7jP1llVs5kMECKevtwN4EJU78jFvVPi+C/dnH4Q/upc=",
"useKeyFile": false
},
...
}
]
}
Requirements
- Oracle Client libraries (for –sysdba local access only)
- Access to Oracle databases (11g, 12c, 18c, 19c, 21c, 23ai, 26ai)
- My Oracle Support credentials (for MOS and patch operations)
Oracle Client Libraries for SYSDBA Connections
When using --sysdba or --sysoper flags, orclT requires Oracle Client libraries (libclntsh.so). You can specify the library location using:
Local BEQ Connection (No credentials required)
# Connect to local database using Bequeath protocol (requires ORACLE_SID)
export ORACLE_SID=TESTDB
orclT database performance top --sysdba --oracle-instant-client-path=/opt/oracle/instantclient_21_3
Remote SYSDBA Connection (Requires username/password)
# Connect to remote database as SYSDBA
orclT database performance top --sysdba \
--username sys --password [password] \
--db-url db.example.com:1521/TESTDB \
--oracle-instant-client-path=/opt/oracle/instantclient_21_3
Oracle Client Library Path Options
Option 1: Oracle Instant Client
orclT database lob storage-analysis --sysdba --oracle-instant-client-path=/opt/oracle/instantclient_21_3
Option 2: Oracle Client (ORACLE_HOME)
orclT database segment compression-analysis --sysdba --oracle-client-path=$ORACLE_HOME/lib
Option 3: Environment Variables (fallback order)
LD_LIBRARY_PATH- if set, searches for libclntsh.soORACLE_HOME/lib- if ORACLE_HOME is set
Example: Oracle Instant Client Setup
# Download and extract Oracle Instant Client
wget https://download.oracle.com/otn_software/linux/instantclient/instantclient-basic-linux.x64-21.3.0.0.0.zip
unzip instantclient-basic-linux.x64-21.3.0.0.0.zip -d /opt/oracle/
# Local BEQ connection (no username/password)
export ORACLE_SID=TESTDB
orclT database lob storage-analysis --sysdba \
--oracle-instant-client-path=/opt/oracle/instantclient_21_3 \
--schema TESTUSER
# Remote SYSDBA connection (with username/password)
orclT database lob compression-analysis --sysdba \
--username sys --password [password] \
--db-url db.example.com:1521/TESTDB \
--oracle-instant-client-path=/opt/oracle/instantclient_21_3 \
--all-non-oracle-maintained --parallel 4
Connection Types
-
Local BEQ (Bequeath):
--sysdbawithout--db-url→ connects via shared memory to local instance- Requires:
ORACLE_SIDenvironment variable - No username/password needed
- Fastest for local database operations
- Requires:
-
Remote SYSDBA:
--sysdbawith--db-url→ connects over network as SYSDBA- Requires:
--username,--password, and--db-url - Used for remote database administration
- Requires:
Note: Oracle Client libraries are only required for SYSDBA/SYSOPER connections. Regular database connections use a pure Go driver and don’t need Oracle Client libraries.
Advanced Configuration
LOB Analysis Thresholds
- Chunk Size Ratio: Configure optimal chunk to average LOB size ratio (default: 1.0)
- Null Percentage: Set threshold for IN-ROW vs OUT-OF-ROW recommendations (default: 50%)
- Size Threshold: Define maximum VARCHAR2 size for storage decisions (default: 4000 bytes)
- Space Waste: Set threshold for space utilization warnings (default: 50%)
Performance Optimization
- Parallel Processing: Configure parallel execution for large datasets
- Dictionary Statistics: Option to use dictionary statistics vs. direct table access
- Subset Sampling: Control row sampling strategies for analysis accuracy
- Memory Management: Optimized memory usage for large LOB operations
License
This project is licensed under the terms specified in the LICENSE file.
Support
For more detailed information about specific commands, use:
orclT [command] --help