Skip navigation

Tag Archives: oracle

Stumbled across a type of index optimization which can be used with Oracle database tables. A Reverse Index, also known as a reverse key index stores the index entries as their bytes reversed, except rowids.

Reverse Key Index

by Yasin Baskan

In single instance databases there is also a case where reverse key indexes can be helpful. If you have a column populated by an increasing sequence, you delete some old rows from the table and you do not do range scans on that column and you have contention issues on index blocks, reverse key indexes can be considered. The reverse key index will scatter the entries accross different blocks during inserting and your many concurrent sessions will not have index block contention issues.

Read more: http://oracletoday.blogspot.com/2006/09/there-is-option-to-create-index.html#ixzz1wxx3qO4l

This method offers a new way of managing data entry and output from a situation of large data sets or multiple read/write database sessions involved.

The R language is an open source project run by a very large community of “clever” statisticians who have created to date over 2,500 plug-ins for analyzing different data sets tuned by industry and data type. More recently, Oracle has jumped into the picture by creating an analytical product that bridges the hard work of R across to their flagship 11g R2 database product.

R is Ready for Big Data: Take the Open Road to Statistical Analysis

By Timothy Prickett Morgan

Statistical analysis has been around since mainframes were introduced to academia and corporations back in the 1960s.

But the great diversity of telemetry collected by systems today, the need to sift through it for insight and the growing popularity of open-source alternatives is transforming the R programming language for statistical analysis and visualisation. Its new nickname is Red Hat for stats…

http://www.theregister.co.uk/2012/06/03/big_data_r_statistical_analysis/

In the Oracle implementation of R, there is some integration that allows the R console to work with Hadoop distributed file systems and NoSQL databases, both of which are also core components of the world of “Big Data”

Mark Hurd, former president of HP in Silicon Valley, is excited about his prospects at Oracle. Because of the software giant’s deep reach into the business ecology, they are in a position to leverage their virtual monopoly to create very useful and innovative technologies for all involved. It all depends. Some companies in similar positions get lazy and just let their momentum take over the market as long as they can… we shall see.

Mark Hurd: ‘I felt Oracle was in a position to do something nobody else could do’

By 7:00PM BST 26 May 2012

Mark Hurd is mounting his own Silicon Valley comeback.

In 2010, his friend and tennis partner, Oracle chief executive Larry Ellison, gave him a job and blasted the Hewlett Packard board that had ousted him amid sexual-harassment allegations for having made “the worst personnel decision since the idiots on the Apple board fired Steve Jobs”.

A Jobs-style messianic return to HP is out of the question and the comparison between the two men bears no further scrutiny, but sitting in Oracle’s preternaturally bland Moorgate offices, Hurd, 55, and now co-president of Oracle, knows he has at least landed on his feet. (read more)

The most insightful comment Mark Hurd had to make in his interview was his generational concept of customer service… “I’m old…” he begins, and relates that his generation is used to crappy customer service. Not getting a response or being stuck at a call center on hold for fifteen minutes is the status quo that nobody in his age group would even flinch at. Not so with his daughter’s generation: they want answers immediately, and will take their business and searches where they can get that response time. An allusion was made in this respect to mobile computing platforms and this demand for immediate information access from future, younger generations of consumers.

Today the Oracle v. Google court case jury handed down their decision on the case surrounding Oracle’s claim of copyright infringement practiced by the major search engine firm with respect to their Android product.

A jury found Google Inc., the largest Web search provider, didn’t infringe Oracle Corp.’s patents in developing Android software, handing the database maker another defeat in a trial in which it sought $1 billion in damages.

What is Android?

Android is the operating system platform for many major mobile smart phones and tablet computing devices. There was a deadlock on the decision whether or not Google exercised or abused the “fair use” policy of Oracle’s copyrights. In the end, the Android product was found to have directly copied nine lines of Oracle code which itself is made up of over 15 million lines of code. The damages allowed to claim of the defendant will most likely be very limited and smaller than the original lawsuit filed.

A Difficult Choice to Make for the Jury

When speaking of the jury, the jury foreman conceded that:

“The more tech-savvy a person is, the more difficult it is to persuade them about what limitations should be placed on technology,” Thompson said in an interview after the trial.

I’ll agree that it is a difficult choice to make. Java is so pervasive around the world as a programming language and platform that it is hard to believe that any one company also “owns” it (i.e., Oracle Corporation). I think there was a good call by the jury who decided that the technology should not be limited in growth and development just because the custodians are a multi billion dollar conglomerate (i.e., Oracle).

Why Was Google Singled Out?

I suspect that Google was singled out to be made an example (which backfired in the end on Oracle). Why Google and its immensely successful Android platform? What about the billions of other apps and projects around the world that are ALSO coded in Java?

If you ask me, Oracle has tarnished some of its reputation with software developers such as myself. They were long custodians of many software products that developers around the world use: MySQL, NoSQL database, Java, etc.

But the company’s aggressive move to assert its interest in Java – which is, after all, open source – puts the developer community’s goodwill at risk. How badly has Oracle damaged its reputation?

Some Background on the Java/Open Source Story

A little backstory for all of you to take things into perspective: (Source: readwriteweb.com)

Sun Microsystems was well-loved among developers. It created Java and gave it to the world, asking little in return. It took big bad Microsoft to court and won. Java is one of the most important software innovations of the Web era. Until it sold itself to Oracle. 

Oracle acquired Sun in January 2010 and took all of seven months to bring charges against Google for infringing its rights to Java. The database king claimed that Google not only violated a variety of patents but copied the Java language and its application programming interfaces (APIs) outright. It sought damages of $6 billion – roughly a billion shy of what it paid for Sun. The case hasn’t gone smoothly. As of last week, it looked as though Oracle does not have a strong claim to Google’s profits from its use of Java in Android.

And this is where Oracle has not only damaged its bottom line, but also its credibility. Java has been and will likely always be open source and free. Sun created it as such and developed it more as a steward than an owner. By attempting to copyright the API regardless of the impact it would have on the entire software ecosystem, Oracle has thrown the legal nature of computer languages and programming into question.

Stewardship is the key factor in Oracle’s role with Java, Just as it was with Sun Microsystems before them. They may have certain legal access to its patent, but the essence of its release to the world was a platform that was open and free for developers to use and leverage for their software projects and products.

There are three different types of storage used by Oracle databases.

  1. Data Files
  2. Control Files
  3. Redo Logs

Each are recommended to be redundant and also to have separate physical storage drives and controllers to maximize the likeliness of recovery of data in the event of a hardware failure.

Data Files

These are the physical representation of the data written from the database engine to the disk storage drive. The smallest unit of storage on a data file is a data block, which is usually 8 kb in size. This can be variably set, but the recommendation is to choose an Oracle data block to be a size that is a multiple of the host operating system’s block size.

Data files are represented on the database as a tablespace. A tablespace is a logical grouping of data files that store database information. In a tablespace, four major types of information is stored:

  • Data (information from tables)
  • Indexes
  • Rollback/Undo
  • Temporary

The acronym D.I.R.T makes this easy to remember!

Control Files

These contain information about the database name, when it was created, and the full path of the data files represented in the database. There are exactly three control files in a database and each is identical in content to one another for redundancy.

Redo Logs

A redo log contains one of two different types of commands that are issued against the database:

  1. DML: Data Manipulation Language, or commands such as INSERT, UPDATE and DELETE which change the data in database tables.
  2. DDL: Data Definition Language, or commands such as CREATE and ALTER. These commands create and change database objects within the database.

Redo logs are usually multiplexed across different physical drives and controllers for reduncancy. There are three different groups that are rotated as each group of storage gets filled.

When all three groups are filled, one of two different things happen depending on the mode set for the database.

Archive log mode forces the database engine to copy the contents of each redo log group to a separate location (archive log file) before the database overwrites the contents of the redo log group.

Non-Archive mode just skips the copy step and automatically overwrites the old redo log file group.

That’s it from a storage perspective, which is one of the three major components of an Oracle Database (the other two being: MEMORY and PROCESSES).

Oracle Storage Types

The three major roles of physical storage for an Oracle database

Stumbled across a great four part video series on You Tube with a lecture on Oracle database architecture, and specifically a discussion on the Oracle SGA. For anyone interested in understanding the internals and the pure definition of an Oracle database, this lecture series is worth the time to watch. If you follow his work on the board, you can create your own cool diagram of Oracle database architecture.

Oracle SGA Architecture Lecture

Oracle Server Architecture

High Level Diagram/Definition of an Oracle Server

It is useful to know the architectural details of the Oracle Relational Database Management System (RDBMS) such as its concurrency model, how it manages in its memory and disk, etc.

Database vs. Instance

One common point of confusion with Oracle databases is the distinction between databases and instances.

A database is a collection of data files found on disk or some sort of storage device.

An instance is a set of Oracle processes (also known as background processes) are what operate on the database files, such as storing and fetching data from the database.

Schemas

A collection of objects under one database user (owner). A database user can own one schema, and that same user can still have access to different, multiple schemas.

Two important schemas belong to the SYS and SYSTEM users. SYS schemas contain the data dictionary for the database. The data dictionary is a collection of read-only (query only) database tables and views containing metadata related to the objects in the database. Metadata includes definitions for all of a schema’s objects.

Incicdentally, the SYS user has the highest privileges in an Oracle database and is the equivallent to an “Administrator” or “root” account on the operating system.

Tablespaces

A schema objects that requires physical storage must belong to tablespace, which is a logical group of functionally related schema objects.

Data Blocks

A data block is the smallest unit of data used by ORacle during its I/O operations. Each operating system has a block size. However, Oracle works exclusively in units of Oracle data blocks… not operating system blocks.

Note that one data block may contain more than one row of a table.

Most discussions about performance measurement in Oracle almost always includes the concept of data blocks.

What Makes Oracle Different

Come to understand two concepts of Oracle: its locking mechanism and its multiversion read consistency model. These two characteristics set it apart from other RDBMS’s. Facts about Oracle’s locking behavior:

Oracle uses row-level locking. It makes sure only one transaction can write or modify a piece of data at any given time. Read operations (query or select) do not initiate locking behavior.

Overhead for locking is really low. The lock status is stored within the data block of the row, and not through some lock row status table.

Even if you modify every row of a very large table, Oracle will put a row lock on each row.

Oracle also keeps track of how to change back any blocks of data that are changed. This is stored in an undo (or rollback) segment. This undo segment is marked with a internal timestamp or SCN (system change number) so that if for example, you are querying data while it is being updated, Oracle will look through the undo segments to know what the data looked like at the time your query initiated. This is called multiversion read consistency.

Follow

Get every new post delivered to your Inbox.