Wednesday, October 14, 2009

-- Oracle Opeworld Keynotes --

Hello Everybody

I have been this week at the Oracle Openworld, I will be posting some of the technical information, 11.2 highlights and pictures I got soon. Today is the day where we expect the annual speech from Larry Ellison with great products and news of whatever is to come.

To check what is going on here on daily basis click  Here

The Keynote was started by S. Gopalakrishnan from Infosys, he was talking about the game changing trends of IT leads to innovation.

  • Simplicity on Organizational Complexity.
  • Value Webs (Creating better customer insight, Innovation through Co-creation,
  • Smarter Organization (Better learning through collaboration and personalization)
Were some of his most important highlights.

Larry starting talking about how the Linux business is important for Oracle, they have now more than 4,000 customers running OEL or Oracle VM.

He spend some time talking about the "Database Machine" (Exadata 2), It is a Sun Sparc server
- World fastest machine for OLTP, it contains 5TB, and yes that is TB of flash memory data. More than 400TB for DRAM, yes it is impressive, never the less very costly too.

As per Ellison he said that it is 4 times fastest than the faster IBM server for the same cost, been more green and taking a lot less space and energy consumption. Exadata offers columnar D/W compression which in query mode archives 10x compression, in Archive mode it achieves 15x compression. You can add capacity as needed to the database machine, they offer a massive parallel grid and there is not single point of failure. The database machine comes pre-configured, it is ready to use on day one, it eliminates months of configuration troubleshooting and tuning, as per Ellison you do not have to do any changes to it.

The database machine comes on different sizes and prices stating with the simple configuration at a value of $110,000 which is not fault tolerant.

As per Ellison the database machine offers the fastest OLTP and DW performance, offers best cost performance, is fault tolerant and scalable on demand.

  The Governor of California Arnold did a surprised entrance in the middle of Larry's speech and spoke about the importance of technology and how technology has helped him on his career and the importance for the future of California and humanity in general. He mentioned that California is 40% more energy efficient than any other state in the US.

Larry next topic was about proactive product problem detection, so Oracle can notify you of potential problems in your installation and patches that they recommend for you to apply.

There was as well a presentations of Oracle Enterprise Manager 11g and some of the new features.  To close the keynotes Larry spoke about Oracle Fusion coexisting strategy, he plead to the current customers to move to this new platform so they can make use of the new technology, however he was clear saying that the customers has the choice to not move and they will continue to get supported.

Wednesday, September 2, 2009

Oracle 11g upgrading tips

The following is a compilation of interesting tips I found when upgrading to 11g.

Things you may not know:

- SQL Developer is installed by default when you use one of the templates from DBCA.
- Oracle XML DB will be installed as well when the DB gets created.
- Oracle Data mining creation schema is now part of catproc.sql
- Your can upgrade directly to 11g using DBUA from or higher, or higher or or higher.
- If your optimizer statistics are stale, then DBUA will recommend for you to exit and collect
statistics before you continue.
- If you did not applied the time zone patches to your 9i or 10g database then DBUA will fail to
upgrade the database until you apply the required patches.
- A new parameter called "diagnostic_dest" determinate where your log files will be created, this
parameter replaces background_dump_dest, user_dump_dest and core_dump_dest.
- DBUA will give you the option to move files from file system to file system, from file system to
ASM and from ASM to file system.
- DBUA will also give you the option to recompile invalid objects after the upgrade.
- If you need to restore and you let DBUA do the backup for you, your restore files are located
on $ORACLE_BASE/admin//backup.

Personal and optional Advice

- Although it is possible to install and upgrade your database to 11g at the same time, please abstain from it as you may face problems during the install.

- Be sure you have a good install before trying to perform the upgrade, I advice as well to create a small new database, just to be sure the software is working properly and you have all the parameters in place.

- If you have never tested your backups before, now would be a good idea to do it. Also if you are like me that do not trust the tape library, then try the restore in a different server and document your restore process. If you need to restore you will have a lot of eyes in your shoulders, and if you start checking the manual for restore you are not going to transmit a lot of confidence to them.

- DBUA will present you to do the backup of your database for you, however I recommend you do your own.

RMAN> shutdown immediate
RMAN> startup restrict
RMAN> backup database plus archivelog format '' tag pre-upgrade;
RMAN> shutdown immediate
RMAN> startup

If you need to restore

startup nomount
run {
restore controlfile from '';
alter database mount;
restore database from tag pre-upgrade
recover database noredo;
alter database open resetlogs;

After the restore is complete, you need to point your environment variables to the old Oracle sofware location.

- Do another backup after you successfully upgrade.

- Check your DB alert.log after the upgrade for any errors.

- Check the DBA_REGISTRY view to make sure all the components reflect the new version.

- The issues I frequently find while upgrading are tablespace space and memory, be sure you have
enough of both. After you upgrade you can bet your footprint will take more memory and many times
more disk.

- before you upgrade do dump the control file to trace:

SQL> alter database backup controlfile to trace;

These are a must

- Backup your binaries and database before trying to upgrade.
- Check the release notes, most of the time they tell you what errors can you expect.
- Read the upgrade manual.
- DBUA logs are by default located at $ORACLE_HOME/cfgtoolslogs/dbua/db_name, tail the
log files during the upgrade and check them again after the upgrade.

UpgradeResults.htm = Summary of what DBUA will upgrade
Post_Upgrade.log = Log file for post upgrade work.
Oracle_Server.log = Detail of the migration execution
Trace.log = Detail tracing information of the upgrade process.

- Check that your redo log file size are bigger than 4MB. The upgrade will fail if they are not.

- Run the pre-upgrade information tool $ORACLE_HOME/rdbms/admin/utlu111i.sql this will
will tell you if you need to change anything to go to 11g.

- After you are done with the upgrade and post upgrade activities check for invalid objects and compile, you can use the view dba_invalid_objects for this.

- Collect statistics for your tables.

New 11g Parameters

- asm_preferred_read_failure_groups
- client_result_cache_lg
- client_result_cache_size
- commit_logging
- commit_wait
- control_management_pack_access
- db_lost_write_protect
- db_secure_file
- db_ultra_safe
- ddl_lock_timeout
- diagnostic_dest
- global_txn_process
- java_jit_enabled
- ldap_directory_sysauth
- memory_max_target
- memory_target
- optimizer_capture_sql_plan_baselines
- optimizer_use_invisible_indexes
- optimizer_use_pending_statistics
- optimizer_use_sql_plan_baselines
- parallel_io_cap_enabled
- plscope_setting
- redo_transport_user
- resource_manager_cpu_allocation
- result_cache_max_result
- result_cache_max_size
- result_cache_mode
- result_cache_remote_expiration
- sec_case-sensitive_logon
- sec_max_failed_login_sttempts
- sec_protocol_error_further_action
- sec_protocol_error_trace_action
- sec_return_server_release_banner
- xml_db_events

Deprecated 11g parameters

- background_dump_dest
- core_dump_dest
- user_dump_dest
- commit_write
- commit_wait
- instance_groups
- log_archive_local_first
- plsql_debug
- plsql_v2_compatibility
- remote_os_authent
- standby_archive_dest
- transaction_lag

Obsolete parameters in 11g

- ddl_wait_for_locks
- logmnr_max_persistent_sessions
- plsql_compiler_flags

Thursday, August 13, 2009

Oracle11g Best Practices with Thomas Kyte

Today I had the opportunity of assisting to this presentation at Bridgewater NJ with Thomas Kyte, as usual Tom's presentation was excellent, he always transmit that sense that he knows what we go through day to day and you actually feel identified with him , he has that something that you only get with many years of been in the field and experienced that, that something that you don't get just reading books, keeps you attention and make you have a good time. I wanted to share with you some of the points he covered and I consider very important. As a matter of fact I will look to implement some of this technologies / features in the next few months and offer them as part of the portfolio of services we have at OraProfessionals.

- Tom suggested the use of Physical DG in 11g for Testing, in 11gR2 you can use your physical DG for doing destructive test, after you are done you Flashback the DB to the point before the test and continue business as usual. I think this is great as I have plenty of DG databases, however I struggle with the developers to get time on the test database.

- Tom suggested as well the use of logical standby as a reporting solution, and I ask myself why no more people is using this technology. Nowadays probably the most common solution for a reporting server is Oracle Streams, however we know how fragile and heavy to maintain it can be. We rarely have any problems with Oracle DG, however I can't say the same for streams.

- 11gR2 will allow you to re-route in an automatic way your read only queries to a standby database. This will make the developers happy as they won't need to change their application code. Apparently this is configurable so if your standby is behind more than so many minutes, Oracle will resolve the query on the primary database.

- 11gR2 has a feature when using Real Application Testing (RAT) that allows you to use the sql performance analyzer (dbms_sqlpa) to compare the performance of your regressed SQLs with the new ones (assuming you are testing some database changes). RAT is one of the technologies that we plan to explore in the next few months. I want to clarify that RAT is not the product that will allow you to test some application functionality, this product will just tell you how your database will behave with similar workload. RAT requires for your objects in the source and the target to be identical.

- 11gR2 also has a Data Recovery advisor, you don't longer have to think what are the different ways that you can recover the database and try to determinate which one is the most efficient. The advisor will layout your options and give you an educated guesstimate of how long it will take for each option. RMAN will even create the script for you to restore depending of the option you selected; To me this is a priceless feature, I lost track of the times my customers requires to know how long will it take to restore their databases, and the answer is not always easy to provide due to the variables involved.

- Use of flashback database for application upgrades: You upgrade your application, if something goes wrong you flashback to the point before the upgrade. I actually like very much this idea, however be careful if you do not have a fast I/O subsystem, as enabling flashback database can deteriorate your performance up to 30%. If your application is sensitive to performance then this may not be a good idea for you.

- Flashback Data Archive: Allows you to have an easily accessible archive of historical data, that you can access using standard SQLs. (looking forward to hear more about it).

- 11g Automatic provisioning of partitions: Very good feature, you actually provision the new partitions once new rows are available to insert on them, so there is no need for the DBA to pre-allocate the partitions. I wish this was available in 1ogR2, as I could immediately use it.

During the meeting Oracle Support spoke about the upgrade paths to 10gR2, something to keep in mind If you are upgrading from a version such as, you can upgrade to 11g directly, however if you need to downgrade you need to go to and from there to your original release, ex:

11g bring several nice new features, however I have been told that Oracle 11g brings as well stability, Oracle solved several bugs, and enhanced features that were difficult to work with.

Enjoy the rest of the summer :-)


Saturday, March 28, 2009

The Oracle Optimizer & Philosophycal discussions

In Oracle 10.2.x I have found recently very often that some of our systems are slowing down in performance, when looking at the specific SQLs that are causing the problem to our surprise we see poor plan execution, when looking at the tables involved we found that the table has not been analyzed for a while and that puzzle me.

Starting 10g Oracle has a default job process called GATHER_STATS_JOB that using DBMS_STATS.GATHER_DATABASE_STATS_JOB_PROC suppose to intelligent decide whether or not collect stats for a table depending of the changes on that table.

I find that job is not working as it suppose to work, we have been replacing that job for explicit analyze using the following command.

EXEC DBMS_STATS.gather_schema_stats (ownname => '', cascade =>true, estimate_percent => dbms_stats.auto_sample_size);

When you specify the cascade parameters equal true explicitly it will include indexes

Oracle Corporation recommend setting the ESTIMATE_PERCENT parameter of the gathering procedures to DBMS_STATS.AUTO_SAMPLE_SIZE. This will maximize performance gains while achieving good statistical accuracy.

I know I may be opening Pandora's Box with the following topic, but I want to set my stand on this clear.

While doing the changes above for the analyze on multiple systems (about 15 production databases), one database presented performance degradation in 2 tables. This particular application was written by a famous software house of billing systems called "A M * * C S" you fill in the stars. When looking to what is causing the problem we found that the particular query has a column in the predicate that was not indexed, and we found that they added a tremendous amount of hidden parameters that modify the optimizer behavior without authorization. When questioned about why they introduced those parameters they said that although they don't know what they do, it has worked for some other customers (It is up to your to decide if that is a valid argument, but it is not for me) . The vendor told the client that the reason for the performance degradation is that the tables were analyzed. They said verbally that we should never analyze this two tables because they do not change much. When asked about number of daily changes we found that in 8 days 11% of the table will change and in a month 41.25% of the table will change (too much for a no changing table in my opinion).

This is my stand, "tables should always be analyzed". If you don't want a particular table to be analyzed for x or y reason you must lock the stats on those tables and document it. The Oracle optimizer picks the right execution plan 90% to 95% of the times (this is only true if you have a decent developer and you understand how the Oracle architecture works). For the other 5% to 10% of the code you need to use hint, SQL Profiles and other artifacts that Oracle provides so you can get a good execution plan.

"Changing the optimizer behavior so 5% to 10% of your code runs properly is just not a good idea nor makes any sense."

I will advice to change the optimizer behavior just when you exhausted any other option, you are dealing with an small set of tables that you know works well with the change, and you know you will not add more code or tables to that database.

As usual I respect the opinion of those people that think that "if it is no broken don't fix it", the fact is that if you are a DBA you better you better get your hands dirty and understand well how the application uses your database, what are your heaviest tables, what are your problematic queries, etc, etc. The vendor will leave after they finish the application code, data will change and you will have a ticking boom in your hands.

Sunday, March 22, 2009


Rovio is an amazing robot created by WowWee,
The beauty about Rovio is that it allows you keep in contact
with your family while you are away. Rovio has a video camera
on the top that has 3 levels and can be managed remotely through the internet
using a browser; but it does not stop there it allows you to talk
to your family using full duplex communication.

The UI that Rovio uses is very intuitive, the best of all is loaded into the device itself, you do not have to deal with complex setup of web servers or anything like that. The UI allows you to move Rovio in any possible direction, switch the camera to 3 different levels, setup the sound, video quality and brightness.

The quality of the picture is amazing, the sound is not bad but it only works with Internet Explorer, there is not plug in for any other browser. It allows you to grant guest accounts to your family, in that way they will not be able to mess with the setup, but will be able to use it. Rovio is powered by rechargeable batteries that gets charged through a base that comes with the device. The auto docking features of the device is just amazing, it uses a beacon of light reflected on the roof of the room to guide itself into the docking station with the push of a button.

Rovio is propelled by 3 sets of wheels each wheel has several mini wheels, that gives Rovio and amazing moving flexibility. I am not clear about the price, I have seen it going from $130 at BJS to over $400 on the internet while I think at $130 is a fair price I would not pay for it $400, but I can't understand why such a difference in the price.

Pros & Cons

  • Amazing moving flexibility.
  • Good quality picture.
  • Very intuitive user interface.
  • Very easy to setup.
  • Once in a while it loses the network signal and needs manual reboot.
  • The battery could last longer.
  • It should come with additional beacons so you can preset way points to different parts of the house.
  • You should be able to move the video camera up and down on demand rather than having preset position.

Rating: 4 out of 5

Thursday, February 12, 2009

HP2133 Mini-Note PC The Little wonder for DBAs.

If you don't know it by know is because you haven't read my articles, but I am an enthusiastic in technology and an early adopter of it. I just love technology and I can't live without it.

For sometime I have been looking for an inexpensive laptop, small size but powerful enough that I could have my Oracle database and programs on it, and carry it every where I go without the need for a heavy laptop bag. Also the most important feature I was looking for was no Windows on it, yes I am more than disappointed with Windows Vista although I own several computers that have it installed.

I am glad to announce that I believe I got to the end of the journey in my finding, I recently got an HP2133 Mini-Note PC equipped with SUSE Linux Enterprise Desktop 10 SP1 and I just love it.

This Laptop has a price tag of $349 (at least by the time I bought it) from comes with 1GB RAM and a powerful 120GB hard drive, and for $20 you can get a 2GB memory SDIMM from (BTW there is a handy video in Youtube that explains how to add the memory), HP sales it for $399, but I am sure you can get it for around $311 from other Inte
rnet sites like Provantange.

It comes with the following


Lifestyle: Business


Condition: New

Operating Systems: SUSE Enterprise Desktop 10 SP1.

Startup Operating System: SUSE Enterprise Desktop 10 SP1.

Platform: Notebook PC

Expansion Ports: 1 - Express Card Slot/54

Display Type: WXGA

Viewable Screen Size: 8.9"

Maximum Resolution: 1280 x 768

Processor Brand: VIA

Processor Class: C7-M

Processor Speed: 1.60GHz

Processor Cache: 128KB L2

Memory Type: DDR2

Memory Size: 2GB

Memory Speed: DDR2 667

Memory Slots (Total): 1

Memory Slots (Available): 0

Maximum Memory Supported: 2GB

Graphics Description: Integrated Graphics

GPU/VPU: VIA® Chrome9™

Video Memory: Up to 256MB Shared

Video Interface: VGA

Capacity: 120GB

Optical Drive Type: N/A

Supplemental Drive Type: Media Reader

Capacity: 1

Media Types: SecureDigital

Audio Description: Integrated Audio

Audio Chipset: ADI High Definition Codec

PS/2 Mouse Connectors: N/A

PS/2 Keyboard Connectors: N/A

Serial Communication Ports: N/A

Parallel Ports: N/A

USB Ports: 2

FireWire Ports: N/A

Fast Infrared Ports (FIR): N/A

LAN Ports: 1

Modem Ports: N/A

Audio Out Jacks: 1

Line In Jacks: N/A

Microphone Jacks: 1

VGA Ports: 1

S-Video Connectors: N/A

DVI Video: N/A

Port Replicator/Connector: N/A

Communications Description: Integrated LAN

Integrated Wireless LAN

Integrated Bluetooth

Interface Type: RJ-45 Ethernet Connector


Broadcom 802.11a/b/g WLAN

Data Transfer Rate: 10/100/1000Mbps Network

54 Mbps

Bluetooth 2.0

Protocols: 802.11b



Width: 10.04", 255 mm

Height: 27 mm, 1.05"

Depth: 6.5", 165 mm

Weight: 2.6 lbs

1.19 kg

Mouse Type: Touch Pad

Scrolling Capability: Scroll Zone

Keyboard Type: Spill Resistant

Battery Type: 6-Cell Lithium-ion

Battery Life: Up to 4.5 hours

I was able to install Oracle 10gR2 on it with the help of my friend Nick Donatone from Oracle, the biggest challenge was to get installed the pre-required packages for Oracle like gcc and gcc++, etc. This laptop comes with no CD ROM nor DVD ROM, but I believe you can buy one optional or you can just get an external USB CD-ROM drive (No that you need one)

The packages you need to install Oracle comes with the software which you can download from Novell (NOTE: Just install the packages you need and no more than that) , Novell support tells me that this is an special edition of SUSE for HP, therefore not all open source software will work on it.

For the price tag that this computer has, all the features on it, and the flexibility it represents I will say this is a must buy.

So far Pros and Cons:

- Support from HP for matters with the OS could be a lot better.
- Support from Novel has been great so far (thanks Jack Hodge).
- The speakers are great
- The keyword is good enough and you can always get an USB keyword, mouse and connect it to
and external display and you won't have any problems with it.
- The Webcam does not work in SUSE Linux but, I heard there is a way to make it work with a
open source driver.
- The battery life is about 2 hours, I am thinking in getting the extended battery (gives you 4 hours)
- It is very light.
- It warms up a bit at the bottom while you use it for extended periods.
- It comes pack with plenty of neat Open source software such as Open office.
- The wireless is very reliable.
- I wish the processor were faster, but this is just good enough.
- I love the touch pad technology HP implemented here, it has an scroll zone that simulates that
third mouse button.

In conclusion I give to it a 3.5 rating out of 5.

This is what it needs to be a 5 out of 5.

- HP Support improvements.
- Webcam working out of the box with SUSE.
- Faster CPU.