Report Metrics
Technical Requirements
...
- oracle_home\database\spfileSID.ora
- oracle_home\database\spfile.ora
- oracle_home\database\initSID.ora
...
cmdb_ci_db_ora_instance Data attributes
u_ = added fields
|
Host Environment | u_host_environment | true | String | (empty) | 40 | false | Lifecycle Classification | u_lifecycle_classification | true | String | (empty) | 40 | false | University Sponsor Leader | u_univ_sponsor_lead | true | Reference | User | 32 | false | University Areas | u_university_areas | true | List | University Area | 1,024 | false | Sys ID | sys_id | true | Sys ID (GUID) | (empty) | 32 | false | Used by | u_used_by | true | List | Applications Used By | 1,024 | false | Package Type | u_package_type | true | String | (empty) | 40 | false | Name | name | true | String | (empty) | 255 | true | Host Type | u_host_type | true | Reference | Host Type | 32 | false | Operational status | operational_status | true | Integer | (empty) | 100 | 1 | false | Description | short_description | true | String | (empty) | 1,000 | false | Can Print | can_print | false | True/False | (empty) | 40 | false | false | Skip sync | skip_sync | false | True/False | (empty) | 40 | false | false | Most recent discovery | last_discovered | false | Date/Time | (empty) | 40 | false | Lifecycle Date | u_lifecycle_date | false | Date | (empty) | 40 | false | Configuration directory | config_directory | false | String | (empty) | 255 | false | Classifier | classifier | false | Reference | Process Classification | 32 | false | Business Value Score | u_business_value_score | false | Choice | (empty) | 40 | false | Operational Controls | u_operational_controls | false | String | (empty) | 40 | false | Clustered | u_clustered | false | True/False | (empty) | 40 | false | Other High Risk | u_other_high_risk | false | String | (empty) | 200 | false | Fault count | fault_count | false | Integer | (empty) | 40 | 0 | false | Functional Contact | managed_by | false | Reference | User | 32 | false | Decommission Date | u_decommission_date | false | Date | (empty) | 40 | false | GL account | gl_account | false | String | (empty) | 40 | false | PID | pid | false | Integer | (empty) | 40 | false | Last SDR Approval Date | u_last_sdr_approval_date | false | Date | (empty) | 40 | false | Future Platform Components | u_future_platform_components | false | List | Platform Component | 1,024 | false | Cost | cost | false | Floating Point Number | (empty) | 40 | false | PO number | po_number | false | String | (empty) | 40 | false | Cost currency | cost_cc | false | String | (empty) | 3 | USD | false | Is a Disaster Recovery Plan Required? | u_dr_plan_required | false | String | (empty) | 40 | No | false | Order received | delivery_date | false | Date/Time | (empty) | 40 | false | Domain | sys_domain | false | Domain ID | (empty) | 32 | global | false | Primary Support | u_primary_support | false | Reference | User | 32 | false | Notes | u_notes | false | Journal | (empty) | 4,000 | false | programming ver exp | u_programming_ver_exp | false | String | (empty) | 40 | false | Environment | u_environment | false | String | (empty) | 40 | false | Category | category | false | String | (empty) | 40 | javascript:gs.include("CMDBItem");var it... | false | Support Vendor | u_support_vendor | false | Reference | Company | 32 | false | Platform Components | u_platform_components | false | List | Platform Component | 1,024 | false | TCP port(s) | tcp_port | false | String | (empty) | 255 | false | Manufacturer | manufacturer | false | Reference | Company | 32 | false | Class | sys_class_name | false | System Class Name | (empty) | 80 | javascript:current.getTableName(); | false | Used for | used_for | false | String | (empty) | 40 | Production | false | Installed | install_date | false | Date/Time | (empty) | 40 | false | PagerDuty service | x_pd_integration_pagerduty_service | false | String | (empty) | 40 | false | Accessibility Support Group | u_accessibility_support_group | false | Reference | Group | 32 | b0dea7a56f1771007ee2abcf9f3ee477 | false | Credentialless Discovery Port | cl_port# | Requirement |
| User Story |
|
| Importance | Challenge | Notes |
---|
1 |
Mid Server | Update Mid-Server Parameters | - set mid.property.ssh.use_snc = true to address the dmidecode issue
- Changed glide.required.attribute.enabled to false to ignore the mandatory fields
- Restart Mid-Sever
2 | Probes
Image Removed
...
Oracle Instance
- Horizontal discovery probe: launches patterns
- Powershell-Oracle - Instance PFile (for Windows)*
- Powershell-Oracle - Instance Version (for Windows)*
- SSHCommand-Oracle - Instance Details (for Linux)*
Patterns
Image Removed
...
Application patterns:- Oracle DB On Windows Pattern
- Oracle DB on UNIX Pattern
This shared library pattern used by the Linux Server pattern:- UNIX Cluster - ORACLE Clusterware
Note: This shared library pattern is triggered if the crsd.bin
process is running on the Oracle database server.
Oracle Discovery Data Collections
Data collected on UNIX machines
...
- From the output of the
ORA_HOME/bin/sqlplus /NOLOG
command - From the output of the
ORA_HOME/bin/lsnrctl
status command - From the path of ORA_HOME
...
- oracle_home/dbs/spfileSID.ora
- oracle_home/dbs/spfile.ora
- oracle_home/dbs/initSID.ora
...
security patch Level |
| To capture the attribute security patch level. We will need to use 'OPatch' and 'lsinventory' commands which lists all the patches applied to the oracle db and then parse the latest patch that has been applied. You will have to add a 'extension section' to the oracle pattern, to add extra steps to run this command, and then parse the output, to extract the value you want to put in the attribute/ field of the CI.
Here is the pattern.
Image Added |
|
|
|
|
|
2 | important |
| Image Added glide.required.attribute.enabled
Set to false |
|
|
|
|
|
3 |
|
| Proposed View modification that we would like to see which includes the latest security patches applied to that Instance as well – that is one of the most important piece of information we would like to see on this form/view. Image Added
|
|
|
|
|
|
4 |
|
|
Oracle = Listener Details Image Added ORA_HOME=$1 LISTENER=$2 TNS_ADMIN="/ora_admin/tns_admin" FAILED=0 ERR=""
get_config() { CONFIG_PATH="${TNS_ADMIN}/listener.ora" FAILED=`sudo cat $CONFIG_PATH 1> /dev/null 2>&1; echo $?` [ "$FAILED" != 0 ] && ERR="Could not read listener.ora: $CONFIG_PATH. $ERR" && return echo "snc_listener.ora_contents=" sudo cat $CONFIG_PATH }
get_instances() { ORACLE_HOME=$ORA_HOME export ORACLE_HOME INSTANCES=`${ORA_HOME}/bin/lsnrctl status $LISTENER 2>&1 | sed -ne 's/Instance "\(.*\)", status READY.*/\1/p' | tr -d ' ' | uniq | tr '\n' ' '` [ "$INSTANCES" != "" ] && echo "snc_ora_instances=$INSTANCES" && return FAILED=1 ERR="Unable to accurately determine listener<->instance relationships. $ERR" }
get_version() { VERSION=`${ORA_HOME}/bin/lsnrctl status 2>&1 | grep Version | sed -ne 's/.*: Version \([0-9.]*\) .*/\1/p'` [ "$VERSION" != "" ] && echo "snc_ora_version=$VERSION" && return VERSION=`echo $ORA_HOME | sed -ne 's/.*\/\([0-9.]*\)\/.*/\1/p'` [ "$VERSION" != "" ] && echo "snc_ora_version=$VERSION" && return FAILED=1 ERR="Could not determine Oracle listener version. $ERR" }
get_version get_instances get_config [ "$FAILED" != 0 ] && echo "snc_error=$ERR" exit 0 |
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
6 |
|
| set glide.required.attribute.enabled to false |
|
|
|
|
|
7 |
| SID | The solution for this issue is to make sure the identification section "Identification for Oracle DB entry point type(s) - no instance" . executes before "dentification for Oracle DB entry point type(s) - no instance on Solaris" - So i have changed the order on the pattern for the correct identification section to be executed first. - To confirm the issue has been resolved, i ran a discovery on vm-ktkdevdb-01 (172.18.24.33) . See DIS0010142 Now the SID is updated on the oracle instances https://yalesandbox.service-now.com/cmdb_ci_db_ora_instance.do?sys_id=8973fd411bf1005493463153cd4bcb26&sysparm_view= https://yalesandbox.service-now.com/cmdb_ci_db_ora_instance.do?sys_id=bad41982db7d48107150132968961938&sysparm_view= |
|
|
|
|
|
8 |
| security Patch Level
|
|
|
|
|
|
|
Probes
Image Added
Oracle Probes |
---|
Oracle Instance - Horizontal discovery probe: launches patterns
- Powershell-Oracle - Instance PFile (for Windows)*
- Powershell-Oracle - Instance Version (for Windows)*
- SSHCommand-Oracle - Instance Details (for Linux)*
|
|
|
|
Patterns
Image Added
Oracle Patterns |
---|
Application patterns:- Oracle DB On Windows Pattern
- Oracle DB on UNIX Pattern
This shared library pattern used by the Linux Server pattern:- UNIX Cluster - ORACLE Clusterware
Note: This shared library pattern is triggered if the crsd.bin process is running on the Oracle database server. |
Oracle Discovery Data Collections
Data collected on UNIX machines
Label | Field name | Additional information |
---|
SID | sid | Obtained from the name of the process that starts with ora_pmon_ |
Install directory | install_directory | Obtained from the path of ORA_HOME |
Version | version | Obtained in this order:- From the output of the
ORA_HOME/bin/sqlplus /NOLOG command - From the output of the
ORA_HOME/bin/lsnrctl status command - From the path of ORA_HOME
|
Parameter file | pfile | The following locations are explored for the location of the System Parameter File. If this file does not exist in one of the explored locations, Discovery does not find the file and reports an error.- oracle_home/dbs/spfileSID.ora
- oracle_home/dbs/spfile.ora
- oracle_home/dbs/initSID.ora
|
Oracle Home | oracle_home | Obtained from the ORATAB file. |
Edition | edition |
Data collected on Windows machines
Label | Field name | Additional information |
---|
SID | sid | Obtained from the process parameter that is passed to the oracle.exe process. |
Install directory | install_directory |
|
Version | version | Obtained from the output of the ORA_HOME/bin/sqlplus.exe -V command. |
Parameter file | pfile | The following locations are explored for the location of the System Parameter File. If this file does not exist in one of the explored locations, Discovery does not find the file and reports an error.- oracle_home\database\spfileSID.ora
- oracle_home\database\spfile.ora
- oracle_home\database\initSID.ora
|
Oracle Home | oracle_home | Parsed from the path of oracle.exe |
Edition | edition |
cmdb_ci_db_ora_instance Data attributes
u_ = added fields
|
Host Environment | u_host_environment | true | String | (empty) | 40 |
| false |
|
Lifecycle Classification | u_lifecycle_classification | true | String | (empty) | 40 |
| false |
|
University Sponsor Leader | u_univ_sponsor_lead | true | Reference | User | 32 |
| false |
|
University Areas | u_university_areas | true | List | University Area | 1,024 |
| false |
|
Sys ID | sys_id | true | Sys ID (GUID) | (empty) | 32 |
| false |
|
Used by | u_used_by | true | List | Applications Used By | 1,024 |
| false |
|
Package Type | u_package_type | true | String | (empty) | 40 |
| false |
|
Name | name | true | String | (empty) | 255 |
| true |
|
Host Type | u_host_type | true | Reference | Host Type | 32 |
| false |
|
Operational status | operational_status | true | Integer | (empty) | 100 | 1 | false |
|
Description | short_description | true | String | (empty) | 1,000 |
| false |
|
Can Print | can_print | false | True/False | (empty) | 40 | false | false |
|
Skip sync | skip_sync | false | True/False | (empty) | 40 | false | false |
|
Most recent discovery | last_discovered | false | Date/Time | (empty) | 40 |
| false |
|
Lifecycle Date | u_lifecycle_date | false | Date | (empty) | 40 |
| false |
|
Configuration directory | config_directory | false | String | (empty) | 255 |
| false |
|
Classifier | classifier | false | Reference | Process Classification | 32 |
| false |
|
Business Value Score | u_business_value_score | false | Choice | (empty) | 40 |
| false |
|
Operational Controls | u_operational_controls | false | String | (empty) | 40 |
| false |
|
Clustered | u_clustered | false | True/False | (empty) | 40 |
| false |
|
Other High Risk | u_other_high_risk | false | String | (empty) | 200 |
| false |
|
Fault count | fault_count | false | Integer | (empty) | 40 | 0 | false |
|
Functional Contact | managed_by | false | Reference | User | 32 |
| false |
|
Decommission Date | u_decommission_date | false | Date | (empty) | 40 |
| false |
|
GL account | gl_account | false | String | (empty) | 40 |
| false |
|
PID | pid | false | Integer | (empty) | 40 |
| false | PagerDuty webhook | x_pd_integration_pagerduty_webhook
|
Last SDR Approval Date | u_last_sdr_approval_date | false |
StringDate | (empty) | 40 |
| false | Updated by | sys_updated_by | false | String | (empty) | 40 | false |
|
Recovery Tier Justification | u_recovery_tier_justificationFuture Platform Components | u_future_platform_components | false | ListRecovery Tier Justification | Platform Component | 1,024 |
| false |
|
SOXCost | u_soxcost | falseTrue/False | Floating Point Number | (empty) | 40 |
| false |
|
Requires verification | unverifiedPO number | po_number | false | True/FalseString | (empty) | 40 |
| false |
|
Recovery TierCost currency | ucost_recovery_tiercc | false | String | (empty) | 340 | USD | false |
|
Quickbase Application IDIs a Disaster Recovery Plan Required? | u_quickbasedr_plan_idrequired | false | String | (empty) | 40 | No | false |
|
Configuration fileOrder received | configdelivery_filedate | falseString | Date/Time | (empty) | 25540 |
| false |
|
StatusDomain | installsys_statusdomain | falseInteger | Domain ID | (empty) | 4032 | global | false |
|
Supported by | supported_byPrimary Support | u_primary_support | false | Reference | User | 32 |
| false |
|
Start dateNotes | startu_datenotes | false | Date/TimeJournal | (empty) | 404,000 |
| false |
|
Data Sensitivityprogramming ver exp | u_dataprogramming_ver_classificationexp | false | String | (empty) | 40 |
| false |
|
Created byEnvironment | sysu_created_byenvironment | false | String | (empty) | 40 |
| false |
Maintenance schedule | maintenance_schedule | false | Reference | Schedule | 32 | false |
|
Application Scope | u_application_scope | Category | category | false | String | (empty) | 40 |
false | Owned by | owned_byjavascript:gs.include("CMDBItem");var it... | false |
|
Support Vendor | u_support_vendor | false | Reference |
UserCompany | 32 |
| false | Running process parameters | running_process_parameters
|
65,000Platform Components | u_platform_components | false |
String | (empty) | List | Platform Component | 1,024 |
| false | Secondary Support | u_secondary_support
|
TCP port(s) | tcp_port | false |
ReferenceString |
User(empty) |
32255 |
| false | Accessibility Contact | u_accessibility_contact
|
Manufacturer | manufacturer | false | Reference |
UserCompany | 32 |
| falseRegulated Information |
|
Class |
usys_ |
otherclass_ |
contractual_informationname | false |
StringSystem Class Name | (empty) |
1080 | javascript:current.getTableName(); | false | Asset | asset
|
Used for | used_for | false | String |
Reference(empty) |
Asset40 |
32Production | falseChecked in |
|
Installed |
checkedinstall_ |
indate | false | Date/Time | (empty) | 40 |
| false | Last TAC Approval Date | u_last_tac_approval
|
PagerDuty service | x_pd_integration_pagerduty_service | false |
DateString | (empty) | 40 |
| falseExternal Obligations |
|
Accessibility Support Group | u_ |
regulated_infofalse | List | Regulated Information | 4,000 | false | Support group | accessibility_support_group | false | Reference | Group | 32 | b0dea7a56f1771007ee2abcf9f3ee477 | false |
|
DR Plan ID # | u_dr_plan_idCredentialless Discovery Port | cl_port | false | StringInteger | (empty) | 40 |
| false |
|
DNS Domain | dns_domainPagerDuty webhook | x_pd_integration_pagerduty_webhook | false | String | (empty) | 25540 |
| false |
|
Purchased | purchase_dateUpdated by | sys_updated_by | false | DateString | (empty) | 40 |
| false |
|
Listener name | listener_nameRecovery Tier Justification | u_recovery_tier_justification | false | String | (empty) | 255List | Recovery Tier Justification | 1,024 |
| false |
|
OrderedSOX | orderu_datesox | false | DateTrue/TimeFalse | (empty) | 40 |
| false |
|
Serial number | serial_numberRequires verification | unverified | falseString | True/False | (empty) | 25540 |
| false |
|
Display nameRecovery Tier | u_displayrecovery_nametier | false | String | (empty) | 25540 |
| false |
|
Vendor | vendorQuickbase Application ID | u_quickbase_id | false | ReferenceStringCompany | (empty) | 3240 |
| false |
|
Company | companyConfiguration file | config_file | false | ReferenceStringCompany | (empty) | 32255 |
| false |
|
Running process key parameters | running_process_key_parametersStatus | install_status | false | StringInteger | (empty) | 65,00040 |
| false |
|
Lease contractSupported by | leasesupported_idby | false | StringReference | (empty)User | 4032 |
| false |
|
Third Party Support | u_third_party_supportStart date | start_date | false | Reference | Company | 32Date/Time | (empty) | 40 |
| false |
|
Pfile/ SpfileData Sensitivity | u_pfilespfiledata_classification | false | String | (empty) | 40 |
| false |
|
Latest Risk Assessment | u_risk_assessment_idCreated by | sys_created_by | false | String | (empty) | 40 |
| false |
|
Asset tagMaintenance schedule | assetmaintenance_tagschedule | false | StringReference | (empty)Schedule | 4032 |
| false |
|
Production Start DateApplication Scope | u_productionapplication_datescope | false | DateString | (empty) | 40 |
| false |
|
License CountOwned by | uowned_license_countby | false | StringReference | (empty)User | 4032 |
| false |
|
Target Decommissioning Date | u_target_decommissioning_date | false | Date | (empty) | 40 | false | Running process |
commandparameters | running_process_ |
commandparameters | false | String | (empty) | 65,000 |
| false | Monitor | monitor
|
40Secondary Support | u_secondary_support | false |
True/False | (empty) | Reference | User | 32 |
| false |
false |
|
Pfile | pfileAccessibility Contact | u_accessibility_contact | false |
String8,000Reference |
(empty) | User | 32 |
| falseRecovery Time Objective (RTO) |
|
Regulated Information | u_ |
recoveryother_ |
timecontractual_ |
objective_rtoinformation | false | String | (empty) |
4010 |
| false |
|
Asset | asset | false | Reference | Asset | 32 |
| false |
|
sys_class_path | sys_class_pathChecked in | checked_in | falseSystem Class path | Date/Time | (empty) | 255 | javascript:GlideDBObjectManager.get().ge...40 |
| false |
|
Technology Fit ScoreLast TAC Approval Date | u_technologylast_fittac_scoreapproval | false | ChoiceDate | (empty) | 40 |
| false |
|
Correlation ID | correlation_idExternal Obligations | u_regulated_info | false | String | (empty) | 512List | Regulated Information | 4,000 |
| false |
|
Version | versionSupport group | support_group | false | StringReference | (empty)Group | 25532 |
| false |
License TypelicensetypeSDR #u_last_sdr_numberInteger40JustificationjustificationString80Oracle Homeoraclehomename | false | String | (empty) | 255 |
| false |
Functional Owning Organizationu_functional_owning_orgStringEdition | edition100Hostinghostingdisplay_name | false | String | (empty) |
40Assigned to | assigned_toUseru_target_cloud_deploymentTarget Cloud Deployment | 40DR Plan Next Testing Date | u_dr_plan_next_testDateDR Plan Next Approval Datedrplannext_approvalDate(empty)40Subcategory | subcategoryassignedAssigned | Date/TimeInvoice numberinvoicenumberData Typesdatasecurity_classification1,024List | Data Security Classification Type | SID | sidsys_created_onCreated | /TimeProject Number and Name | u_project_number_and_name40checked_outChecked out | DateTimeAttributes | attributes | false | Running process | running_process | false | Reference | Running Process | 32 | false | 65sys_domain_pathDomain Path | (empty)255UpdatedupdatedonDate/TimeBusiness Criticality | u_business_criticality | false | String40 | false | Model model32Reference | Product Model | Other Moderate Risk | u_other_moderate_risk200
User Interface
Main Form
...
User Interface
Main Form
Image Added
User Interface Requirement
Currently discovery process is not getting them Security Patch Level. This is really important for them. He just wants to capture the top row (latest security patch) brought back through the command. Please let me know if this is doable. If it is doable we can add the data attribute to the UI. Right now it is maintained manually in spreadsheets (not always up-to-date).
Having it is Important because Oracle team have to follow ISO requirement of keeping Oracle Databases with up to date with all the security vulnerabilities out there and only way to do is - by applying the patches that comes out quarterly.
Relationships
Tracked Configuration Files
Dependency View
Relationships
Validation Steps
Open Questions
Question | Answer | Date Answered |
---|
| |
|
Out of Scope