General rule for creating indexes in Oracle is following:
- Bitmap indexes – always index nulls
- B*Tree cluster indexes – always indexes nulls
- B*Tree indexes – can’t index data if all indexed columns are NULL
The last one can cause some performance issues but there is trick to index all NULL columns also for B*Tree indexes.
This article presents how to install Oracle 18C on Oracle Enterprise Linux 7 (OEL7).
Read following article how to install Oracle Enterprise Linux 7: Install Oracle Linux 7 (OEL7) (set 8G memory for your virtual machine before proceeding with Oracle software installation).
In Oracle 12C it’s possible to assign a role to a code procedure/function/package
GRANT role_name TO PROCEDURE|FUNCTION|PACKAGE code_name;
This kind of grant can be executed only by following user:
- user with GRANT ANY ROLE privilege
- user who own code and was granted the role with ADMIN OPTION
- user who own code and was granted the role with DELEGATE OPTION
Top three options are commonly know. New option is DELEGATE OPTION. It enables to grant a role to procedure|function|package and nothing more.
Once the role is granted to a code the role is always enabled no matter if the code is created with PRAGMA AUTHID_USER or PRAGMA DEFINER and no matter if owner of the code calls it or other user.
This article focus on two hints:
USE_CONCAT - The
USE_CONCAT hint forces combined
OR conditions in the
WHERE clause of a query to be transformed into a compound query using the
ALL set operator. Generally, this transformation occurs only if the cost of the query using the concatenations is cheaper than the cost without them.
NO_EXPAND - The
NO_EXPAND hint prevents the cost-based optimizer from considering
OR-expansion for queries having
OR conditions or
IN-lists in the
WHERE clause. Usually, the optimizer considers using
OR expansion and uses this method if it decides that the cost is lower than not using it.
NO_EXPAND can be forced by alter session for all statements
ALTER SESSION SET "_no_or_expansion" = TRUE;
This article presents how to install Fedora 26 – Live Workstation version.
I assume you have already downloaded Fedora 26 64 bit Live Workstation(about 1,3 G) and you know how to use VirtualBox 64 bit(100M). Create virtual machine with default settings for Linux Fedora 64 bit. 2CPU, 2GB ram and 64G(includes extra space for Oracle installations) for disk is enough plus increase video memory to 128M. Rest of options you can keep default.
This article describes how AUTOTRACE works in sql*plus.
This article presents how to install Oracle 12C(12.2) Release 2 on Oracle Enterprise Linux 7 (OEL7) in silent mode.
This article describes new options available in Oracle Database Release 12.2 for partitioning:
- extensions for list partitioning
- automatic list partitioned table
- multi-column list partitioned table
- read-only partitions and subpartitions
- filtering maintenance operations
- creating a table for exchange with a partitioned table
- online converting non-partitioned table to a partitioned table
- online split partition and subpartition
Unfortunately in Oracle you can’t create or drop database link in another schema. It’s very frustrating. Simple solution is to create anonymous block which will first create dummy function in another schema and then reuse it to create or drop an object(in our case database link).
Of course it can be reused to do other types of object as well.
This article presents installation of Oracle database 12C(12.2) on Fedora 25. Read following article to install Fedora 25 Linux: Install Fedora 25(for comfort set 4G memory for your virtual machine).
Software for 12CR2 is available on OTN or edelivery