Hi, Answer of the question in the subject is “Using too much V in SQL statements”. Let’s see why and what should you do. First things first, I am NOT a APEX developer. I am a DBA and Database Developer but some of my clients are using APEX and I am dealing with many sql […]
Year: 2021
Hierarchical Blocking Session List
Hi, Today, I needed to list all blocking sessions hierarchically. As you know, all information about sessions (and blocking sessions) are in gv$session (or just v$session if you are using single instance) view. I wanted to see who is blocking who and blocker at the top. you can write simple connect by (or with clause) […]
Subquery Caching
Hi, I want to talk about very sweet performance “trick”. I love when I do something small and gain a lot 🙂 Today, I will demonstrate subquery caching in Oracle and try to explain how it works and it’s limitations. Probably, you are using some plsql functions in your select (or dml) statements. There is […]
Why should you use PLSQL_OPTIMIZE_LEVEL as 3
Hi, As you know PLSQL_OPTIMIZE_LEVEL parameter is used to optimize the codes while compiling them and it is really important. By default it’s value is 2 but you can increase it to 3 and you should, here is why. before begin, this is an extension for this post: http://mustafakalayci.me/2020/06/26/performance-gain-of-nocopy-parameters/ Very much thanks to Stephan Borsodi who […]
ORA-04036: PGA memory used by the instance exceeds PGA_AGGREGATE_LIMIT While Compiling a Huge PLSQL package
Hello everyone, Lately, I faced with an interesting ORA-04036 errors at one of my clients’ development database. My notification modules alerted me about ORA-04036 error and I was just started to investigate trace files (and saw a package name frequently) and one of the developer sent me an email about the error they got. They […]
Enable Unified Audit on Linux and Windows
Hi, As you know, since 12c Oracle introduce Unified Auditing which has much more capabilities than standard auditing. Creating policies, audit conditions, top level auditing etc. By default Oracle uses “mixed” mode which allows you to run unified auditing commands and standard auditing. you can check if you are using unified auditing by default:
1 |
select * from v$option where PARAMETER = 'Unified Auditing'; |
[…]
V$DIAG_ALERT_EXT and equality conditions
Hello, I don’t know if this is a bug but something small took my attention. Codes below are run on 19.8 and 19.12 versions. Lately, I was working on alert log messages and to do that I use V$DIAG_ALERT_EXT view which is a row by row representation of alert log file. while I was looking […]
Blockchain vs Immutable tables
Hi, as you know 21c is here for linux and some new features are (as always) pretty exciting. two of them are Blockchain and Immutable tables. Let’s explain and test. first of all, those are new features for 21c but they are backported to 19c. at 19.10 you are able to use BLOCKCHAIN tables and […]
ORA-00600 [kzan_open_osfile:ksfdread] while querying/purging unified audit
Hi everyone, Lately, I hit and ORA-600 while querying unified_audit_trail on 19.8 Oracle database and same thing happens if you want to purge audit data too. the exact error message is: ORA-00600: internal error code, arguments: [kzan_open_osfile:ksfdread], [], [], [], [], [], [], [], [], [], [], [] Normally, I check the support first but […]
X Forwarding for an Oracle DBA
Hi, It’s been a long time. I want to write something about X Forwarding. you might feel more comfortable to use a GUI instead of silent installations sometimes. if you are connecting to a linux server remotely then you must enable X Forwarding to enable GUI for Oracle product like dbca, netca etc. First of […]