How to enable auto start/shutdown for Oracle Database 18c Express Edition on Linux

Oracle Database 18c Express Edition can be enabled for automatic startup and shutdown with the Linux operating system. This will not only allow you not to worry about starting and stopping the database but it will also ensure that the database is properly shutdown before the machine is powered off. Enabling auto startup/shutdown is done via two simple commands:

  1. systemctl daemon-reload
  2. systemctl enable oracle-xe-18c

These commands will have to be executed either via the root user or with root privileges:

[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl enable oracle-xe-18c
oracle-xe-18c.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig oracle-xe-18c on

For more information about starting and stopping Oracle Database XE, have a look at the documentation.

How to install Oracle Database 18c XE on Linux

The new version of the free Oracle Database edition, Oracle Database 18c Express Edition, just got released for Linux 64-bit. Getting started is really simple on Oracle Linux, basically a three step process of downloading the RPM file, installing it and then configuring the database. On other Red Hat  compatible Linux distributions you will also have to download the Oracle Database Preinstall RPM alongside the XE RPM file. Here is a quick guide on how to setup Oracle Database 18c XE.

tl;dr

Oracle Linux

  1. Download the RPM file from Oracle Technology Network
  2. Run “yum -y localinstall oracle-database*18c*
  3. Run “/etc/init.d/oracle-xe-18c configure

Other Red Hat compatible Linux distribution

  1. Download the RPM file from Oracle Technology Network
  2. Download the Oracle Database Preinstall RPM via “curl -o oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm
  3. Run “yum -y localinstall oracle-database*18c*
  4. Run “/etc/init.d/oracle-xe-18c configure

Continue reading “How to install Oracle Database 18c XE on Linux”

Oracle Database 18c Express Edition is Generally Available!

Oracle just released the new version of Oracle Database Express Edition (XE), a free edition of Oracle Database. This release means something special to me, as I have been closely involved in it and with the great team that brought us Oracle Database 18c XE.

Continue reading “Oracle Database 18c Express Edition is Generally Available!”

Best hidden features in Oracle

I seem to get into a lot of conversations around Oracle Database Options lately. Of course the Database Options are great, no doubt about it. But people sometimes seem to forget what the word “option” means. There is a reason why Oracle doesn’t put everything into one big product but gives you editions and options and the reason is simple: Not everybody will probably need the full feature set of the Oracle RDBMS. There are over 380 features within the Oracle Database which make it to the best relational database out there and I haven’t seen a single occurrence yet where all of those 380+ features are exploited within one installation. Most of the time people aren’t even aware of the feature richness of the Oracle Database.
Well, as you can imagine not all of those features ended up in Database Options but a lot of them are part of the core product and available in Standard Edition One, Standard Edition and Enterprise Edition. You got them as soon as you purchased a license for any of those three editions. A lot of you will probably still not need all the features that come as part of the editions but here is a list of what I consider the “Best hidden features in Oracle”:

  1. XML DB (this is probably the best hidden gem ever! Since 11g XML DB became really powerful and is a lot more than just a XMLTYPE BLOB data type)
  2. Text (full text search functionality)
  3. SQL Developer (check out early adopter version 4)
  4. SQL Pattern Matching (new in 12c)
  5. Temporal Database (new in 12c, no more start and end timestamps in every table)
  6. Recovery Manager (aka RMAN, no more full export, shutdown and data files copy every night)
  7. Application Express (also known as APEX, build sophisticated web-based applications directly on top of the database. Another feature that got really powerful lately!)
  8. Locator (ever come across geospatial requirements like which of my customers live closest to which branch of my store?)
  9. Enterprise Manager Express (although Enterprise Manager Cloud Control is free itself, Oracle Database 12c comes with a bundled Express version for its own instance management. This is great when you have just a single installation sitting somewhere which you either can’t deploy to your EM Cloud Control installation or you don’t have an EM Cloud Control installation)
  10. Fail Safe (High availability for Windows)

Oracle 12c R1 enqueue waits

Just as with the new Oracle 12c R1 lock types it’s time to take a quick look at the new enqueue waits in 12c. Oracle 11.2.0.3 had a total of 304 enqueue waits. 12.1 has a total of 418. A lot of work seems also to have happened on ASM in this release. The amount of new enqueues per group looks as follows:

Group Amount
ASM Enqueue 16
Enqueue-Cross SCN 12
Backup/Restore 11
Queue Ptning global enq 8
Being Written Redo Log 8
SGA Log-Bkt Flush 6
AM Container 5
Media Recovery 5
OLS groups 4
Instance Recovery 3
AVM RTA Access 3
AM Contained File Identification 3
Privilege Capture API 2
Queue table enqueue 2
Label Security Profile 2
RFS Logminer FLC 2
Data Guard Broker 2
IOServer File 2
Queue Partitioning local enqueue 2
Column Key 1
Flush Stat 1
Pluggable Database 1
SGA Log Operation 1
AM Group Rebuild/Validate 1
Real-Time ADDM Flood Control 1
AM Contained File Resize 1
PDB DDL Operations 1
non durable sub bmap alloc 1
CBAC Master Lock 1
IOServer Client 1
PDB Instance State 1
Oracle File System Operation 1
KJCI Serialization Enqueue 1
Spillover Audit files 1
Application Continuity 1
File Set / Dictionary Check 1

Continue reading “Oracle 12c R1 enqueue waits”