Few days ago I experienced strange issue in my development environment running on OEL 5.8 with EXT4 filesystem. Note - EXT4 filesystem is supported from OEL 5.6 version.
This was virtual machine running oldish 10.2.0.5.0 Oracle database.
I noticed that backup for my database is failing because of archive log corruption. As this is development database I've simply deleted corrupted archive logs and initiated full backup again. But backup (more...)
Imagine you have 11gR2 Oracle Restart configuration with database files located in ASM.
After server crash you realized that local disks are corrupted and with local disks you lost all Oracle installations. Even though this is important system you don’t have database backup (always take backups!).
But you managed to save all ASM disks as they were located on separate storage.
This will be small beginner guide on how to help yourself in such (more...)
When I create virtual machines on my notebook I always create too small disk for root partition or partition where I put Oracle binaries. After a while when I want to perform upgrade, or install another Oracle software, there is not enough space. This time I want to note steps about how to increase disk free space.
I can easily extend or shrink my logical volumes because I am using LVM in my virtual machines. (more...)
Oracle Flex ASM was introduced in 12c version. This is one of the best features introduced with new version in my opinion.
I won’t speak in detail about Flex ASM because you can find more information in documentation. In this post I will concentrate on how Flex ASM handles crash of ASM instance.
For this test I’ve created 2 node cluster - 12c Grid Infrastructure with Flex ASM enabled.
$ asmcmd showclustermode
ASM cluster : (more...)
I love to read Oracle related blogs, forum posts and mailing lists much more often than books. Why? Because there many Oracle DBA’s and developers share their experiences, problems, "best practices",... which are very valuable to me.
It's great that we have so big and active Oracle community.
Today I noticed mail from Oracle-L
list where someone asked for help with recovery after overwriting production controlfiles. Check Oracle-L
for more info.
It reminded me that (more...)
I've played a little with Oracle SQL Plan Management and something caught my eye.
Let's create simple test.
SQL> select /* test_spm */ count(*) from admin.objekti;
SQL> set lines 200
SQL> col sql_text for a50 wrapped
SQL> select sql_id, sql_text from v$sql
2 where sql_text like '%test_spm%';
cpzgdw9swdvzk select /* test_spm */ count(*) from admin.objekti
ap9td7vafq26n select sql_id, sql_text from v$sql where sql_text
RAC One Node is Oracle active-passive
solution very similar to RAC which is active-active solution.
Running active-passive solution using Oracle Clusterware was possible even before introduction of RAC One Node, but RAC One node brought configuration and managing of active-passive cluster to another level.
In my test environment I've created active-passive cluster using 12cR1 Grid Infrastructure with 12cR1 RAC One Node database.
I've tested failover for Oracle database and noticed interesting behavior with instance placement. (more...)
I have recently configured Active/Passive Failover cluster using Grid Infrastructure 12cR1 and wrote document on that subject. Now I plan to use this environment and convert "test12" database from Single-Instance to RAC database.
There are several ways to convert non-RAC database to RAC database:
- using Database Configuration Assistant (DBCA)
- Oracle Enterprise Manager
- rconfig command line utility
In this post I will describe how to perform conversion using rconfig utility
Suppose I want to create job which will execute every 30 minutes in “working” hours, and at the rest of the day every hour.
With DBMS_JOB I would write something like this in repeat interval:
In DBMS_SCHEDULER I will create two schedules (“WORK”,”NIGHT”) and main schedule ("MAIN_DAY") which will combine those two for job schedule.
(CASE WHEN TO_NUMBER(TO_CHAR(SYSDATE,'HH24')) IN (8,9,10,11,12,13,14,15,16,17)
ELSE TRUNC(sysdate,'HH')+1/24 END)
I'm big fan of tools like VirtualBox
because they offer you opportunity to try various "enterprise" configurations, installations and scenarios on your notebook. Maybe the biggest benefit for my learning lies in these tools.
In this post I will share with you document about creation of Active/Passive failover cluster using Oracle Grid Infrastructure 12cR1 on OEL 6.4. There you can find screenshots taken during my playing in virtual environment packed in PDF (more...)
I've recorded backups on tape to RMAN repository several times already, but every next time I needed to do that I was searching through notes to find proper procedure.
This time I will note procedure in form of the blog post.
Test is performed on Oracle version 22.214.171.124.
These were my unsuccessful attempts:
3> allocate channel c1 device type 'sbt_tape';
4> send 'NSR_ENV=(NSR_SERVER=backup_server,NSR_CLIENT=oracle_client,NSR_DATA_VOLUME=OrclPool)';
5> catalog backuppiece 'ARCH_ORCL_rep2dod5_s128878_p1';
I have learned something new today and this blog post will be (primary) reminder to myself. I am sure that most Oracle DBA’s or Developers are familiar with this trick - so please skip this post if you are one of them :)
My test table will have 1000000 rows with 1000 NULL values for “OBJECT_NAME” column.
Tests are performed on 11gR1 version.
select c.table_name, c.column_name, c.data_type, c.num_nulls,
Last week I’ve mentioned on Twitter
that we ran into wrong result bug
. We found workaround quickly but I’ve decided to spend some time to reproduce error and write blog post to warn you about this optimizer behavior.
Special thanks to my colleague who spotted odd results which led us to this finding.
My test (virtual) environment is:
OS: Oracle Enterprise Linux 5.8
DB: Oracle EE 126.96.36.199.12
In test I (more...)
A few months ago I wrote a blog post - Kill stuck Oracle process from OS using DBMS_SCHEDULER
? We had some problems with stuck Oracle processes and I have created external job to kill stuck processes for a quick workaround.
At the end of that post I wrote:
When dbms_scheduler (more...)
In this post I want to explain how to create duplicate database from active 11gR2 database using RMAN. There are many blog posts covering that subject but most of them are covering non-ASM to non-ASM, ASM to ASM or non-ASM to ASM duplications.
I want to cover ASM to non-ASM (more...)
I am regular follower of Oracle-l
mailing list which is great source of knowledge for Oracle experts. Two days ago one Oracle DBA posted question “RMAN restore/recover problem
” which induced me to re-check my knowledge about some RMAN PITR scenarios.
So I’ve performed some tests and decided to (more...)
In this post I want to show how to test what will happen with your cluster if you simply detach shared storage device from it. VirtualBox is great tool for that purpose because you can test such scenario without involving many people or causing any damage.
I am aware that (more...)
Starting with 11g Oracle can perform block media recovery using flashback logs to get good copies of the blocks.
Flashback database is not enabled by default so first step would be to enable it. When enabled a process RVWR (Recovery Writer) copies modified blocks to flashback buffer. Later this buffer (more...)
I’ve installed Oracle Grid Infrastructure on one of my standalone test servers. This software includes Oracle ASM as volume manager and Oracle Restart for managing Oracle components.
As recommended, Grid Infrastructure and RDBMS software are installed under different users.
Grid Infrastructure: 188.8.131.52.0
RDBMS: 11.2.0. (more...)
In this post I will describe how to change Oracle SID using utility DBNEWID. As I can see DBNEWID is available from 9i version but I’ve never heard about it. Till now, I have used procedure where I’m manually editing and re-creating control file.
But I think it’s much better (more...)