Adopting Linux as a platform has helped change Oracle over the past 15 years from a fragmented, decentralized behemoth to a sleek, consolidated service provider, said Senior VP and CIO Mark Sunday in Oracle’s LinuxCon keynote presentation Friday morning.

In exchange, Oracle also played a large role in shaping Linux, especially in the server space, said Wim Coekaerts, Oracle’s Senior Vice President of Linux and Virtualization Engineering, during the presentation.

Linux is the standard operating system for all of Oracle’s internal business systems and product development as well as the basis for the business services the company offers its customers, he said.

“Everything we do… is done leveraging Linux,” Sunday said.

On the product development side Oracle now has 40,000 environments all running on heavily virtualized Linux servers. This “Oracle farm” was the company’s first cloud deployment, allowing on-demand provisioning of resources that are scalable and widely available, Sunday said. The company offers those same resources to customers with managed hosting on Oracle products and a wide variety of software-as-a-service products.

Now the company is scaling up again and integrating Linux into the systems it builds for customers. The roughly 100 acquisitions Oracle has made over the past eight years have been aimed at gathering all of the components to make a complete integration possible, Sunday said. For example, companies no longer need to buy servers and storage networking then layer in a file system and a database. Oracle packages it into a single IT product.

A Stable Enterprise OS Evolves

Oracle contributions to the Linux kernel helped bring the operating system up to speed with other Unix-based systems in the early days. The company’s involvement eventually led to the “somewhat controversial” decision to become a Linux distribution vendor, providing support for the whole stack, said Coekaerts.

The next step in Oracle’s evolution with Linux was building an extensive testing system in 2008 and 2009, Coekaerts said.

“It’s not just about development when you produce a product,” he said. “Bug fixing and QA is the less cool part but a very critical part.”

In the past few years the development model for Linux has changed and the pace of releases has become very rapid. New features are available for customers as soon as they are added and users are increasingly defining the platform.

After kernel developer Greg Kroah-Hartman pushed legacy vendors to be more current, Oracle began providing a kernel to customers that is more mainline-based, within five to six months of the new releases, Coekaerts said.

“Linux has been very useful to us in getting new features into the hands of customers sooner,” Coekaerts said.

“If we’re closer to what Linus maintains we have new features sooner,” he said.

The challenge now lies in continuing to improve the operating system’s performance and reliability. The QA process will be critical to this, Coekaerts said, but not all developers have in-house access to a test suite like the larger distributions provide to their developers, he said.

“We need to have a test suite for the operating system that ships with the kernel source,” Coekaerts said. “It’s important to start building test suites for Linux features as the kernel develops.”

Fuente: linux.org

Introduction

Originally, I was going to write an tutorial over MySQL Performance Tuning Tips & Tricks. I quickly realized that this tutorial would be a bullet list of Tips & Tricks, and thus would be too short and require users to go searching elsewhere for terms they did not understand, or would lose users because it would become far too long. Instead I decided to hash out a series of tutorials to publish individually. While none of these tutorials will build off of each other, some terms you learn in one may be referenced in others.

In this tutorial we will take a look at what Database Denormalization is and how it is different from Normalization. Many DBAs probably use the Normalization rules in designing databases, either because they have never heard of Denormalization or they do not fully understand it.

What is Normalization?

We will start off by looking at Database Normalization. The primary reason for this is because many people were taugh that they should always "Normalize" their databases. Normalized data means that fields and tables in a relational database have been organized to reduce redundancy and dependency by dividing up larger tables and linking them through the uses of Indexes. While this makes for a cleaner overall layout, and seems to make sense, it is not always the best course of action.

Why do people Normalize?

In my opinion, the answer to this question is because that is how they were taught. For some reason the most widely accepted method of teaching is the Normalized method described above. It seems to make sense to populate, modify and delete data in one table and have it propagate through the entire database through the use of defined relationships.

One example of where this would make sense would be a table called students. The denormalized layout for this table would have the following columns: student_id, student_name, student_email, student_address, course_number. In this example, a student could easily be enrolled in 10-15 different courses. If that students address changed for any reason, that would mean that a query would have to perform 10-15 updates on the address column for that student.

The normalized approach for the same example would have a students table (student_id, student_name, student_email, student_address) and a enrolled_courses table (enrolled_course_id, student_id, course_name, course_number). We might even take this one step further and move course_name and course_number to a table called courses (course_id, course_name, course_number). That would mean our new enrolled_courses table would look like: enrolled_course_id, course_id, student_id.

In the denormalized approach lets assume that it is a new semester and student A did not re-enroll for that semester because he needed planned to take a semester break. Since the semester has ended we would empty all the rows from the database since students will no longer be enrolled in those courses. Since student A is not going to re-enroll his data vanishes along with the course data. When he does decide to enroll in new course all his information must be re-entered into the system.

What is Denormalization?

Now lets take a look at Database Denormalization. This is the process by with DBAs attempt to optimize the performance of the database by adding in redundant, or grouped, data. The advantages to this is that the data is stored in one table, as opposed to multiple smaller tables, which cuts back on the need for JOINS in your queries, resulting in faster SELECTS. It is also good to note that a single table allows for a more efficient index usage. With properly indexed columns, results can be filtered and sorted by utilizing the same index.

What are the downsides?

The downsides really aren't big, and for the most part can be easily solved. One thing you must consider is that in a denormalized database, data can be duplicated across many tables. While this will result in better indexing and faster SELECTS as explained above, it does make INSERTS and UPDATES a bit more complicated. This is where it comes down to weighing the pros and cons. It all comes down to a ratio of reads VS. writes. If you have high reads and low writes, then denormalized is the sure way to go. If you are about even, or if you have higher writes than reads, you can still go with the denormalized approach but it may require a bit more thinking and planning.

Which should I use?

By now you're probably wondering which one to use. We've looked at just a few pros and cons to both approaches, and really it comes down to an almost 50/50 scale. The solution to this is simple: The correct way is to utilize both the normalized and denormalized approaches depending on the situations. Most of you are probably disappointed by the lack of a climax ending, and you were probably thinking that I was about to advocate a denormalized database over a normalized one, but that simply isn't the point of this tutorial. The point was to introduce you to denormalization, and to get you thinking and approaching database design in a new way. Many people spend all their time tweaking configuration settings and trying to optimize queries (mainly JOIN statements, which at their heart is really a complex nested-loop), when in fact they could get a huge bump in performance by taking a moment to ask themselves, "Should this be normalized or denormalized?"

As a side note, I will say that knowing your database engines can be a big help in boosting performance too. Knowing when to use MyISAM or InnoDB, and knowing when you should use something like ARCHIVE which only allows INSERTS and READS. At the end of the day the best performance boost you can give yourself is properly planning out your database layout upfront. See my tutorial An Introduction To MySQL Storage Engines.

Using Oracle RAC on Oracle Solaris Containers
within an Oracle VM Server for SPARC (LDoms) is not supported. Oracle Single
Instance database on Oracle Solaris Containers within an Oracle VM Server for
SPARC (LDoms) is supported

Oracle Solaris Logical Domains are supported with Oracle RAC 10gR2, 11gR1
and 11gR2 with Solaris version 10 Update 8 or later with Oracle Solaris Cluster
3.2 1/09 and later versions of 3.2 and Oracle Solaris Cluster 3.3

Oracle DB 10gR2 (10.2.0.4) is certified to be used
with the IBM AIX Workload Partition (WPAR) feature on AIX 6.1 TL-02 SP2. See WPAR
Doc 889220.1.

Oracle DB 11gR2 (11.2.0.2) is certified to be
used with the IBM AIX Workload Partition (WPAR) feature on AIX 6.1.

Oracle software stack is supported on deployments
with the IBM Power Systems LPAR hardware partitioning technology, including the
micropartition feature.

Oracle software stack is supported on deployments with the IBM Power Systems
Virtual IO Server (VIOS), supported RAC environments are listed in the RAC
section. Please refer to RAC Technologies Compatibility
Matrix (RTCM) for UNIX platforms for further information.

Oracle DB 10gR2 (10.2.0.4) is certified to be used
with the IBM PowerVM Live Partition Mobility (LPM) feature on AIX 5.3 with a
minimum of service level of TL8 SP4 and AIX 6.1 with a minimum of service level
of TL2 SP3

Oracle DB 11gR1 is certified to be used with
the IBM PowerVM Live Partition Mobility (LPM) feature on AIX 5.3 with a minimum
of service level of TL09 SP5 and AIX 6.1 with a minimum of service level of TL04
SP01

Oracle DB 11gR2 is certified to be used with
the IBM PowerVM Live Partition Mobility (LPM) feature on AIX 5.3 with a minimum
of service level of TL09 SP5

Oracle DB and RAC 11gR2 (11.2.0.2 and above) with ASM is certified to be
used with the IBM PowerVM Live Partition Mobility (LPM) feature on AIX 6.1 with
a minimum of service level of TL04 SP01 and on AIX 7.1 with a minimum of service
level of TL00 SP02

Oracle 9iR2, 10gR1, 10gR2 single instance databases
are supported on HPVM 3.5 and above.Oracle 11gR1 single instance databases
are supported on HPVM4.0 and above.

HP Integrity VM 4.1 Live Migration and above is
currently supported with Oracle database 10gR2 and 11gR1.HP Integrity VM 4.2
Live Migration is currently supported with Oracle database 11gR2.

Oracle 11gR2 single instance databases are
supported on HPVM 4.2 or later, please refer to the supported minimum
configuration below:

VMHost: HP-UX 11.31 September 2008 or later with HPVM 4.2 or later on HP
Integrity servers with multi-core processors. A crash was observed while testing
Oracle 11gr2 on Integrity Servers with single-core processors running HPVM 4.2.
If running on single-core processor systems, please contact HP Support for
details of the issue. The HPVM patch required to resolve the issue is
PHSS_41247 11.31 HPVM
B.04.20 CORE PATCH.

Oracle Products are certified to run with
Oracle VM. For a complete list of certified products on Oracle VM and
information on Oracle VM, please refer to My Oracle Support note 464754.1
.

Live Migration is only supported with OVM 2.2.1 on x86 and x86-64 guests.
Support is only available for the latest Database PSU versions 10gR2 (10.2.0.5),
11gR1(11.1.0.7), 11gR2 (11.2.0.2) and GRID PSU versions 10gR2 (10.2.0.5),
11gR1(11.1.0.7)

Oracle Products are certified to run with
Oracle VM. For a complete list of certified products on Oracle VM and
information on Oracle VM, please refer to My Oracle Support note 464754.1.

Live Migration is only supported with OVM 2.2.1 on x86 and x86-64 guests.
Support is only available for the latest Database PSU versions 10gR2 (10.2.0.5),
11gR1(11.1.0.7), 11gR2 (11.2.0.2) and GRID PSU versions 10gR2 (10.2.0.5),
11gR1(11.1.0.7)