Code Base Access Control & Invoker’s Right Mustafa, 2020-06-212020-07-14 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”…. Continue Reading
Native Compilation of a PLSQL Object Mustafa, 2020-06-17 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… Continue Reading
What is the Max Size of an Oracle Database? Mustafa, 2020-06-05 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… Continue Reading
Parsing CSV Lines and columns in PLSQL Mustafa, 2020-06-032020-06-03 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…. Continue Reading
Min/Max on same column Mustafa, 2020-05-222020-05-22 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)”… Continue Reading
How to convert a LONG column to CLOB directly in a query Mustafa, 2020-04-062020-04-06 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… Continue Reading
Using “User” function in a scheduled Job Mustafa, 2020-03-172020-03-17 Hi there, I wanted to talk about a problem that I faced recently. Also I thought about the subject because this post is also related with “Session user vs Schema”. Whenever I use the term of “Job” I will be talking about Dbms_Scheduler Jobs not Dbms_Job! When you created a… Continue Reading
Sequential ID column without gap! Mustafa, 2020-02-062020-02-06 Hello, A customer is asking to you generate order numbers one by one and without gap! What an unpleasant request isn’t it? if you are not familiar to databases then you might think that this request is logical but it is not. So your customer asked for this and you… Continue Reading
How to store Yes No questions on table and BITAND function Mustafa, 2020-01-20 Hi everyone, you might see BITAND function is frequently used by Oracle on source codes. Did you wonder why? What does BITAND function do? as you can understand from the name, it does a bitwise AND operation on parameters. probably you know what a bitwise and but as a small… Continue Reading