Feed aggregator

BLOB aggregation

Tom Kyte - Wed, 2016-10-05 09:46
Hi Tom! I've got the table: <code>create table example (id number, image varchar2(10));</code> with these two rows: <code>insert into example (id, image) values (25, 'pippo'); insert into example (id, image) values (32, 'pluto');</c...
Categories: DBA Blogs

Daywise partition automatically

Tom Kyte - Wed, 2016-10-05 09:46
Hi, 1.I have table with huge data so I have created the index, gathering stats, rebuilding index but it is very slow now I have seen the optimiser plan it is showing create partition index So can you pls help me to know what is partition index and...
Categories: DBA Blogs

How to patch Postgres Plus Advanced Server

Yann Neuhaus - Wed, 2016-10-05 09:43

As with any other software there comes the time when you need to patch your Postgres Plus Advanced Server instances. Is that different from patching Community PostgreSQL? Yes and no :) The difference is that you need a subscription to get access to the EDB Customer Portal for being able to download the patch. This is pretty much the same as with My Oracle Support where you need a customer support identifier mapped to your account for being able to download patches, to have access to the knowledge base and for being able to open cases in case you run into troubles which you are not able to solve yourself.

Assuming you have access to the EDB customer portal and you downloaded the patch for your base release the procedure is pretty simple. For this little demo I am running the base release of Postgres Plus Advanced Server:

postgres@centos7:/home/postgres/ [PG2] psql
psql.bin (
Type "help" for help.

postgres=# select version();
 EnterpriseDB on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-55), 64-bit
(1 row)


This is the release you can download from the EDB website for testing. The patch I downloaded from the portal is this one:

postgres@centos7:/home/postgres/ [PG2] cd /u01/app/postgres/software/
postgres@centos7:/u01/app/postgres/software/ [PG2] ls -la
total 27216
drwxrwxr-x. 2 postgres postgres       51 Oct  5 10:16 .
drwxrwxr-x. 5 postgres postgres       47 Jun 15 13:10 ..
-rw-rw-r--. 1 postgres postgres 27868299 Oct  5 10:16 postgresplusas-
postgres@centos7:/u01/app/postgres/software/ [PG2] chmod +x postgresplusas- 

This should patch my base release to currently latest release which is How does it work? Lets execute the binary and see what happens:

postgres@centos7:/u01/app/postgres/software/ [PG2] ./postgresplusas- 
Language Selection

Please select the installation language
[1] English - English
[2] Japanese - 日本語
[3] Simplified Chinese - 简体中文
[4] Traditional Chinese - 繁体中文
[5] Korean - 한국어
Please choose an option [1] : 1

Error: There has been an error.
This installer requires root privileges. Please become superuser before 
executing the installer
Press [Enter] to continue:

A no go for most of the cases. Running installers as root is not a good practice and should be avoided whenever possible. But, luckily, as with the base release installer the patch itself can be installed in “extract only” mode:

postgres@centos7:/u01/app/postgres/software/ [PG2] ./postgresplusas- --extract-only yes --prefix /u01/app/postgres/product/95edb/db_5/9.5AS/
Language Selection

Please select the installation language
[1] English - English
[2] Japanese - 日本語
[3] Simplified Chinese - 简体中文
[4] Traditional Chinese - 繁体中文
[5] Korean - 한국어
Please choose an option [1] : 1
Welcome to the Postgres Plus Advanced Server Setup Wizard.

Please specify the directory where Postgres Plus Advanced Server will be 

Installation Directory [/u01/app/postgres/product/95edb/db_5/9.5AS]: 

Setup is now ready to begin installing Postgres Plus Advanced Server on your 

Do you want to continue? [Y/n]: y

Please wait while Setup installs Postgres Plus Advanced Server on your computer.

 Installing Database Server
 0% ______________ 50% ______________ 100%

Setup has finished installing Postgres Plus Advanced Server on your computer.

postgres@centos7:/u01/app/postgres/software/ [PG2] 

Looks good, but you never should do this when your PostgreSQL is running, otherwise you’ll get this:

2016-10-05 10:22:43 CEST LOG:  server process (PID 4359) was terminated by signal 11: Segmentation fault
2016-10-05 10:22:43 CEST LOG:  terminating any other active server processes
2016-10-05 10:22:43 CEST WARNING:  terminating connection because of crash of another server process
2016-10-05 10:22:43 CEST DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2016-10-05 10:22:43 CEST HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2016-10-05 10:22:43 CEST LOG:  statistics collector process (PID 3324) was terminated by signal 11: Segmentation fault
2016-10-05 10:22:43 CEST LOG:  all server processes terminated; reinitializing

Always shutdown, before you begin to patch. In my case I just started the instance again and I am on the current release:

postgres@centos7:/u01/app/postgres/software/ [PG2] sqh
psql.bin (
Type "help" for help.

postgres=# select version();
 EnterpriseDB on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-55), 64-bit
(1 row)


Simple and fast. If you prepare this very well your downtime will be around one minute. I can already hear the question: Can I switchover to my standby, apply the patch on the master, switchback and then proceed on the standby for reducing the downtime even more? This will be a topic for another post.

PS: Of course you can also prepare a brand new home for the patched binaries and then shutdown your instance, switch to the new binaries and start again from there.

PS2: Just in case you are not aware of: As we have established a partnership with EnterpriseDB in the past you can obtain (an) EDB subscription(s) easily from us. Of course we would do a review of what you really need before. It is not always required to go for the Postgres Plus version. Community PostgreSQL works very well in the most cases and can be backed by a EDB subscription as well, if required.


Cet article How to patch Postgres Plus Advanced Server est apparu en premier sur Blog dbi services.

Enabling the Mobile Workforce with Content and Experience - Part 1

WebCenter Team - Wed, 2016-10-05 09:20

Author: Mark Paterson, Director, Oracle Documents Cloud Service Product Management

I think we can all agree that mobile is transforming every facet of modern society. Along with this powerful trend, Cloud is transforming every facet of the IT infrastructure. Companies are finding that with the changing digital landscape, our expectations have changed, not just as a consumer but as an employee too. The pervasiveness of digital technology and the convenience of it has permeated into our work world, making business users more technology savvy, expecting digital convenience in the workplace as well. As such, more and more users are relying on their mobile smartphones and tablets to continue working outside of the office.

So, in a world where work is no longer dictated by location and spans not just geography but our ecosystem – employees, partners, suppliers and customers, as well as channels – web, mobile, social, how can you empower your users to drive effective mobile collaboration?

With our brand new Oracle Documents Cloud Service mobile apps for iOS and Android mobile devices, you can perform pretty much all of the rich content collaboration functions you’d expect and more, right from the mobile apps.

If you are an existing Oracle Documents Cloud Service user, you will find that all our client applications have had a user interface upgrade, where ease of navigation and contextual actions have been given highest priority. New users would find navigation and the intuitive interface refreshing.

The new release is also fully integrated with the Oracle Social Network so we now have conversations and people as first class citizens in the app meaning:

Users can create standalone conversations without associating it with files or folders

Users can browse people’s profiles, follow them and send each other direct messages

Members can flag people on conversations, threads and action items, and turn on notifications

Comprehensive search across people, documents and conversations

So, the new mobile apps allow you to fully interact with your content and ecosystem - driving a full-fledged communication platform.

I will be doing a complete blog series so that, together, we can look at some of the key mobile collaboration and engagement features in detail. I will be sharing some quick tips on how to use key features of our apps that help drive effective mobile work. The objective of this series is to allow you to take full advantage of the advanced mobile features of Oracle Documents Cloud Series. In fact, if there are specific features or action where you'd like me to focus, please let me know via comments and I will be sure to add that to the series.Where possible, we have provided brief "How to" videos to offer visual guidance.

The first key feature when you are dealing with content is being able to actually edit content anywhere at any time and on any device. And that is what I will focus the rest of today's post on.

If you are working on your mobile device, editing content is easy since Oracle Documents Cloud Service provides full support for Microsoft Office 365 for mobile. As a result, it is just as easy to edit files from your mobile device as it is from your desktop:

  1. Install both the Microsoft Office 365 apps and Oracle Documents apps on your iPhone, iPad, or Android device, then log on to Office 365 and Oracle Documents Cloud Service, and you’re ready to go. Use it anywhere. The key design feature we focused on here is - familiarity. You will find accessing content on Documents Cloud fairly intuitive and familiar to your mobile habits - swiping to navigate and tapping to open folders and files. The app guides you through what to do.

  2. Editing a file stored in Oracle Documents is easy. Launch a Microsoft Office 365 app such as Word, tap on ‘Open’ and from there you can access multiple locations by tapping on ‘… More’, and then ‘Locations’ and Oracle Document is listed as an available location (if this is the first time, you may need to tap on ‘More’ to enable Oracle Documents as a supported location to store files, from this same screen you can drag Oracle Documents to the top of the list so it appears as the first location).

  3. After tapping on Oracle Documents, you can pick the Oracle Documents account you wish to access and browse through all your folders find the file you wish to edit.

  4. Your file will open in Word and you can begin editing. By default, the Mobile Office 365 apps uses "Auto Save" so all your changes will be saved back to Oracle Documents automatically.

  5. You can also start working on brand new documents in any of the Mobile Office 365 apps and use the "Save As" feature. The same locations accessible through "… More" when you did the Open can also be accessed when you are doing a Save so it is easy to pick a folder in Oracle Documents to store your new creation.

  6. If you are an Android user, both Mobile Office 365 on Android and Oracle Documents Cloud Service support the Android Storage Access Framework which allows for the same type of editing flows.

Check out our latest video for step-by-step visual directions on the steps listed above:

You can always find the Oracle Documents Cloud Service mobile apps in the App stores. For those who don't have Oracle Documents Cloud Service as yet, a free trial is available from cloud.oracle.com/documents  to get you started.

Normal 0 false false false EN-US X-NONE X-NONE -"/> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin-top:0in; mso-para-margin-right:0in; mso-para-margin-bottom:8.0pt; mso-para-margin-left:0in; line-height:107%; mso-pagination:widow-orphan; font-family:"Calibri","sans-serif"; mso-ascii- mso-ascii-theme-font:minor-latin; mso-hansi- mso-hansi-theme-font:minor-latin; mso-ansi-language:EN-CA;}

Hope you found this useful, next time I will cover how easy it is to review videos and audio files.

Normal 0 false false false EN-US X-NONE X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin-top:0in; mso-para-margin-right:0in; mso-para-margin-bottom:8.0pt; mso-para-margin-left:0in; line-height:107%; mso-pagination:widow-orphan; font-family:"Calibri","sans-serif"; mso-ascii- mso-ascii-theme-font:minor-latin; mso-hansi- mso-hansi-theme-font:minor-latin; mso-ansi-language:EN-CA;}

Keep your Service Directory valid

Darwin IT - Wed, 2016-10-05 07:49
To day I ran into a trap that trapped me before...

I tried to edit a file adapter service in SOA/BPM QuickStart 12.2.1. And got the error 'Service Directory is not valid' in a pop-up dialog, that prevents me from editing.

The problem is described in this forum thread.

The problem is a space in the path to the JDeveloper project. Now spaces are a drag in filenames and paths (I hate it that Microsoft Windows introducced "Program Files" as the default folder for installing applications).

The solution is in Windows quite simple actually: create a substitute drive like:
echo define drive S: referring to current folder
subst s: /d
subst s: "d:\Data\svn\Applicatie Integration"

Put this in a .bat file and run it before starting JDeveloper and load the application workspaces from the S: drive.

I had this already in place because of my first run into this trap. Why I tripped again? It turned out I accidentally had opened the application from the d: drive again...

The Complete Review Of Data Warehousing and Big Data From Oracle OpenWorld 2016

The COMPLETE REVIEW of OpenWorld covers all the most important sessions and related content from this year's conference, including Oracle's key data warehouse and big technologies: Oracle Database...

We share our skills to maximize your revenue!
Categories: DBA Blogs

Reminder: EBS 12.1 Minimum Patching Baselines and Dates

Steven Chan - Wed, 2016-10-05 02:05

Oracle E-Business Suite 12.1 is now covered by Premier Support to December 31, 2021. This is documented here:

Oracle Lifetime Support table for EBS

Premier Support includes new EBS 12.1 patches for:

  • Individual product families (e.g. Oracle Financials)
  • Quarterly security updates released via the Critical Patch Update process
  • New technology stack certifications with server-based components
  • New certifications for end-user desktops and mobile devices

What are the minimum patching baselines for EBS 12.1?

The minimum patching baselines for EBS 12.1 have not changed.  New EBS 12.1 patches are created and tested against the minimum patching baseline documented in Section 4.2, "E-Business Suite 12.1 Minimum Prerequisites" in this document:

All EBS 12.1 customers must apply the minimum patch prerequisites to be eligible for Premier Support. Those patches include the EBS 12.1.3 Family Packs for the products that you're using and a small number of technology stack infrastructure updates.

Instead of applying the minimum baseline

Many new updates have been released since that patching baseline was originally published.  These new patches contain stability, performance, and security-related updates and are strongly recommended for all customers. 

If you haven't applied any of those updates yet, the simplest solution would be to apply the latest suite-wide EBS 12.1.3 Recommended Patch Collection (RPC).  That way, you get all of the 12.1 minimum patching requirements and the latest updates simultaneously.

As of the date of this blog article, the latest EBS 12.1 Recommended Patch Collection is RPC 5.  If you've reached this blog article via a search engine, it is possible that a new Recommended Patch Collection has been released since this article was first published.  Click on the "Certifications" link in the sidebar for a pointer to the latest EBS 12.1 RPC.

Related Articles

Categories: APPS Blogs

Oracle Data Integrator 12c: Getting Started - What is ODI?

Rittman Mead Consulting - Tue, 2016-10-04 20:28

There is something about sharing stories with others about the technology you love that gets the blood flowing. I have written blog posts and articles, presented sessions at conferences, and recorded podcasts and tech tips about Oracle Data Integrator over the years. And it’s been a blast! But one thing I find is that I’m always drawn to sharing the difficult or overly technical aspects of ODI, often writing about integration with GoldenGate or strange quirks in the product that I’ve had to overcome for my clients. In a sense, that’s why you’re reading, right? The Rittman Mead blog has always been about solving the difficult problems with Oracle technologies and sharing that knowledge in a simple and easy to understand format. But what about a true “getting started” type of article?

I think it’s time for a refresher on Oracle Data Integrator. What is ODI? How has it evolved over the years and where is it going? And, of course, how do you get started with Oracle Data Integrator? I plan to share what I love about ODI and hope to get some folks interested in this great product as well. If you want to learn even more, I’d love to have you join me or one of my colleagues at one of our ODI 12c bootcamps. We’ll dig deep into the details and answer all of your questions about data integration. But until then, let’s get started with a little about where Oracle Data Integrator came from.

History of ODI

Oracle Data Integrator was the product of an acquisition that Oracle made in late 2006. Back then, Oracle already had a data integration tool for developing ETL (Extract, Transform, and Load) mappings, Oracle Warehouse Builder (OWB). At the time, OWB was delivered with the Oracle Database license, which made it the go-to data warehouse development tool for Oracle developers. In October of 2006, Oracle announced that they had acquired a French data integration company called Sunopsis who focused their product on E-LT (Extract, Load, Transform) rather than the traditional ETL.

What did that mean for OWB? The “standard” (and free with the Oracle DB) ETL development platform for Oracle was now in competition with a new product, Oracle Data Integrator. ODI was a separate license cost and resided in the Fusion Middleware stack, outside of the database. As you might imagine, OWB’s days were numbered. With the possibility to sell additional software licenses and the uprising of Fusion Middleware and Fusion Applications (of which ODI was a big part of), eventually Warehouse Builder was to be merged with Data Integrator.

The data integration product from Sunopsis became Oracle Data Integrator 10g after the acquisition. In August 2010, Oracle made their first updates to ODI with the release of Oracle Data Integrator 11g. This version moved ODI into the framework utilized by other products such as Oracle SQL Developer and JDeveloper, and introduced new features such as the JEE Agent and the ODI Console. While the 11g version was a step up from ODI 10g, it was still not widely regarded as a typical ETL development tool. The concept of Interfaces being a single unit of work for ETL versus the usual flow-based mapping approach found in most ETL tools, including OWB, led to a slower adoption rate. It took several years, but finally Oracle Data Integrator went flow-based with the release of ODI 12c, integrating some of the best features from Oracle Warehouse Builder into the current ODI product. In late 2013, the initial version of ODI 12c was made available to the public. Besides the switch to flow-based mappings, ODI 12c has also included integration with big data sources and targets, lifecycle management capabilities, many performance enhancements, and a migration utility for those moving from OWB.

Now that we’re caught up with that brief history lesson, let’s look at how ODI is able to differentiate itself from competitors.

What Makes ODI Different?

I alluded to Oracle Data Integrator’s use of ELT (Extract, Load, and Transform) earlier, but what does that mean - and why are the letters in the acronym ETL out of order? The main difference is in the architecture.


Oracle Data Integrator is built to pushdown the transformation work to the source or target datasource. This means there is no need for a middle tier ETL engine to perform transformations, as many of the traditional ETL tools employ. In fact, in most implementations the ODI agent, which performs orchestration of the ETL processes, simply sends the code to the target server to be executed. This architecture allows ODI to use the power of the target datasource to execute the transformations. Why waste the processing power of your Oracle Database when it’s built for this type of SQL execution?

Knowledge Modules
The concept behind Knowledge Modules (KMs) is quite simple. In a nutshell, KMs are generic code templates that are applied to an ODI mapping and use a substitution language to input metadata from within the mapping to produce executable code at runtime. If you want to change the physical implementation of your mapping, say switching from an insert-only “append” integration method to an incremental update approach, you can simply switch the Knowledge Module applied to that particular mapping. KMs can even be customized or created from scratch to suit your specific data integration needs, adding to the overall flexibility of the tool.

Customization and Flexibility
The Knowledge Modules are just one aspect of Oracle Data Integrator that can be customized. With KMs, you can change how your mappings are physically implemented allowing for the ultimate flexibility. But it’s not just mappings, an object called a Procedure in ODI will allow any bit of code or command line call to be made using nearly any type of technology: Groovy, Jython, OS commands, Oracle SQL, MySQL, SQL Server…the list goes on and on. The great part about customizing Oracle Data Integrator is that you can make it adapt to your data warehouse - and not the other way around. Too often companies must adopt a “standard” because it is built into the software they use rather than a good business practice. Thankfully, that’s not the case with ODI.

Beyond customization within the Oracle Data Integrator objects, you can also access the application backend via the ODI SDK Java API. With this level of access, you can perform almost every task that can be completed within ODI Studio. Imagine, you need to create 400 source to staging mappings, all one-for-one column mappings. With the ODI SDK, and less than 50 lines of code, you can create them all in about 5 seconds! The power of the SDK is generally found when there is a need for a batch creation or modification of objects. But it’s not only those cases where the SDK shines, you can also perform actions such as automation of code deployment or even create a development quickstart for your standard mappings, all with custom code building ODI objects.

As you might have noticed, I’m a big fan of Oracle Data Integrator 12c. This is just the first of many in the “Oracle Data Integrator 12c: Getting Started” series. Up next, we’ll really look at how to go about getting started with ODI 12c. As always, please feel free to send me an email or message on twitter - or comment below - if you have any questions. And if I missed your favorite feature of Oracle Data Integrator, please share in the comments!

Categories: BI & Warehousing


Tom Kyte - Tue, 2016-10-04 15:26
Hi Tom, Could you tell me,Is PGA Resides inside instance or outside intance? Thanks in advance.
Categories: DBA Blogs

To send mail at a particular time everyday

Tom Kyte - Tue, 2016-10-04 15:26
I have a table(TBL_LOG) that store the status of all my packages. I want the contents of the table to mailed to me daily. This should happen as a part of the package that is being triggered at last. I am new learner. Please help.
Categories: DBA Blogs

TO_NUMBER failing in varchar2 column despite using replace and translate

Tom Kyte - Tue, 2016-10-04 15:26
Hi Team, The data in the table is with varchar2 column is : ID --- 43567 77866 256d5 I have to find out numbers which are greater than 40,000 I used below query but getting invalid number error: <code> select al.my_num from (se...
Categories: DBA Blogs

Height Balanced Histogram

Tom Kyte - Tue, 2016-10-04 15:26
Hi, I have table with around 30 million rows in it. There is number(10) column in it. Column is having around 9000 distinct values and height balanced histogram exists on it. When I fire simple query shown below, the estimates are way off: ...
Categories: DBA Blogs

Best indexing for LEAD / LAG analytic functions

Tom Kyte - Tue, 2016-10-04 15:26
Hi, I was wondering which is the best index structure you can issue on a table in order to get LEAD / LAG functions perform at their best. An example. <code> CREATE TABLE DWH1_PLF.TEST ( COD_SAP VARCHAR2( 10 CHAR ), PLAFOND ...
Categories: DBA Blogs

offline elaboration

Tom Kyte - Tue, 2016-10-04 15:26
Hi, I've a high-level question: i've a huge events table written by an external program and i want make a off-line elaboration for each modification affected by the table (insert, delete and update). the best idea that's come to my mind is crea...
Categories: DBA Blogs

ODI julian (decimal) to date

Tom Kyte - Tue, 2016-10-04 15:26
Hi, i need to convert a julin number in 'my_fiel' ODI enviroment I've in source DECIMAL >>> target DATE. i've tryed many query but i'don't to got fix my problem. select to_date(to_char(s'MyField','J'),'yyyy-mm-dd') from dual can yo...
Categories: DBA Blogs

DBA definition

Tom Kyte - Tue, 2016-10-04 15:26
Hi Team according to you, what main difference between "DBA Production" and "DBA application" ? what are the main (shortly described) tasks for each? for instance is backups, rman, export/import are related to mainly Production DBA ? and Tu...
Categories: DBA Blogs

Extra comma in the heading of my csv

Tom Kyte - Tue, 2016-10-04 15:26
Hello Tom, I have a plsql block that writes the records from a table into mulitple csv's. It is based on a condition(code) and if the csv has got more than 500,000 records then it will spool to another csv. The question is my first CSV has got...
Categories: DBA Blogs

Explore more about 12c Multitenant with useful MOS Docs

Syed Jaffar - Tue, 2016-10-04 12:03
As part of an ongoing Exadata migration assignment, we have been exploring Oracle 12c multitenant capabilities a lot. I would like to share here some of selected useful MOS Doc about 12c multitenant concepts:

Below docs explains most of the 12c multitenant concepts:

  • Initialization parameters in a Multitenant database - Facts and additional information (Doc ID 2101596.1)
  • Initialization parameters in a Multitenant database - FAQ and Examples (Doc ID 2101638.1)
  • Oracle Multitenant Option - 12c : Frequently Asked Questions (Doc ID 1511619.1)
  • 12c Multitenant Container Databases (CDB) and Pluggable Databases (PDB) Character set restrictions / ORA-65116/65119: incompatible database/national character set ( Character set mismatch: PDB character set CDB character set ) (Doc ID 1968706.1)
  • How to Restore - Dropped Pluggable database (PDB) in Multitenant (Doc ID 2034953.1)
  • Script For Getting Complete Basic Information about configured CDB and PDB in Oracle Database Multitenant 12c (Doc ID 2012221.1)
  • Difference Between Major Components of Traditional Databases and Multitenant Databases CDB/PDB Introduced in Version 12c (Doc ID 2013529.1)
  • How to set a Pluggable Database to have a Different Time Zone to its own CDB (Doc ID 2127835.1)
  • Where Manageability Data is Stored in 12c Multi-tenant (CDB) database (Doc ID 1586256.1)
  • Master Note for the Oracle Multitenant Option (Doc ID 1519699.1)

Below notes outlines guideline to manage 12c Multitenant Container Database while Oracle Data Guard configuring is in-place:

  • Step by Step Examples of Migrating non-CDBs and PDBs Using ASM for File Storage (Doc ID 1576755.1)
  • Making Use Deferred PDB Recovery and the STANDBYS=NONE Feature with Oracle Multitenant (Doc ID 1916648.1)
  • Data Guard Impact on Oracle Multitenant Environments (Doc ID 2049127.1)
  • PDB Failover in a Data Guard environment: Unplugging a Single Failed PDB from a Standby Database and Plugging into a New Container (Doc ID 2088201.1)

Oracle Database – Generating JSON in the Database using SQL/JSON operators

Marco Gralike - Tue, 2016-10-04 11:08
Oracle 12.2 is available, although still only in the Oracle Cloud via Oracle’s Exadata Express…

Apache Cassandra overview

Yann Neuhaus - Tue, 2016-10-04 08:20

Apache Cassandra is one of the most popular NoSQL database http://db-engines.com/en/ranking. It is used by many big company as Facebook, Netflix and many others. Initially the project was initiated by Facebook. In combination of Google BigTable and Amazon DynamoDB, they developed Cassandra. Actually, Cassandra is developed and maintained by the Apache foundation for the community version and by DataStax for the enterprise and commercial version.



Cassandra has a master-less architecture. A cluster is represented as a ring. It’s a peer-to-peer cluster, with no single point of failure.

Cassandra key features:

  • Distributed
  • Decentralized
  • Replicated
  • Scalable
  • Fault-tolerant
  • Tuneable consistency level
  • No Single Point of Failure
  • High Available
  • Multi data center


Any server nodes can accept write or read queries from clients. Every server is equal.

Cassandra use the Gossip protocol for internode communication within the cluster. The Gossip allows the exchanges of information between cluster nodes, as the status. Each cluster nodes send it status every second to three other node in the ring. A gossip message contain a version and in case of conflict the older version is overwritten.

A Partitioned Row Store

Because C* is a NoSQL database, and in the “NoSQL world” no strict standards are defined, there is a lot of misunderstanding around the Cassandra data model. Currently, C* is defined as a column-store oriented DBMS, but there is a big confusion on this definition.

To define properly, the Cassandra data model you have to decompose it. The picture below will help you to understand the data objects composition.


Cassandra data model is organized into rows of multiple columns/values pairs. Each row is uniquely identifiable by a key, the Row Key. Rows group columns and super columns. Column is the most basic unit of the data model. All columns are sorted by column key name, and all row key are sorted by row key.

Each row key, are stored into tables or column-family and both are encapsulate into Keyspaces. Below a representation of the complete Cassandra data model.


Finally, Apache C* can be defined as a Partitioned row store database.


How data is distributed

Cassandra use a partitioner (internal component) to distribute data across cluster nodes. A partitioner determines where each piece of data have to be stored. The partitioning process is completely automatic and transparent.

Basically the partitioner is a hash function and compute a token for each partition key (Partition Key = Row Key). Depending on the partitioning strategy, each node of the cluster is responsible of a token. Below a picture of the partitioning process.



Three partitioning strategy are available:

  • Murmur3Partitioner
  • RandomPartitioner
  • ByteOrderedPartitioner



Cassandra can stores multiple copy of data on multiple nodes in order to ensure high availability and fault tolerance. Two important concepts are used for C* replication.

Replication strategy: determines in which node data is placed

Replication factor: determines the number of nodes where data is placed. A replication factor of 1 means that the data is replicated one time in one node.

The client connect to any node in the ring. This node became the coordinator, then the coordinator determines where the data must be stored. Finally, the data is replicated from one node to another in the sense of a clock hand.




A quick overview of Cassandra main concepts has been done in this post in order to understand more precisely how Apache Cassandra works. Of course Cassandra concepts are more complex and will be described in future blog posts.


Cet article Apache Cassandra overview est apparu en premier sur Blog dbi services.


Subscribe to Oracle FAQ aggregator