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. […]