Просторы интернета
One of the easiest ways is to use diagnostic events:
alter session set events 'sql_trace {callstack: fname xctend} errorstack(1)'; [...]One of the easiest ways is to use diagnostic events:
alter session set events 'sql_trace {callstack: fname xctend} errorstack(1)'; [...]
You may know that some applications generate queries with bind variables' names like :1 or :”1″, and neither SQL*Plus nor SQLCl support such variables:
SQLPlus:
SQL> var 1 number; SP2-0553: Illegal variable name "1".SQLCL:
SQL> var 1 number; ILLEGAL Variable Name "1"So we can't run such queries as-is, but, obviously, we can wrap them [...]

You may know that some applications generate queries with bind variables' names like :1 or :”1″, and neither SQL*Plus nor SQLCl support such variables:
SQLPlus:
SQL> var 1 number; SP2-0553: Illegal variable name "1".SQLCL:
SQL> var 1 number; ILLEGAL Variable Name "1"So we can't run such queries as-is, but, obviously, we can wrap them [...]

I know 2 “special” exceptions that can't be processed in exception handler:
“ORA-01013: user requested cancel of current operation” “ORA-03113: end-of-file on communication channel”Tanel Poder described the first one (ORA-01013) in details here: https://tanelpoder.com/2010/02/17/how-to-cancel-a-query-running-in-another-session/ where Tanel shows that this error is based on SIGURG signal (kill -URG):
-- [...]
I know 2 “special” exceptions that can't be processed in exception handler:
“ORA-01013: user requested cancel of current operation” “ORA-03113: end-of-file on communication channel” and + “ORA-00028: your session has been killed” from Matthias RogelTanel Poder described the first one (ORA-01013) in details here: [...]
Got an interesting question today in RuOUG:
Some very simple PL/SQL procedures usually are completed within ~50ms, but sometimes sporadically longer than a second. For example, the easiest one from these procedures:
create or replace PROCEDURE XXXX ( P_ORG_NUM IN number, p_result OUT varchar2, p_seq OUT number ) [...]Got an interesting question today in RuOUG:
Some very simple PL/SQL procedures usually are completed within ~50ms, but sometimes sporadically longer than a second. For example, the easiest one from these procedures:
create or replace PROCEDURE XXXX ( P_ORG_NUM IN number, p_result OUT varchar2, p_seq OUT number ) [...]
@tracefile_read_last_by_mask filemask [regexp] [ignore_regexp]
– finds last trace by filemask and filters rows by regexp and filters out rows by ignore_regexp:
@ tracefile_by_mask.sql [mask] – finds and shows last 10 trace files by mask

@tracefile_read_last_by_mask filemask [regexp] [ignore_regexp]
– finds last trace by filemask and filters rows by regexp and filters out rows by ignore_regexp:
@ tracefile_by_mask.sql [mask] – finds and shows last 10 trace files by mask

Oracle diagnostic events is a great feature, but unfortunately poorly documented and nonintuitive, so it's difficult to remember all events/actions/parameters and even read its internal documentation using oradebug. So I decided to compile its internal doc as a more convenient html-version (http://orasql.org/files/events/) and make a cheat [...]

Oracle diagnostic events is a great feature, but unfortunately poorly documented and nonintuitive, so it's difficult to remember all events/actions/parameters and even read its internal documentation using oradebug. So I decided to compile its internal doc as a more convenient html-version (https://orasql.org/files/events/) and make a cheat [...]


This document is my attempt to bring together the available options that can be used to determine the root cause of an issue in order to create a roadmap to help support engineers narrow down the cause of concern.
It is a living document and will be edited and amended as [...]
This document is my attempt to bring together the available options that can be used to determine the root cause of an issue in order to create a roadmap to help support engineers narrow down the cause of concern.
It is a living document and will be edited and amended as [...]
I created this simple service a couple of years ago. It's pretty simple, small and intuitive Python app, so you can easily modify it to suit your own needs and run on any platform: https://github.com/xtender/pySync
[...]Obviously we can format/beautify SQL or PL/SQL code using external tools, but sometimes it would be more convenient to format it directly in database, for example if we want to see few different sql_text's from v$sqlarea. And thanks to Oracle SqlCL and [...]
Write a pure SQL query with PL/SQL that stop after :N seconds, where :N is a bind variable.
My solution with v(start_hsecs, delta, flag) as ( select hsecs as start_hsecs, 0 as delta, 1 as flag from v$timer union [...]You can add also any information from v$rtsm_sql_plan_monitor if needed
create or replace function px_session_info return varchar2 parallel_enable as vSID int; res varchar2(30); begin vSID:=userenv('sid'); select to_char(s.server_group,'fm000') ||'-'||to_char(s.server_set,'fm0000') [...]
I've just released new version of my Simple Android Oracle Client.
New features:
Supported Oracle versions: 11.2, 12.1, 12.2, 18, 19, 20. SQL Templates: now you can save and load own script templates Server output (dbms_output) Export results as JSON, CSV and HTML files (long tap on results) Copy results to the Clipboard as JSON [...]