Let’s imagine the following situation – you have a table called EMPLOYEES_TMP which is a global temporary table with a variable number of rows – totally nondeterministic. And there is a query which runs very often to compare primary key values between this table and a remote one (which is basically the same but not […]
Let’s check, why PRAGMA UDF makes execution faster, then regular function. C function responsible for calling a PL/SQL code from SQL is called "plsql_run": Now let’s try to create a new HR session and create a simple function which will multiple values by 2: From other terminal I will connect to the HR session with […]
I’ve already showed you, how to escalate privileges in Oracle Databases. https://blog.ora-600.pl/2013/04/02/privilege-escalation-in-oracle-11gr2-part1/ https://blog.ora-600.pl/2014/12/23/simple-technics-of-privilege-escalation-part2-dbasysdba/ The question is – how to secure your database, if you don’t have EE or possibility to buy Oracle Database Vault or Oracle Advanced Security. Well – there’s always a DBA creativity 😉 For example – if you want to secure the […]
I było tak, że 31 dnia miesiąca sierpnia roku 2015, spotkali się entuzjaści Wyroczni w posiadłości AVIVA. I było tak, że dzierżąc kufle – po brzegi browarem wypełnione – zasiadło wielu aby posłuchać kilku, którzy chcieli się przemyśleniami swoimi podzielić. I stało się tak, że admin przepijał do dewelopera a deweloper do admina i pospołu dyskusja toczyła się wartka a […]
I’ve started the project called RICO – the tool, written in C++ for last resort data recovery. It can be used to extract data from corrupted datafiles and dump them in the form of text files. It is in the early development stage right now and the functionalities are narrowed to: Dump regular and partitioned […]
Recently one of my students asked me if there is any correlation between the AU size in ASM diskgroup and parameter db_file_multiblock_read_count. I made some tests but results are very strange. I have 4 same tables, located in 4 different diskgroups: All tables are smaller then a hidden parameter "_small_table_threshold" so table access full on […]
At the beginning we have to prepare parameter file for the new instance Start the instance in nomount Since I want to duplicate the database in active mode I will register it in LISTENER. To achieve this I have to add the following lines to the listener.ora Now we can perform active database duplication with […]
Let’s try to migrate database to ASM diskgroup without big maintenance window. I have database and ASM (11.2.0.4) – the database is prepared to migration: We will use recoverable copy of database to migrate to ASM. The first run of this script will create copy of datafile on ASM: Subsequent executions of this script will […]
I have configured two devices for ASM – one with ASMLib and one with UDEV: I have downloaded 11.2.0.4 grid infrastructure binaries and prepared response file: Of course in production environment you have set different groups for security reasons. If you think that you can ignore security, read my articles regarding privilege escalations: https://blog.ora-600.pl/category/oracle/security/ With […]
In this article I will show how to change IP address of cluster interconnect. First we have to define new address of the cluster interconnect before we change network settings. And now stop all cluster resources on both nodes Now we can change cluster interconnect ips Now we can start init cluster resources on both […]
In this article I will show how to reconfigure IP addresses in public network for RAC. ` First we have to close all cluster resources This command can hang on stopping ASM. It’s normal, because the resource CRSD is using OCR, which is located on ASM diskgroup. In ASM alertlog you will see errors like: […]
Procedure to convert a standalone database to RAC 11gR2 I have a single-instance database and I want to convert it to RAC with minimum downtime. The first step is to enable RAC option by recompiling the binaries (YOU HAVE TO STOP THE DATABASE FIRST!!!) After this operation I can startup instance and proceed to migration. […]
Add a new node to RAC Check the network configuration for both nodes On the with active cluster, check the network configuration Configure appropriate network devices on the node, which I want to add Create appropriate user on the new node: Configure shared storage – first install ASMLib drivers (if you are using ASMLib :)) […]
Change VOTE and OCR location First we have to create new ASMLib binding Then we have to create new ASM diskgroup and set the appropriate attributes (at least ‘compatible.asm’) Then we can add a new location for OCR. And remove the old location Now we can replace the voting disk location
There is a great new feature related to the 12c database. The feature that will resolve a lot of problems with migrating databases between endian formats. And thanks to our new partner – Omnitec, who agreed to share with their SPARC resources – I will be able to demonstrate you this powerful solution. Oracle has […]
Since the documentation to install Oracle Database on the Solaris SPARC 64bit is so lame, I wrote the short step-by-step instruction on how to install the database, using response file. I assume, that the network is configured and all appropriate packages are installed, so let’s start with configuring project and kernel parameter for user oracle: […]
There is some kind of wrong understanding, regarding what Oracle ASM really is. A lot of people thinks, that this is some kind of file system, provided by Oracle and that Oracle Database reads data "from ASM", while the truth is, that the database reads data directly from the physical raw device with assistance of […]
Hash and sort operations are perfomed in PGA. Quoting after the documentation: A sort operator uses a work area (the sort area) to perform the in-memory sorting of a set of rows. Similarly, a hash-join operator uses a work area (the hash area) to build a hash table from its left input. If the work […]