Introduction Oracle database Standard Edition (SE) has the main features of a RDBMS database and cost significantly less than Oracle Enterprise Edition (EE). Migrating a database from Oracle Enterprise Edition to Standard Edition can be a consideration ifthe Enterprise Edition options or features are not used (or not required) in […]
DBA Oracle
Knowledge Center Database Administration
“You have to give a little… scripting for 12c+”
or Publishing a cleanup script for Oracle 12c+ At the moment I’m just for fun collecting Linux scripts from my direct colleagues. And while I was busy to think up a wiki page for internal use, for a moment I felt like Uncle Scrooge, gathering riches from other minds. Which, […]
Preparation for migrating data to Oracle Virtual Private Database
preparation for migrating data to Oracle Virtual Private Database Introduction Recently I was part of a team involved in the preparation of migration data belonging to multiple business units into a single Oracle 19c database with Virtual Private Database (VPD). The VPD solution is used for the virtual separation […]
How to dynamically Schedule EM Blackouts after PatchTuesday
In the organization I’m currently working for, the OS-patch schedule depends on PatchTuesday (PT) just as Microsoft, Adobe or Oracle are using. And PatchTuesday is, as you all know, the Second Tuesday of each month. But this is a schedule you can not set in the Oracle Enterprise Manager Scheduler. […]
A Quick how-to RMAN backup to OCI Object Storage
This is a quick how-to article on setting up RMAN to backup to Object Storage on OCI. This is applicable when you build your on Oracle database on an OCI instance, or when you have a database on-premise you wish to backup to the (OCI) cloud.
Migrating databases using Dataguard, some pitfalls and observations
My customer needed to migrate to a new set of datacenters, and while other services were able to “lift and shift”, the Oracle RAC database servers had to be rebuilt in the new datacenter because the underlying platform wasn’t able to migrate the shared disks. Fortunately the environment was already […]
Migrating an old (10.2.0.4) database to Oracle Cloud with minimal downtime
Unlike most of our posts this post will contain almost no code or examples. But it hopefully will help somebody who ends up to be in the same situation we landed on: migrating data from very old versions to a new environment. Recently we were tasked with the migration of […]
Oracle Database: Write arbitrary log messages to the syslog from PL/SQL
Syslog is a standard for message logging, often employed in *NIX environments. It allows separation of the software that generates messages, the system that stores them, and the software that reports and analyzes them. Each message is labeled with a facility code, indicating the software type generating the message, and assigned […]
Upgrade Failure as Blessing in Disguise?
or The Findings of an Failed Enterprise Manager Upgrade to OEM13.3 When Oracle Enterprise Manager Cloud Control 13.3 (here just called EM 13.3) came available I read the upgrade documentation and decided that the most cost-effective option for us was to stay with EM 13.2. Later, a rumor about a […]
Creating a Report of available ASM candidate disks from the OEM Repository
A while ago I was reviewing the metric extensions of our Enterprise Manager Cloud Control 13.2.0.0, we use to administer a couple of hundred databases. All acceptance and production databases are installed on Linux RAC-clusters with underlying ASM storage. One of the custom reports summarized the size and number of […]
Enterprise Manager Convert to Cluster Database (RAC) fails without showing errors at Pre Configuration phase
Oracle Enterprise Manager Cloud Control 13c provides a wizard to convert a single-instance database to an Oracle RAC database. This requires the Oracle Database Lifecycle Management Pack for Enterprise Manager Cloud Control. When converting the database to a cluster database, after proving all the required details in the wizard, a […]
How a double entry for LAST_ARCHIVE_TIMESTAMP can stop your audit purge in 12c
In the last nine month we were busy migrating our 11g databases to 12c rel. 2. Due to time constrictions we decided early in the project to migrate 1:1. This meant that we did not make use of the CDB/PDB-feature. During the course of the upgrades my colleagues encountered a […]
ORA-31626, (Database-pump)-job does not exist
A short post about the ORA-31626 error. Found out a scheduled export- and import- job was broken in an Oracle Database. Error: ORA-31626: job does not exist. After checking the scheduled jobs I realized that it’s not the scheduled job, but the datapump-job (should have read the error more carefully – […]
Crash recovery of Oracle databases using Commvault
Some time ago I published an article about creating a RMAN backup using Commvault. See: https://technology.amis.nl/2018/03/01/creating-rman-backups-using-commvault/ . In this article I describe how to execute a crash recovery using Commvault. You need to do a crash recovery when you lost all your datafiles, redolog files, control files and spfile. For example […]
Quickly spinning up Docker Containers with baseline Oracle Database Setup – for performing automated tests
Here is a procedure for running an Oracle Database, preparing a baseline in objects (tables, stored procedures) and data, creating an image of that baseline and subsequently running containers based on that baseline image. Each container starts with a fresh setup. For running automated tests that require test data to […]
ORDS: Installation and Configuration
In my job as system administrator/DBA/integrator I was challenged to implement smoketesting using REST calls. Implementing REST in combination with WebLogic is pretty easy. But then we wanted to extend smoketesting to the database. For example we wanted to know if the database version and patch level were at the […]
How to fix Dataguard FAL server issues
One of my clients had an issue with their Dataguard setup, after having to move tables and rebuild indexes the transport to their standby databases failed. The standby databases complained about not being able to fetch archivelogs from the primary database. In this short blog I will explain what happened […]
The Tale of the Ardent SpringCleaning Maniac (ASM)
or If you want to get rid of stuff, you can always do a good spring-cleaning. Or you can do what I do. Move. – Ellen DeGeneres In order to prepare for a network reorganization we needed to move our current Oracle Enterprise Manager machine into another network segment. So […]
Deploying Oracle OEM agents 13c on windows targets (2008 R2) while OMS is on Linux
Situation at customer’s site: OMS 13.2 on Oracle Linux, targets are Windows machines, and a bit ancient: Windows 2008 R2. How to deploy agents on those targets? Several methods are possible in theory. In this blog I’ll describe my efforts to determine what is really possible and what is efficient.
ODA X6-2M – How to create your own ACFS file system
In this post I will explain how to create your own ACFS file system (on the command line) that you can use to (temporarily) store data. So you have this brand new ODA X6-2M and need to create or migrate some databases to it. Thus you need space to store […]
ETL using Oracle DBMS_HS_PASSTHROUGH and SQL Server
While I prefer a “loosely coupled architecture” for replication between Oracle and SQL Server, sometimes a direct (database) link cannot be avoided. By using DBMS_HS_PASSTHROUGH for data extraction the 2 other ETL processes (transformation and load) can be configured and administered with more flexibility, providing an almost acceptable level of […]
Golden Gate 12c and DIY Sequence Replication with PL/SQL
Recently, while migrating AIX 11gR2 Databases to Oracle Linux 12cR1 on an ODA X5-2, our setup of Sequence Replication by Oracle Golden Gate appeared to be faulty. The target side sequences were not automatically incremented. The problem came to light during the migration of acceptance databases, and under some time […]
Dump Oracle data into a delimited ascii file with PL/SQL
This is how I dump data from an Oracle Database (tested on 8i,9i,10g,11g,12c) to a delimited ascii file: Next to the query and the generated filename the Dump_Delimited function takes another 6 parameters, each one with a default value. Check out the PL/SQL, and BTW… the basics for this code […]
DIY Parallelization with Oracle DBMS_DATAPUMP
Oracle dbms_datapump provides a parallel option for exports and imports, but some objects cannot be processed in this mode. In a migration project from AIX 11gR2 to ODA X5-2 ( OL 5.9 ) 12c that included an initial load for Golden Gate, I had to deal with one of those […]
How About Oracle Database 12c Threaded_Execution
THREADED_EXECUTION Threaded_Execution is an Oracle Database 12c feature aiming to reduce the number of Oracle processes on LINUX. After setting parameter THREADED_EXECUTION on TRUE and a database bounce, most of the background processes are threads within just 6 Oracle processes, where more than 60 processes existed before the bounce. And […]
Oracle 12c STIG Password Generator in PL/SQL
Creating or modifying an Oracle Database user password can be done by using any standard password generator you can find on the WEB. But I wanted a password to comply to “ora12c_strong_verify_function”, and this isn’t as easy to generate as you might expect. Though most generators provide options to include […]
Serial database backups using Oracle Enterprise Manager
For several years now, I’ve been a fan of backups controlled by Enterprise Manager (of Grid Control, or Cloud Control, call it what you want). It is relatively easy to configure backups for your databases and it is well known in our DBA world. Only one thing bothered me though, […]
You are in trouble when more than 8 kernel options are enabled in oracle executable
A brief headsup for everyone responsible for maintaining kernel options in the oracle executable. The environment where I discovered this is a 3 node racattack cluster with Oracle GI & RDBMS 12.1.0.2.0. After enabling Unified auditing in my 12.1.0.2 database I noticed that all of a sudden database startup started […]
Oracle Cloud – DBaaS instance down for no apparent reason – (how archive log mode and storage shortage forced the instance to its knees)
My Oracle Public Cloud DBaaS instance did not respond. On closer investigation, it turned out to be down. Mounting the database ended with an ORA-3113 End of Communication Channel. Investigation of the startup log and the database alerts indicated that no new archive log files could be created. The DBaaS […]
Using guaranteed restore points to navigate through time
Some months ago I worked on a project where we thought it would be a good idea to use multiple guaranteed restore points to be able to navigate through time back and forth. Sadly we ran into some unexpected behaviour of the Fast Recovery Area. Prologue. This was basically a […]
12c DBCA skips database-patching activities
Thanks to colleague Patrick Roozen I learned that there’s a tiny little flaw in Oracle databases 12c patch procedures when using DBUA (upgrade) and DBCA (create custom database) when SPU/PSU/BP are installed on top of the base release. This is described by Mike Dietrich in a recent blog. Oracle Support […]
Security Features of Standard Edition (One) – Part 2
or Some Musings on the Security Implications of Oracle Database Initialization Parameters Still following the steps of a database installation, this article will muse about some Initialization Parameters with security relevance. In order to make a Standard Edition database as secure as possible we could start by looking what is […]
How-to bulk delete ( or archive ) as fast as possible, using minimal undo, redo and temp
Deleting some rows or tens of millions of rows from an Oracle database should be treated in a completely different fashion. Though the delete itself is technically the same, maintaining indexes and validating constraints may have such a time and resource consuming influence that a vast amount of undo and […]
Oracle datapump, advanced compression and licensing
As you may well know, Advanced Compression is an option you have to pay for when using it. But as a DBA you can’t always control the use of this option, e.g. the use of Datapump with Compression parameters. Lately, a few customers were involved in a discussion with Oracle […]
How-to set the current database schema of an application using a global context
Question: We have customers who want to work with different database schemas and we want to determine dynamically – depending on a choice during or after login – which database schema the application in a given session should use. Is it possible to set this up in the database? Answer: […]
Security Features of Standard Edition (One) – Part 1
or A closer look on database hosts The last couple of years quite a few organizations had a difficult time and internal costs where a main focal point was to save money. License costs was one thing where many IT-managers put their question marks and so often the decision was […]
Cloud Control Agent 12c managing many objects
An Oracle Enterprise Management Agent 12c that has to manage hundreds of objects needs extra tweaking. If not, it will not start, or it will die soon, leaving you with an unmanaged infrastructure. Situation The customer runs over 200 databases on 1 host. Intel bases host with 384GB RAM and […]
The caveats of running .sql scripts with GUI tools
One of my pet peeves is people using GUI tools like Toad or SQL Developer while running release scripts on test, acceptation or production systems. Actually, pet peeves is putting it too mildly. Ive had to troubleshoot enough incidents because of this to hold a serious grudge against that careless […]
RAC and preventing Active Data Guard: My experiences
When you happen to have a customer that want’s to use Data Guard on Oracle RAC without a license for Active Data Guard then you might want to read this post. You probably have searched on the internet (just like I did) and already found this nice post from Uwe: http://uhesse.com/2013/10/01/parameter-to-prevent-license-violation-with-active-data-guard/ […]