For the Oracle performance tuning and troubleshooting Telegram channel https://t.me/ora_perf, I developed a simple helpful Telegram bot. It simplifies common Oracle database tasks directly within Telegram.
Here’s what the bot can do:

FAQ Management
- /faq add: Reply with
!faq add {description}
to save a message. - /faq list: Lists all FAQ articles.
- /faq list [search words]: Search FAQ by keywords.
- /faq {N}: Shows FAQ article number N.
- /faq replace {N}: Updates FAQ article N.
Oracle Error Lookup
/oerr: Shows details of Oracle errors
/oerr ora 29024
29024, 00000, "Certificate validation failure"
// *Cause: The certificate sent by the other side could not be validated. This may occur if
// the certificate has expired, has been revoked, or is invalid for another reason.
// *Action: Check the certificate to determine whether it is valid. Obtain a new certificate,
// alert the sender that the certificate has failed, or resend.

Oracle Parameter Search
/param: Finds Oracle parameters by mask.
/param %cnt%
PAR_N NAME VAL_N VALUE IS_DEFAULT
------- --------------------------------- ------- ------- ------------
5231 _approx_cnt_distinct_gby_pushdown 1 OFF FALSE
5231 _approx_cnt_distinct_gby_pushdown 2 FORCE FALSE
5231 _approx_cnt_distinct_gby_pushdown 3 CHOOSE FALSE

Oracle Hints
/hint: Lists Oracle hints by mask
/hint 19


Oracle Fix Controls
/fix_control: Lists fix controls by keyword and version.
/fix_control count 8.1
BUGNO VALUE SQL_FEATURE DESCRIPTION OFE EVENT DEF
-------- ------- ------------------------------- ---------------------------------------------------------------- -------- ------- -----
16954950 1 QKSFM_ACCESS_PATH_16954950 take into account empty partitions when prorating cost 12.1.0.2 0 Y
3120429 1 QKSFM_ACCESS_PATH_3120429 account for join key sparsity in computing NL index access cost 10.1.0.3 0 Y
6897034 1 QKSFM_ACCESS_PATH_6897034 index cardinality estimates not taking into account NULL rows 10.2.0.5 0 Y
9456688 1 QKSFM_ACCESS_PATH_9456688 account for to_number/to_char cost after temp conversion 11.2.0.2 0 Y
14176203 1 QKSFM_CARDINALITY_14176203 Account for filter sel while computing join sel using histograms 11.2.0.4 0 Y
14254052 1 QKSFM_CARDINALITY_14254052 amend accounting for nulls in skip scan selectivity calculation 11.2.0.4 0 Y
16486095 1 QKSFM_CARDINALITY_16486095 Do not count predicate marked for no selectivity 12.2.0.1 0 Y
23102649 1 QKSFM_CARDINALITY_23102649 correction to inlist element counting with constant expressions 12.2.0.1 0 Y
11843512 1 QKSFM_CBO_11843512 null value is not accounted in NVL rewrite 11.2.0.3 0 Y
1403283 1 QKSFM_CBO_1403283 CBO do not count 0 rows partitions 8.1.6 10135 Y
22272439 1 QKSFM_CBO_22272439 correction to inlist element counting with bind variables 12.2.0.1 0 Y
25090203 1 QKSFM_CBO_25090203 account for selectivity of non sub subquery preds 18.1.0 0 Y
5483301 1 QKSFM_CBO_5483301 Use min repeat count in freq histogram to compute the density 10.2.0.4 0 Y
5578791 1 QKSFM_CBO_5578791 do not discount branch io cost if inner table io cost is already 11.1.0.6 0 Y
6694548 1 QKSFM_CBO_6694548 Account for chained rows when computing TA by ROWID from bitmap 10.2.0.4 0 Y
27500916 1 QKSFM_COMPILATION_27500916 only count one with clause reference from connect by 19.1.0 0 Y
10117760 1 QKSFM_CURSOR_SHARING_10117760 cardinality feedback should account for bloom filters 11.2.0.3 0 Y
9841679 1 QKSFM_CVM_9841679 do not set col count for OPNTPLS 11.2.0.3 0 Y
26585420 1 QKSFM_DBMS_STATS_26585420 cap approx_count_distinct with non nulls 18.1.0 0 Y
17760686 1 QKSFM_DYNAMIC_SAMPLING_17760686 Account for BMB blocks when dynamic sampling partitioned ASSM ta 12.1.0.2 0 Y

This bot helps streamline database maintenance and troubleshooting tasks. Join ora_perf to try it and share your feedback!