Oracle Database 18c XE Released
It is finished! You can open the champagne and roll up the party - more than 7 years after the release of the previous release, the latest Oracle Database 18 c XE is finally available for download . So far only for Linux x64, but versions for other platforms, as well as Docker and Vagrant images promise to appear very soon.
For those who do not know, Oracle Database XE or Express Edition is a free edition of one of the most powerful relational DBMS. Traditionally, this type of edition had the minimum available functionality, certain restrictions on the resources used, and the small size of the distribution. Nevertheless, even this version of the DBMS has always been very popular among those who only know the possibilities of this DBMS, small companies that are currently satisfied with all the restrictions and they want to appreciate the technology among simple enthusiasts like you and me.
The new, 18th version of XE opens up an unprecedented scope for the use of this database, as this time Oracle changed tactics and, instead of providing minimal functionality, included in this edition almost all of the most popular options of the most expensive and functional edition of Enterprise Edition . But still with restrictions on the resources used.
Why 18s?
Readers who do not work with the database from Oracle every day, explain where it came from the figure 18 . The fact is that after version 12 cRelease 2 the manufacturer decided to change the versioning scheme and switch to a one-year release cycle for new versions of its database management system. Thus, release 12.2.0.2 began to be considered version 18, and in the future we will see 19, 20 and further versions of Oracle Database. At the same time, the new Product Manager in the Express Edition direction promised that now and in the future we will enjoy the new version of XE almost simultaneously with the release of the other editions, i.e. also once a year. The only difference will be that for XE there will be no patches and security patches released, unlike SE and EE. However, each next major release of XE will include all corrections and changes made in the SE and EE editions for the entire previous year, which, of course, is good news. Especially when you consider
What's new?
So, what is remarkable about the new version of Oracle Database 18 c XE? In fact, a lot of things. But the most important difference from previous versions of this edition is that this time it includes almost all of the most popular options from Standard and even Enterprise Edition. Consider in more detail the most remarkable of them.
Multitenant
Starting from 12th c, Oracle Database supports the so-called Pluggable Databases - the point is that the database can be "connected" and "disconnected" to the instance literally with the help of a pair of SQL * Plus commands. This allows you to transfer databases between hosts and even versions of the DBMS without any difficulties. They even promise compatibility with newer versions of the Oracle Database, i.e. the upgrade process will look no more complicated than unplug-uninstall-install-plug. Multitenant-architecture also allows you to support, for example, different versions of APEX in different databases on the same host.
In-Memory Column Store and Aggregation
One of the most powerful and expensive options in the Oracle Database is the in-memory column store, which allows you to store in memory a copy of the data in a column-oriented format for quick access to it in transparent mode.
Partitioning
Partitioning is not something new and exciting, however, it has always been available in the Oracle Database only for Enterprise Edition users, whereas in competing DBMS this option is, in most cases, out of the box. For example, in the recently released Postgres 11 hash partitioning was also added. Now this feature is also available in the free edition of Oracle.
Advanced Analytics and Security
This is a whole set of tools for Data Mining. Interfaces Data Mining SQL, R programming, Oracle Data Miner UI. As for Security, this is all that concerns transparent data encryption.
Online Index Rebuid
How did I miss this opportunity in one of the projects. Now it is possible to produce non-blocking rebuilding of the index "on the fly".
Online Table Redefinition
A similar possibility of non-blocking redefinition of the table structure through the use of a package DBMS_REDEFINITION
previously available only to EE users.
Query Results Cache and PL / SQL Function Result Cache
It is no secret that when it comes to performance, it can not be done without data caching. The instance-level caching of the results of SQL queries and PL / SQL functions is now available and can be used for better performance of your applications.
Bitmap indexes
Special type of indexes, the use of which is usually associated with analytical systems. This is because this type of index is recommended to be used only on tables that are rarely subject to updates. However, their advantage is that these indices can be combined to further accelerate data access, and also be used to use multiple sources (the so-called Bitmap Join Indexes).
Oracle Advanced Compression
An option to delay the achievement of resource constraints in XE, because produces transparent data compression both in the database and in the memory structures of the instance itself.
Materialized View Query Rewrite
An option that allows the optimizer to automatically "rewrite" SQL queries to use materialized views to improve their performance.
Oracle Spatial and Graph
All that concerns the storage and work with geodata.
Unfortunately, such options as Parallel Query , Block Media Recovery , Diagnostics pack and Tuning pack did not deliver . However, the Roadmap project involves the inclusion of the last two in the next version of XE.
A complete list of options included in the assembly can be found in the official licensing brochure of this edition.
And of course, you shouldn’t forget about the number of bug fixes and improvements to the internal mechanisms that the DBMS has undergone since version 11 g . Just think what a breakthrough was made in the work of the most important and most respected component of the Oracle Database - its optimizer.
Restrictions
Where is the fly in the ointment? In restrictions on the resources used by this version of the DBMS. Although a logical increase was noticed here:
- The maximum database size is 12 GB (versus 11 GB at 11 g XE);
- Up to 2 GB of RAM (vs. 1 GB at 11 g XE);
- Up to 2 CPU threads (against 1 in 11 g XE);
- Up to 3 pluggable databases (Pluggable Databases or PDB, no functionality in 11 g XE).
Of course, for industrial use such parameters seem ridiculous, however, for academic use, start-ups and small companies everything fits into the framework of what is necessary. As well as for the evaluation of technology, even by serious industrial giants, this is sometimes more than enough.
Post Scriptum
It is worth noting that, unlike Oracle Database 11 g XE, the new Express Edition comes with no pre-installed Oracle APEX (Application Express is a framework for rapid development of data-driven web applications), this is due at least to the container architecture of the DBMS.
However, installing the so-called Oracle RAD stack ( R apid A pplication D evelopment), consisting of R EST Data Services, A PEX and D atabase, is not a big deal. The latest version of the data component can always be found on the official website:
- Oracle Application Express (APEX), installation and deployment instructions ;
- Oracle REST Data Services (ORDS), installation and deployment instructions .
I think this news is grand for all developers related to the Oracle Database in one way or another, since the newfound life for XE can mean the influx of young professionals in this area, which always has a positive effect on the community! Cheers, comrades!
Update
I don’t write about this in the main article, but since the comments began to raise questions about this, I’ll draw your attention to the fact that 18 c XE includes all the functional innovations, in fact, the 18th version of the DBMS . I will not talk about which of them are objectively the most vivid, but for me this is undoubtedly:
- Native support for working with weakly structured JSON data;
- Support of long names for database objects, such as tables, functions, packages, etc. Those who are in the subject know that, in my opinion, 12c Release 1 there was a limitation of 30 characters, which sometimes caused naming difficulties;
- Advanced Index Compression;
- New package
UTL_CALL_STACK
; - PL / SQL functions defined in a SQL WITH expression;
- PL / SQL-specific data types are now allowed to use through the PL / SQL-to-SQL interface;
- PTF or Polymorphic Table Functions, allowing you to adjust the output format in runtime;
- Qualified Expressions, or differently constructors for all types of collections in PL / SQL;
- Private Temporary Tables that exist only in the current session.
And this is not all, but only what pleases me personally and what I will definitely use. A complete list of changes can be found in the official documentation: