YES! Hi, today I want to write about something which has been asked for many times to me. Let’s say you have an application and it is running very poorly designed sql statements in your database and you are really bored having fights with development teams to ask a change about the sql. Well, in
18c
Performance Gain of NOCOPY Parameters
Hi, Almost every Oracle database uses PLSQL codes like packages/procedures/functions etc. Complex systems with complex codes pass many arguments (parameters) many times between plsql objects. Passing parameters might be the most executed operations in a database. So how well do you pass your parameters? I assume you know about types of parameters like IN or
Oracle Join Methods
Hi, Actually I won’t explain anything today. I will just share a video by Chris Saxon who is also from askTom team. Great guy, you should also follow him. So he made a great, so simple and explanatory video that I have ever seen. Many thanks to Chris. Please watch.
Code Base Access Control & Invoker’s Right
Hi, So you might have already used some “invoker’s right” functions. As you know when you create a procedure/package/function and grant execute on them to other users, whenever other user run those codes, they will run with your privilege. Sometimes you might need those objects to run with “invoker’s right”. that way you make sure
Native Compilation of a PLSQL Object
Hi, you’ve probably heard about “NATIVE” compilation about plsql objects. I wanted to demonstrate how it is work and whether it really does matter or not. By default Oracle compiles every plsql object as “INTERPRETED” which means, your plsql code transform into a intermediate form which interpreted every time when you run it. This part
What is the Max Size of an Oracle Database?
Hi, sometimes I search for “what is the biggest” or “what is the highest” of things and I just realized that I never checked for the max size of an Oracle Database. so based on the limitations ( https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/physical-database-limits.html#GUID-939CB455-783E-458A-A2E8-81172B990FE9 ) and using default settings; default tablespace type is “smallfile” which means a datafile can contain
Parsing CSV Lines and columns in PLSQL
Hi, Yesterday, one of my customers asked for help to tune a procedure and when I investigated the problem I find out that their method to get a specific “column” value in csv file was the problem. So we discuss the situation and adopt a new version of the code. While doing that I just
Min/Max on same column
Hi, Let’s do a simple trick. You want to get min and max value of a column which is already indexed. As you know if you have an btree index on a column and try to get a Min or Max value then you will see an “Index Full Scan(Min/Max)” line in the execution plan.
Be careful on Standard Edition 2 CPU Licensing
Hi, Today I looked for some dedicated servers for two of my customers. They have Standard Edition 2 (SE2) License. So this license says you can have only 1 CPU socket on the machine it does not matter how many core it has! this is really great reason to use SE2 but Oracle also says,
How to convert a LONG column to CLOB directly in a query
Hi, This is a big problem since LONG is a very painful data type. You cannot search in it, use it in CTAS (create table as), pass it to a plsql object as parameter etc. Oracle strongly suggest not to use a LONG column anymore but unfortunately there are many LONG columns in data dictionary