Code Base Access Control & Invoker’s Right mustafakalayci, 2020-06-21 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 mustafakalayci, 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? mustafakalayci, 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 mustafakalayci, 2020-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 mustafakalayci, 2020-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
Be careful on Standard Edition 2 CPU Licensing mustafakalayci, 2020-04-22 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… Continue Reading
How to convert a LONG column to CLOB directly in a query mustafakalayci, 2020-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
Oracle 18c New feature Private Temporary Table mustafakalayci, 2020-03-22 Hello, 18c introduced a new object called Private Temporary Table (I will call it PTT in this post). PTT is just another version of Global Temporary Table(GTT). The data is temporary and will be stored for a time. Data in temporary tables (both PTT and GTT) can be queried by… Continue Reading
Using “User” function in a scheduled Job mustafakalayci, 2020-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! mustafakalayci, 2020-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