You are here |
blog.tanelpoder.com | ||
| | | |
tanelpoder.com
|
|
| | | | I have created a new page & uploaded videos of my Linux Process Snapper hacking session: Resources Homepage: https://tp.dev/psnapper GitHub: https://github.com/tanelpoder/psnapper Videos Video 1: Exploring /proc Filesystem & System Calls Hacking Session Video 2: Linux Process Snapper Demo Slide(s) The only slide I showed during the hacking session is this: As I didn't get to cover some planned Linux tracing topics today, I guess this means we'll have another hacking session some day! - Linux, Oracle, SQL performance tuning and troubleshooting - consulting & training. | |
| | | |
tanelpoder.com
|
|
| | | | On Exadata (or when setting cell_offload_plan_display = always on non-Exadata) you may see the storage() predicate in addition to the usual access() and filter() predicates in an execution plan: SQL> SELECT * FROM dual WHERE dummy = 'X'; D - X Check the plan: SQL> @x Display execution plan for last statement for this session from library cache... PLAN_TABLE_OUTPUT ------------------------------------------------------------------------------------------------------------------------ SQL_ID dtjs9v7q7zj1g, child number 0 ------------------------------------- SELECT * FROM dual WHERE dummy = 'X' Plan hash value: 272002086 ------------------------------------------------------------------------ | Id | Operation | Name | E-Rows |E-Bytes| Cost (%CPU)| ------------------------------------------------------------------------ | 0 | SELECT STATEMENT | | | | 2 (100)| |* 1 | TABLE ACCESS STORAGE FULL| DUAL | 1 | 2 | 2 (0)| ------------------------------------------------------------------------ Predicate Information (identified by operation id): --------------------------------------------------- 1 - storage("DUMMY"='X') filter("DUMMY"='X') The access() and filter() predicates come from the corresponding ACCESS_PREDICATES and FILTER_PREDICATES columns in V$SQL_PLAN. But there's no STORAGE_PREDICATES column there! - Linux, Oracle, SQL performance tuning and troubleshooting - consulting & training. | |
| | | |
tanelpoder.com
|
|
| | | | People often ask how come I know so much about Oracle (and some Unix) internals and how do I have such a passion for such things. Also, another thing which you can notice is that for some reason a large amount of hardcore computer hackers, low level troubleshooters and various internals experts happen to come from Russia. And I can answer why this is so :) A little bit of history: I was born in Estonia and lived over 20 of my first years there. - Linux, Oracle, SQL performance tuning and troubleshooting ... | |
| | | |
nenadnoveljic.com
|
|
| | Oracle's heuristics previously avoided considering fixed tables for Join Predicate Pushdown (JPPD) transformation, leading to suboptimal plans. Enforcing predicate pushing into the view with the PUSH_PRED hint was a workaround. Oracle addressed this in the 21c release, evaluating fixed tables for JPPD. |