Plugin Interface¶
Plugin interface for product-specific functionality (database, client, datasafe, java, etc.).
Functions¶
get_oud_instance_base¶
Get OUD instance base directory following priority order
Source: oud_plugin.sh
Arguments:
- $1 - ORACLE_HOME path (optional, for fallback)
Returns: 0 on success
Output: Instance base directory path
Notes
Priority order: 1. $OUD_INSTANCE_BASE (if set and exists) 2. $OUD_DATA/instances (if OUD_DATA set and directory exists) 3. $ORACLE_DATA/instances (if ORACLE_DATA set and directory exists) 4. $ORACLE_BASE/instances (if ORACLE_BASE set and directory exists) 5. $ORACLE_HOME/oudBase (fallback)
plugin_adjust_environment¶
Adjust environment for WebLogic
Source: weblogic_plugin.sh
Arguments:
- $1 - Path to WebLogic home
Returns: 0 on success
Output: Adjusted path (unchanged for WebLogic)
plugin_adjust_environment¶
Adjust environment for Java (no adjustment needed)
Source: java_plugin.sh
Arguments:
- $1 - Path to Java home
Returns: 0 on success
Output: Path unchanged
plugin_adjust_environment¶
Adjust environment for OMS
Source: oms_plugin.sh
Arguments:
- $1 - Path to OMS home
Returns: 0 on success
Output: Adjusted path (unchanged for OMS)
plugin_adjust_environment¶
Adjust environment for database home
Source: database_plugin.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: Adjusted ORACLE_HOME (unchanged for database)
plugin_adjust_environment¶
Adjust ORACLE_HOME for Data Safe
Source: datasafe_plugin.sh
Arguments:
- $1 - Base ORACLE_HOME path
Returns: 0 on success
Output: Adjusted ORACLE_HOME (with /oracle_cman_home)
Notes
THIS IS THE KEY FUNCTION - Consolidates logic from 8+ files
plugin_adjust_environment¶
Adjust environment for OUD
Source: oud_plugin.sh
Arguments:
- $1 - Path to OUD home
Returns: 0 on success
Output: Adjusted path (unchanged for OUD)
plugin_adjust_environment¶
Adjust ORACLE_HOME for product-specific requirements
Source: plugin_interface.sh
Arguments:
- $1 - Original ORACLE_HOME path
Returns: 0 on success
Output: Adjusted ORACLE_HOME path
Notes
Example: DataSafe appends /oracle_cman_home; align ORACLE_HOME with ORACLE_BASE_HOME if needed
plugin_adjust_environment¶
Adjust environment for client home
Source: client_plugin.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: Adjusted ORACLE_HOME (unchanged for client)
plugin_adjust_environment¶
Adjust environment for instant client
Source: iclient_plugin.sh
Arguments:
- $1 - Path to instant client
Returns: 0 on success
Output: Adjusted path (unchanged for instant client)
Notes
Instant client uses ORACLE_HOME directly (no bin/ subdirectory)
plugin_adjust_environment¶
Adjust environment for EM Agent
Source: emagent_plugin.sh
Arguments:
- $1 - Path to agent home
Returns: 0 on success
Output: Adjusted path (unchanged for agent)
plugin_build_base_path¶
Resolve actual installation base for WebLogic
Source: weblogic_plugin.sh
Arguments:
- $1 - Input path
Returns: 0 on success
Output: Base path
Notes
Stub implementation
plugin_build_base_path¶
Resolve actual installation base for Java
Source: java_plugin.sh
Arguments:
- $1 - Input JAVA_HOME
Returns: 0 on success
Output: Normalized base path
Notes
For Java, base is same as JAVA_HOME
plugin_build_base_path¶
Resolve actual installation base for OMS
Source: oms_plugin.sh
Arguments:
- $1 - Input path
Returns: 0 on success
Output: Base path
Notes
Stub implementation
plugin_build_base_path¶
Resolve actual installation base (ORACLE_BASE_HOME-aware)
Source: database_plugin.sh
Arguments:
- $1 - Input ORACLE_HOME or ORACLE_BASE_HOME
Returns: 0 on success
Output: Normalized base path
Notes
For database, prefer ORACLE_BASE_HOME if set, otherwise use ORACLE_HOME
plugin_build_base_path¶
Resolve actual installation base for Data Safe
Source: datasafe_plugin.sh
Arguments:
- $1 - Input path (base or oracle_cman_home)
Returns: 0 on success
Output: Normalized base path (without oracle_cman_home)
Notes
DataSafe uses subdirectory structure, return base path
plugin_build_base_path¶
Resolve actual installation base for OUD
Source: oud_plugin.sh
Arguments:
- $1 - Input ORACLE_HOME
Returns: 0 on success
Output: Normalized base path
Notes
For OUD, base is same as ORACLE_HOME
plugin_build_base_path¶
Resolve actual installation base (ORACLE_BASE_HOME-aware)
Source: plugin_interface.sh
Arguments:
- $1 - Input ORACLE_HOME or ORACLE_BASE_HOME
Returns: 0 on success
Output: Normalized base path
Notes
Use when ORACLE_HOME differs from installation base See plugin-standards.md for detailed specification
plugin_build_base_path¶
Resolve actual installation base for client
Source: client_plugin.sh
Arguments:
- $1 - Input ORACLE_HOME
Returns: 0 on success
Output: Normalized base path
Notes
For client, ORACLE_BASE_HOME typically same as ORACLE_HOME
plugin_build_base_path¶
Resolve actual installation base for instant client
Source: iclient_plugin.sh
Arguments:
- $1 - Input ORACLE_HOME
Returns: 0 on success
Output: Normalized base path
Notes
For instant client, base is same as ORACLE_HOME
plugin_build_base_path¶
Resolve actual installation base for EM Agent
Source: emagent_plugin.sh
Arguments:
- $1 - Input path
Returns: 0 on success
Output: Base path
Notes
Stub implementation
plugin_build_bin_path¶
Get PATH components for WebLogic
Source: weblogic_plugin.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: Empty (no binaries added to PATH)
plugin_build_bin_path¶
Get PATH components for Java
Source: java_plugin.sh
Arguments:
- $1 - JAVA_HOME path
Returns: 0 on success
Output: bin directory path
plugin_build_bin_path¶
Get PATH components for OMS
Source: oms_plugin.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: Empty (no binaries added to PATH)
plugin_build_bin_path¶
Get PATH components for database installations
Source: database_plugin.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: Colon-separated PATH components
Notes
Returns bin and OPatch directories If GRID_HOME exists and differs from ORACLE_HOME, includes Grid bin
plugin_build_bin_path¶
Get PATH components for Data Safe connector
Source: datasafe_plugin.sh
Arguments:
- $1 - Base path (will be adjusted to oracle_cman_home)
Returns: 0 on success
Output: Colon-separated PATH components
Notes
DataSafe requires oracle_cman_home/bin
plugin_build_bin_path¶
Get PATH components for Oracle Unified Directory
Source: oud_plugin.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: Colon-separated PATH components
Notes
OUD has bin directory with management tools
plugin_build_bin_path¶
Get PATH components for this product
Source: plugin_interface.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: Colon-separated PATH components
Notes
Returns the directories to add to PATH for this product Example (RDBMS): /u01/app/oracle/product/19/bin:/u01/app/oracle/product/19/OPatch Example (ICLIENT): /u01/app/oracle/instantclient_19_21 Example (DATASAFE): /u01/app/oracle/ds-name/oracle_cman_home/bin See plugin-standards.md for detailed specification
plugin_build_bin_path¶
Get PATH components for Oracle Full Client
Source: client_plugin.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: Colon-separated PATH components
Notes
Full client has bin + OPatch directories
plugin_build_bin_path¶
Get PATH components for Oracle Instant Client
Source: iclient_plugin.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: Colon-separated PATH components
Notes
Instant Client has no bin/ subdirectory - binaries in root
plugin_build_bin_path¶
Get PATH components for EM Agent
Source: emagent_plugin.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: Empty (no binaries added to PATH)
plugin_build_env¶
Build environment variables for WebLogic
Source: weblogic_plugin.sh
Arguments:
- $1 - Installation path (ORACLE_HOME)
- $2 - Domain name (optional)
Returns: 0 on success
Output: Key=value pairs (one per line)
Notes
Stub implementation - sets ORACLE_HOME and WLS_DOMAIN Full implementation would include CLASSPATH, JAVA_HOME, etc.
plugin_build_env¶
Build environment variables for Java
Source: java_plugin.sh
Arguments:
- $1 - JAVA_HOME
- $2 - Not used for Java
Returns: 0 on success
Output: Key=value pairs (one per line)
Notes
Builds environment for Java
plugin_build_env¶
Build environment variables for OMS
Source: oms_plugin.sh
Arguments:
- $1 - Installation path
- $2 - Instance (optional)
Returns: 0 on success
Output: Key=value pairs
Notes
Stub implementation
plugin_build_env¶
Build environment variables for database instance
Source: database_plugin.sh
Arguments:
- $1 - ORACLE_HOME
- $2 - ORACLE_SID (optional)
Returns: 0 on success
Output: Key=value pairs (one per line)
Notes
Builds complete environment for database instance
plugin_build_env¶
Build environment variables for Data Safe connector
Source: datasafe_plugin.sh
Arguments:
- $1 - Base path
- $2 - Instance identifier (optional, not used for DataSafe)
Returns: 0 on success
Output: Key=value pairs (one per line)
Notes
Builds environment for Data Safe connector
plugin_build_env¶
Build environment variables for Oracle Unified Directory
Source: oud_plugin.sh
Arguments:
- $1 - ORACLE_HOME
- $2 - OUD instance name (optional)
Returns: 0 on success
Output: Key=value pairs (one per line)
Notes
Builds environment for OUD instance
plugin_build_env¶
Build environment variables for the product/instance
Source: plugin_interface.sh
Arguments:
- $1 - ORACLE_HOME
- $2 - Instance/domain identifier (optional)
Returns: 0 on success, 1 if not applicable, 2 if unavailable
Output: Key=value pairs (one per line)
Notes
Builds complete environment: ORACLE_HOME, PATH, LD_LIBRARY_PATH, etc. See plugin-standards.md for detailed specification
plugin_build_env¶
Build environment variables for Oracle Full Client
Source: client_plugin.sh
Arguments:
- $1 - ORACLE_HOME
- $2 - Not used for client
Returns: 0 on success
Output: Key=value pairs (one per line)
Notes
Builds environment for client tools
plugin_build_env¶
Build environment variables for Oracle Instant Client
Source: iclient_plugin.sh
Arguments:
- $1 - ORACLE_HOME
- $2 - Not used for instant client
Returns: 0 on success
Output: Key=value pairs (one per line)
Notes
Builds environment for instant client
plugin_build_env¶
Build environment variables for EM Agent
Source: emagent_plugin.sh
Arguments:
- $1 - Installation path
- $2 - Instance (optional)
Returns: 0 on success
Output: Key=value pairs
Notes
Stub implementation
plugin_build_lib_path¶
Get LD_LIBRARY_PATH components for WebLogic
Source: weblogic_plugin.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: Empty (no libraries added)
plugin_build_lib_path¶
Get LD_LIBRARY_PATH components for Java
Source: java_plugin.sh
Arguments:
- $1 - JAVA_HOME path
Returns: 0 on success
Output: Library path components
plugin_build_lib_path¶
Get LD_LIBRARY_PATH components for OMS
Source: oms_plugin.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: Empty (no libraries added)
plugin_build_lib_path¶
Get LD_LIBRARY_PATH components for database installations
Source: database_plugin.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: Colon-separated library path components
Notes
Prefers lib64 on 64-bit systems, falls back to lib If GRID_HOME exists and differs from ORACLE_HOME, includes Grid lib
plugin_build_lib_path¶
Get LD_LIBRARY_PATH components for Data Safe connector
Source: datasafe_plugin.sh
Arguments:
- $1 - Base path (will be adjusted to oracle_cman_home)
Returns: 0 on success
Output: Colon-separated library path components
Notes
DataSafe requires oracle_cman_home/lib
plugin_build_lib_path¶
Get LD_LIBRARY_PATH components for Oracle Unified Directory
Source: oud_plugin.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: Colon-separated library path components
Notes
OUD has lib directory
plugin_build_lib_path¶
Get LD_LIBRARY_PATH components for this product
Source: plugin_interface.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: Colon-separated library path components
Notes
Returns the directories to add to LD_LIBRARY_PATH (or equivalent)
plugin_build_lib_path¶
Get LD_LIBRARY_PATH components for Oracle Full Client
Source: client_plugin.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: Colon-separated library path components
Notes
Prefers lib64 on 64-bit systems, falls back to lib
plugin_build_lib_path¶
Get LD_LIBRARY_PATH components for Oracle Instant Client
Source: iclient_plugin.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: Colon-separated library path components
Notes
Instant Client libraries are in root, lib64, or lib subdirectory
plugin_build_lib_path¶
Get LD_LIBRARY_PATH components for EM Agent
Source: emagent_plugin.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: Empty (no libraries added)
plugin_check_listener_status¶
Check listener status for database Oracle Home
Source: database_plugin.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 if running, 1 if stopped, 2 if unavailable
Output: Status string (running|stopped|unavailable)
Notes
Listener lifecycle is separate from instance lifecycle Uses lsnrctl status to check listener state
plugin_check_listener_status¶
Check listener status for Data Safe (not applicable)
Source: datasafe_plugin.sh
Arguments:
- $1 - Base path (unused for DataSafe)
Returns: 1 (not applicable - DataSafe uses cman, not DB listener)
Output: None (empty stdout per plugin standards)
Notes
DataSafe has Connection Manager (cman) but it's not a database listener. Listener checks are not applicable for this product. Per plugin-standards.md: Return 1 for N/A, no sentinel strings.
plugin_check_listener_status¶
Check listener status for products with listener components
Source: plugin_interface.sh
Arguments:
- $1 - Installation path (ORACLE_HOME)
Returns: 0 if running, 1 if stopped, 2 if unavailable
Output: Status string (running|stopped|unavailable)
Notes
Category-specific: mandatory for database and listener-based products Separate from plugin_check_status (instance status) Listener lifecycle is managed per Oracle Home, not per instance See plugin-standards.md for detailed specification
plugin_check_listener_status¶
Report listener status for this ORACLE_HOME
Source: plugin_interface.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 if running, 1 if stopped, 2 if unavailable
Output: Status string (running|stopped|unavailable)
Notes
Listener lifecycle is distinct from instance lifecycle; category-specific
plugin_check_status¶
Check WebLogic status
Source: weblogic_plugin.sh
Arguments:
- $1 - Path to WebLogic home
- $2 - Domain name (optional)
Returns: 0 if running, 1 if stopped/N/A, 2 if unavailable/error
Output: None - status communicated via exit code only
Notes
Stub implementation - returns 2 (unavailable)
plugin_check_status¶
Check Java installation status
Source: java_plugin.sh
Arguments:
- $1 - Path to Java home
- $2 - Ignored
Returns: 0 if available (java executable exists and is executable)
Output: None - status communicated via exit code only
Notes
Java is software-only, no running service
plugin_check_status¶
Check OMS status
Source: oms_plugin.sh
Arguments:
- $1 - Path to OMS home
- $2 - Ignored
Returns: 0 if running, 1 if stopped/N/A, 2 if unavailable/error
Output: None - status communicated via exit code only
Notes
Stub implementation - returns 2 (unavailable)
plugin_check_status¶
Check if database instance is running
Source: database_plugin.sh
Arguments:
- $1 - ORACLE_HOME path
- $2 - SID (optional)
Returns: 0 if running, 1 if stopped, 2 if unavailable/error
Output: None - status communicated via exit code only
Notes
Returns 2 if oracle binary is missing Can return metadata for mounted/nomount states in future enhancement
plugin_check_status¶
Check Data Safe connector status
Source: datasafe_plugin.sh
Arguments:
- $1 - Base path or oracle_cman_home path
- $2 - Connector name (optional)
Returns: 0 if running, 1 if stopped, 2 if unavailable/error
Output: None - status communicated via exit code only
Notes
Multi-layered detection with fallback: 1. cmctl show services -c \<instance> (most accurate) 2. Process-based detection (reliable fallback) 3. Python setup.py (last resort) Supports ORADBA_CACHED_PS environment variable for batch detection
plugin_check_status¶
Check OUD instance status
Source: oud_plugin.sh
Arguments:
- $1 - Path to OUD home
- $2 - Instance name (optional)
Returns: 0 if running, 1 if stopped, 2 if unavailable/error
Output: None - status communicated via exit code only
plugin_check_status¶
Check if product instance is running
Source: plugin_interface.sh
Arguments:
- $1 - Installation path
- $2 - Instance name (optional)
Returns: 0 if running, 1 if stopped, 2 if unavailable
Output: Status string (running|stopped|unavailable)
Notes
Uses explicit environment (not current shell environment) See plugin-standards.md for exit code standards (0=running, 1=stopped, 2=unavailable)
plugin_check_status¶
Check client availability
Source: client_plugin.sh
Arguments:
- $1 - ORACLE_HOME path
- $2 - Ignored (clients don't have instances)
Returns: 0 if available (software exists and functional)
Output: None - status communicated via exit code only
Notes
Clients are software-only installations without running services
plugin_check_status¶
Check instant client availability
Source: iclient_plugin.sh
Arguments:
- $1 - Path to instant client
- $2 - Ignored (instant clients don't have instances)
Returns: 0 if available (library exists and readable)
Output: None - status communicated via exit code only
Notes
Instant client is software-only, no running service
plugin_check_status¶
Check EM Agent status
Source: emagent_plugin.sh
Arguments:
- $1 - Path to agent home
- $2 - Ignored
Returns: 0 if running, 1 if stopped/N/A, 2 if unavailable/error
Output: None - status communicated via exit code only
Notes
Stub implementation - returns 2 (unavailable)
plugin_detect_installation¶
Auto-detect WebLogic installations
Source: weblogic_plugin.sh
Returns: 0 on success
Output: List of WebLogic paths
plugin_detect_installation¶
Auto-detect Java installations under $ORACLE_BASE/product
Source: java_plugin.sh
Returns: 0 on success
Output: List of Java installation paths
Notes
Excludes JRE subdirectories within JDK installations
plugin_detect_installation¶
Auto-detect OMS installations
Source: oms_plugin.sh
Returns: 0 on success
Output: List of OMS paths
plugin_detect_installation¶
Auto-detect database installations
Source: database_plugin.sh
Returns: 0 on success
Output: List of ORACLE_HOME paths
plugin_detect_installation¶
Auto-detect Data Safe connector installations
Source: datasafe_plugin.sh
Returns: 0 on success
Output: List of connector base paths
plugin_detect_installation¶
Auto-detect OUD installations
Source: oud_plugin.sh
Returns: 0 on success
Output: List of OUD home paths
plugin_detect_installation¶
Auto-detect installations of this product type
Source: plugin_interface.sh
Arguments:
- None
Returns: 0 on success
Output: List of installation paths (one per line)
Notes
Used for auto-discovery when no registry files exist See doc/plugin-standards.md for return value conventions
plugin_detect_installation¶
Auto-detect Oracle Full Client installations
Source: client_plugin.sh
Returns: 0 on success
Output: List of client home paths
plugin_detect_installation¶
Auto-detect Oracle Instant Client installations
Source: iclient_plugin.sh
Returns: 0 on success
Output: List of instant client paths
Notes
Excludes libraries found inside other Oracle product homes (e.g., DataSafe oracle_cman_home/lib, Database homes)
plugin_detect_installation¶
Auto-detect EM Agent installations
Source: emagent_plugin.sh
Returns: 0 on success
Output: List of agent paths
plugin_discover_instances¶
Discover WebLogic domains for this installation
Source: weblogic_plugin.sh
Arguments:
- $1 - Path to WebLogic home
Returns: 0 on success
Output: List of domain names (one per line)
Notes
Stub implementation - searches common domain locations Full implementation would parse domain config files
plugin_discover_instances¶
Java doesn't have instances
Source: java_plugin.sh
Returns: 0 on success
Output: Empty
plugin_discover_instances¶
Discover instances
Source: oms_plugin.sh
Arguments:
- $1 - Path to OMS home
Returns: 0 on success
Output: Empty (stub)
plugin_discover_instances¶
Discover database instances for this home
Source: database_plugin.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: List of instances with status
plugin_discover_instances¶
Discover Data Safe connector instances
Source: datasafe_plugin.sh
Arguments:
- $1 - Base path
Returns: 0 on success
Output: List of connector instances
Notes
Usually 1:1 relationship (one connector per base)
plugin_discover_instances¶
Discover OUD instances
Source: oud_plugin.sh
Arguments:
- $1 - Path to OUD home
Returns: 0 on success
Output: List of instance names
Notes
Uses get_oud_instance_base() to determine instance location
plugin_discover_instances¶
Discover all instances for this Oracle Home
Source: plugin_interface.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: List of instances (one per line)
Notes
Handles 1:many relationships (RAC, WebLogic, OUD)
plugin_discover_instances¶
Discover instances for client home
Source: client_plugin.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: Empty (clients don't have instances)
Notes
Clients have no instances to discover
plugin_discover_instances¶
Discover instances
Source: iclient_plugin.sh
Arguments:
- $1 - Path to instant client
Returns: 0 on success
Output: Empty (instant clients don't have instances)
plugin_discover_instances¶
Discover instances
Source: emagent_plugin.sh
Arguments:
- $1 - Path to agent home
Returns: 0 on success
Output: Empty (stub)
plugin_get_cman_status¶
Get detailed Connection Manager status information
Source: datasafe_plugin.sh
Arguments:
- $1 - Base path
Returns: 0 on success with status details
Output: Key=value pairs (start_date, uptime, gateways)
Notes
Uses cmctl show status -c \<instance> command Expected output format: Start date 10-FEB-2026 15:20:38 Uptime 0 days 20 hr. 7 min. 6 sec Num of gateways started 12 Per plugin standards: no sentinel strings (ERR, unknown, N/A)
plugin_get_config_section¶
Get configuration section name for WebLogic
Source: weblogic_plugin.sh
Returns: 0 on success
Output: "WEBLOGIC"
plugin_get_config_section¶
Get configuration section name for Java
Source: java_plugin.sh
Returns: 0 on success
Output: "JAVA"
plugin_get_config_section¶
Get configuration section name for OMS
Source: oms_plugin.sh
Returns: 0 on success
Output: "OMS"
plugin_get_config_section¶
Get configuration section name for database
Source: database_plugin.sh
Returns: 0 on success
Output: "RDBMS"
Notes
Used by oradba_apply_product_config() to load database settings
plugin_get_config_section¶
Get configuration section name for Data Safe
Source: datasafe_plugin.sh
Returns: 0 on success
Output: "DATASAFE"
Notes
Used by oradba_apply_product_config() to load Data Safe settings
plugin_get_config_section¶
Get configuration section name for OUD
Source: oud_plugin.sh
Returns: 0 on success
Output: "OUD"
Notes
Used by oradba_apply_product_config() to load OUD settings
plugin_get_config_section¶
Get configuration section name for this product
Source: plugin_interface.sh
Arguments:
- None
Returns: 0 on success
Output: Configuration section name (uppercase)
Notes
Used by oradba_apply_product_config() to load product-specific settings Example: "RDBMS", "DATASAFE", "CLIENT", "ICLIENT", "OUD", "WLS"
plugin_get_config_section¶
Get configuration section name for Full Client
Source: client_plugin.sh
Returns: 0 on success
Output: "CLIENT"
Notes
Used by oradba_apply_product_config() to load client settings
plugin_get_config_section¶
Get configuration section name for Instant Client
Source: iclient_plugin.sh
Returns: 0 on success
Output: "ICLIENT"
Notes
Used by oradba_apply_product_config() to load instant client settings
plugin_get_config_section¶
Get configuration section name for EM Agent
Source: emagent_plugin.sh
Returns: 0 on success
Output: "EMAGENT"
plugin_get_connection_count¶
Get the number of active connections/tunnels
Source: datasafe_plugin.sh
Arguments:
- $1 - Base path
Returns: 0 on success with connection count
Output: Connection count (e.g., "12")
Notes
Uses cmctl show tunnels command Format: "Number of connections: 12." Per plugin standards: no sentinel strings (ERR, unknown, N/A)
plugin_get_connector_version¶
Get Data Safe on-premises connector software version
Source: datasafe_plugin.sh
Arguments:
- $1 - Base path
Returns: 0 on success with clean version string to stdout
Output: Version string (e.g., "220517.00")
Notes
Uses python3 setup.py version command Expected output: "On-premises connector software version : 220517.00" No sentinel strings (ERR, unknown, N/A) in output Returns 2 when setup.py missing or python3 unavailable
plugin_get_display_name¶
Get display name for OUD instance
Source: oud_plugin.sh
Arguments:
- $1 - Instance name
Returns: 0 on success
Output: Display name
plugin_get_display_name¶
Get custom display name for instance
Source: plugin_interface.sh
Arguments:
- $1 - Installation name
Returns: 0 on success
Output: Display name
Notes
Optional - defaults to installation name
plugin_get_instance_list¶
Enumerate WebLogic domains for this installation
Source: weblogic_plugin.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: domain_name|status|additional_metadata (one per line)
Notes
Stub implementation - searches common domain locations Status is always "stopped" as we don't check actual process status yet Full implementation would check AdminServer and managed servers
plugin_get_instance_list¶
Enumerate Java instances
Source: java_plugin.sh
Arguments:
- $1 - JAVA_HOME path
Returns: 0 on success
Output: Empty (Java doesn't have instances)
Notes
Java installations don't have instances
plugin_get_instance_list¶
Enumerate OMS instances
Source: oms_plugin.sh
Arguments:
- $1 - Installation path
Returns: 0 on success
Output: Empty (stub)
Notes
Stub implementation - will be implemented in Phase 3
plugin_get_instance_list¶
Enumerate all database instances for this ORACLE_HOME
Source: database_plugin.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: instance_name|status|additional_metadata (one per line)
Notes
Reads oratab for instances using this ORACLE_HOME Handles D (dummy) flag - sets status=stopped and metadata=dummy
plugin_get_instance_list¶
Enumerate Data Safe connector instances
Source: datasafe_plugin.sh
Arguments:
- $1 - Base path
Returns: 0 on success
Output: instance_name|status|additional_metadata (one per line)
Notes
DataSafe typically has one instance per installation
plugin_get_instance_list¶
Enumerate all OUD instances for this installation
Source: oud_plugin.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: instance_name|status|additional_metadata (one per line)
Notes
OUD can have multiple instances per installation Instances discovered using get_oud_instance_base() priority order: 1. $OUD_INSTANCE_BASE 2. $OUD_DATA/instances 3. $ORACLE_DATA/instances 4. $ORACLE_BASE/instances 5. $ORACLE_HOME/oudBase (fallback) Status is determined by checking for running OUD processes
plugin_get_instance_list¶
Enumerate all instances/domains for this ORACLE_HOME
Source: plugin_interface.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: instance_name|status|additional_metadata (one per line)
Notes
Mandatory for multi-instance products (database, middleware, etc.) See plugin-standards.md for detailed specification
plugin_get_instance_list¶
Enumerate client instances
Source: client_plugin.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: Empty (clients don't have instances)
Notes
Clients have no instances to enumerate
plugin_get_instance_list¶
Enumerate instant client instances
Source: iclient_plugin.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: Empty (instant clients don't have instances)
Notes
Instant clients have no instances
plugin_get_instance_list¶
Enumerate EM Agent instances
Source: emagent_plugin.sh
Arguments:
- $1 - Installation path
Returns: 0 on success
Output: Empty (stub)
Notes
Stub implementation - will be implemented in Phase 3
plugin_get_metadata¶
Get WebLogic metadata
Source: weblogic_plugin.sh
Arguments:
- $1 - Path to WebLogic home
Returns: 0 on success
Output: Key=value pairs
plugin_get_metadata¶
Get Java installation metadata
Source: java_plugin.sh
Arguments:
- $1 - Path to Java home
Returns: 0 on success
Output: Key=value pairs
plugin_get_metadata¶
Get OMS metadata
Source: oms_plugin.sh
Arguments:
- $1 - Path to OMS home
Returns: 0 on success
Output: Key=value pairs
plugin_get_metadata¶
Get database metadata
Source: database_plugin.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: Key=value pairs
plugin_get_metadata¶
Get Data Safe connector metadata
Source: datasafe_plugin.sh
Arguments:
- $1 - Base path
Returns: 0 on success
Output: Key=value pairs
plugin_get_metadata¶
Get OUD metadata
Source: oud_plugin.sh
Arguments:
- $1 - Path to OUD home
Returns: 0 on success
Output: Key=value pairs
Notes
Uses get_oud_instance_base() to count instances
plugin_get_metadata¶
Get product metadata (version, features, etc.)
Source: plugin_interface.sh
Arguments:
- $1 - Installation path
Returns: 0 on success
Output: Key=value pairs (one per line)
Notes
Example output: version=19.21.0.0.0 edition=Enterprise patchlevel=221018
plugin_get_metadata¶
Get Oracle Client metadata
Source: client_plugin.sh
Arguments:
- $1 - ORACLE_HOME path
Returns: 0 on success
Output: Key=value pairs
plugin_get_metadata¶
Get instant client metadata
Source: iclient_plugin.sh
Arguments:
- $1 - Path to instant client
Returns: 0 on success
Output: Key=value pairs
plugin_get_metadata¶
Get EM Agent metadata
Source: emagent_plugin.sh
Arguments:
- $1 - Path to agent home
Returns: 0 on success
Output: Key=value pairs
plugin_get_port¶
Extract port number from cman.ora configuration
Source: datasafe_plugin.sh
Arguments:
- $1 - Base path
Returns: 0 on success with port number, 1 if not found/applicable
Output: Port number (e.g., "1561") or nothing
Notes
Extracts port from cman.ora address configuration Format: (address=(protocol=TCPS)(host=localhost)(port=1562))
plugin_get_required_binaries¶
Get list of required binaries for WebLogic
Source: weblogic_plugin.sh
Returns: 0 on success
Output: Empty (stub)
plugin_get_required_binaries¶
Get list of required binaries for Java
Source: java_plugin.sh
Returns: 0 on success
Output: List of required binaries
plugin_get_required_binaries¶
Get list of required binaries for OMS
Source: oms_plugin.sh
Returns: 0 on success
Output: Empty (stub)
plugin_get_required_binaries¶
Get list of required binaries for database
Source: database_plugin.sh
Returns: 0 on success
Output: Space-separated list of required binaries
Notes
Core database tools that should be available
plugin_get_required_binaries¶
Get list of required binaries for Data Safe connector
Source: datasafe_plugin.sh
Returns: 0 on success
Output: Space-separated list of required binaries
Notes
Data Safe uses Connection Manager (cmctl)
plugin_get_required_binaries¶
Get list of required binaries for OUD
Source: oud_plugin.sh
Returns: 0 on success
Output: Space-separated list of required binaries
Notes
OUD has oud-setup and other management tools
plugin_get_required_binaries¶
Get list of required binaries for this product
Source: plugin_interface.sh
Arguments:
- None
Returns: 0 on success
Output: Space-separated list of required binary names
Notes
Used by oradba_check_oracle_binaries() to validate installation Example (RDBMS): "sqlplus tnsping lsnrctl" Example (DATASAFE): "cmctl" Example (CLIENT): "sqlplus tnsping"
plugin_get_required_binaries¶
Get list of required binaries for Full Client
Source: client_plugin.sh
Returns: 0 on success
Output: Space-separated list of required binaries
Notes
Full client has sqlplus and tnsping
plugin_get_required_binaries¶
Get list of required binaries for Instant Client
Source: iclient_plugin.sh
Returns: 0 on success
Output: Space-separated list of required binaries
Notes
Instant Client has sqlplus if SQL*Plus package installed
plugin_get_required_binaries¶
Get list of required binaries for EM Agent
Source: emagent_plugin.sh
Returns: 0 on success
Output: Empty (stub)
plugin_get_service_name¶
Extract CMAN service name from cman.ora configuration
Source: datasafe_plugin.sh
Arguments:
- $1 - Base path
Returns: 0 on success
Output: Service name (defaults to "cust_cman")
Notes
Excludes system variables (WALLET_LOCATION, SSL_VERSION, etc.)
plugin_get_version¶
Get WebLogic version
Source: weblogic_plugin.sh
Arguments:
- $1 - Installation path
Returns: 1 (version not applicable for stub)
Output: No output
Notes
WebLogic version detection not implemented in stub Returns exit code 1 (N/A) per plugin standards
plugin_get_version¶
Get Java version
Source: java_plugin.sh
Arguments:
- $1 - Installation path
Returns: 0 on success with clean version string to stdout
Output: Java version string (e.g., "17.0.1", "8.0.291", "21.0.2")
Notes
Parses output from java -version No sentinel strings (ERR, unknown, N/A) in output
plugin_get_version¶
Get OMS version
Source: oms_plugin.sh
Arguments:
- $1 - Installation path
Returns: 1 (version not applicable for stub)
Output: No output
Notes
OMS version detection not implemented in stub Returns exit code 1 (N/A) per plugin standards
plugin_get_version¶
Get Data Safe connector version
Source: datasafe_plugin.sh
Arguments:
- $1 - Base path
Returns: 0 on success with clean version string to stdout
Output: Version string (e.g., "23.4.0.0.0")
Notes
Uses cmctl show version command No sentinel strings (ERR, unknown, N/A) in output
plugin_get_version¶
Get OUD version
Source: oud_plugin.sh
Arguments:
- $1 - Installation path
Returns: 0 on success with clean version string to stdout
Output: Version string (e.g., "12.2.1.4.0")
Notes
Detection methods (in order): 1. config/buildinfo file 2. setup --version command No sentinel strings (ERR, unknown, N/A) in output
plugin_get_version¶
Get product version from ORACLE_HOME
Source: plugin_interface.sh
Arguments:
- $1 - Installation path
Returns: 0 on success with clean version string to stdout
Output: Version string on success only (e.g., "19.21.0.0.0")
Notes
Called by plugin_get_metadata, can be overridden for efficiency No sentinel strings (ERR, unknown, N/A) in output See plugin-standards.md for exit code contract details
plugin_get_version¶
Get Instant Client version
Source: iclient_plugin.sh
Arguments:
- $1 - Installation path (ORACLE_HOME)
Returns: 0 on success with clean version string to stdout
Output: Version string in X.Y format (e.g., "23.26.0.0.0" or "19.21.0.0.0")
Notes
Detection methods (in order): 1. sqlplus -version (if sqlplus available) 2. Library filenames (libclntsh.so.X.Y, libclntshcore.so.X.Y, libocci.so.X.Y) 3. JDBC JAR manifest (ojdbc*.jar) No sentinel strings (ERR, unknown, N/A) in output
plugin_get_version¶
Get EM Agent version
Source: emagent_plugin.sh
Arguments:
- $1 - Installation path
Returns: 1 (version not applicable for stub)
Output: No output
Notes
EM Agent version detection not implemented in stub Returns exit code 1 (N/A) per plugin standards
plugin_set_environment¶
Set DataSafe-specific environment variables (not part of standard interface)
Source: datasafe_plugin.sh
Arguments:
- $1 - Base path (will be adjusted to oracle_cman_home)
Returns: 0 on success
Output: None (modifies environment directly)
Notes
DataSafe MUST use its own TNS_ADMIN - cannot share with other connectors This function sets connector-specific environment variables that must override any inherited values. Always call after setting ORACLE_HOME.
plugin_should_show_listener¶
WebLogic should NOT show listener status
Source: weblogic_plugin.sh
Returns: 1 (never show)
plugin_should_show_listener¶
Java should NOT show listener status
Source: java_plugin.sh
Returns: 1 (never show)
plugin_should_show_listener¶
OMS should NOT show listener status
Source: oms_plugin.sh
Returns: 1 (never show)
plugin_should_show_listener¶
Database homes should show listener status
Source: database_plugin.sh
Returns: 0 (always show)
plugin_should_show_listener¶
Data Safe connectors should NOT show in listener section
Source: datasafe_plugin.sh
Returns: 1 (never show)
Notes
Fixes Bug #84 - DataSafe uses tnslsnr but it's not a DB listener
plugin_should_show_listener¶
OUD should NOT show database listener status
Source: oud_plugin.sh
Returns: 1 (never show)
plugin_should_show_listener¶
Determine if this product's tnslsnr should appear in listener section
Source: plugin_interface.sh
Arguments:
- $1 - Installation path
Returns: 0 if should show, 1 if should not show
Notes
Database listeners: return 0 DataSafe connectors: return 1 (they use tnslsnr but aren't DB listeners)
plugin_should_show_listener¶
Clients should NOT show listener status
Source: client_plugin.sh
Returns: 1 (never show)
Notes
Client homes don't have their own listeners
plugin_should_show_listener¶
Instant clients should NOT show listener status
Source: iclient_plugin.sh
Returns: 1 (never show)
plugin_should_show_listener¶
EM Agent should NOT show listener status
Source: emagent_plugin.sh
Returns: 1 (never show)
plugin_stop¶
Stop DataSafe connector instance
Source: datasafe_plugin.sh
Arguments:
- $1 - Base path
- $2 - Connector name (optional)
- $3 - Timeout in seconds (optional, default: 180)
Returns: 0 on success, 1 on error
Output: None (logs to oradba_log)
Notes
Uses cmctl shutdown with -c instance_name parameter Falls back to pkill if cmctl fails or processes remain Verifies processes are actually stopped
plugin_supports_aliases¶
WebLogic doesn't support aliases
Source: weblogic_plugin.sh
Returns: 1 (no aliases)
plugin_supports_aliases¶
Java doesn't support instance aliases
Source: java_plugin.sh
Returns: 1 (no aliases)
plugin_supports_aliases¶
OMS doesn't support aliases
Source: oms_plugin.sh
Returns: 1 (no aliases)
plugin_supports_aliases¶
Databases support SID aliases
Source: database_plugin.sh
Returns: 0 (supports aliases)
plugin_supports_aliases¶
Data Safe connectors don't support aliases
Source: datasafe_plugin.sh
Returns: 1 (no aliases)
plugin_supports_aliases¶
OUD instances can have aliases
Source: oud_plugin.sh
Returns: 0 (supports aliases)
plugin_supports_aliases¶
Whether this product supports SID-like aliases
Source: plugin_interface.sh
Returns: 0 if supports aliases, 1 if not
Notes
Databases support aliases, most other products don't
plugin_supports_aliases¶
Clients don't support SID aliases
Source: client_plugin.sh
Returns: 1 (no aliases)
plugin_supports_aliases¶
Instant clients don't support aliases
Source: iclient_plugin.sh
Returns: 1 (no aliases)
plugin_supports_aliases¶
EM Agent doesn't support aliases
Source: emagent_plugin.sh
Returns: 1 (no aliases)
plugin_validate_home¶
Validate that path is a WebLogic installation
Source: weblogic_plugin.sh
Arguments:
- $1 - Path to validate
Returns: 0 if valid, 1 if invalid
plugin_validate_home¶
Validate that path is a Java installation
Source: java_plugin.sh
Arguments:
- $1 - Path to validate
Returns: 0 if valid, 1 if invalid
plugin_validate_home¶
Validate that path is an OMS installation
Source: oms_plugin.sh
Arguments:
- $1 - Path to validate
Returns: 0 if valid, 1 if invalid
plugin_validate_home¶
Validate that path is a database home
Source: database_plugin.sh
Arguments:
- $1 - Path to validate
Returns: 0 if valid, 1 if invalid
plugin_validate_home¶
Validate that path is a Data Safe connector home
Source: datasafe_plugin.sh
Arguments:
- $1 - Path to validate (base path, not oracle_cman_home)
Returns: 0 if valid, 1 if invalid
plugin_validate_home¶
Validate that path is an OUD installation
Source: oud_plugin.sh
Arguments:
- $1 - Path to validate
Returns: 0 if valid, 1 if invalid
plugin_validate_home¶
Validate that path is a valid ORACLE_HOME for this product
Source: plugin_interface.sh
Arguments:
- $1 - Path to validate
Returns: 0 if valid, 1 if invalid
Output: None
Notes
Checks for product-specific files/directories See plugin-standards.md for validation strategies
plugin_validate_home¶
Validate that path is an Oracle Full Client home
Source: client_plugin.sh
Arguments:
- $1 - Path to validate
Returns: 0 if valid, 1 if invalid
plugin_validate_home¶
Validate that path is an Instant Client installation
Source: iclient_plugin.sh
Arguments:
- $1 - Path to validate
Returns: 0 if valid, 1 if invalid
plugin_validate_home¶
Validate that path is an EM Agent installation
Source: emagent_plugin.sh
Arguments:
- $1 - Path to validate
Returns: 0 if valid, 1 if invalid