This is a fantastic whitepaper on workload management in RAC. It is essential reading for anyone supporting a RAC environment, or an architect of a middle tier that wants to understand how connections are handled by the database. http://www.pythian.com/documents/Pythian_RAC_Whitepaper.pdf
Category: Oracle
Range scans when using VARCHAR2 instead of NUMBER
I was a little surprised today when another DBA did not know the effect of using a VARCHAR2 datatype for what is functionally a number. I wanted to ensure I had an article to which I could point when this…
Do we actually use characters that require more than one byte?
I couldn’t find a way to identify those columns that actually had a character with a code point value greater than 255. As a result, I ended up writing the following. If you have better way, please reply. import java.sql.*;…
Space used with a multi-byte database characterset
We found our database was using a lot more space than when we issued a select dbms_lob.getlength() on CLOB columns. We found our issue was that our database characterset is AL32UTF8, so everything requires more space. To test this, we…
Renaming an ASM diskgroup in 10g
Since their is no “alter diskgroup rename” command, I tried this on a test system and it works. Pretty cool, but this not even remotely supported by oracle, so use at your own risk 🙂 With everything down… cd $ORACLE_HOME/rdbms/lib…
Using v$sql_bind_capture
This is a very useful view in 10g. When a user came to me with a performance problem, I used to find myself asking, “What value did you use for the search?”. Not very professional, although it could work. I…
Manually adding a component to the OCR
If for whatever reason you need to add a component to the OCR, and the corresponding GUI is not cooperating, you can manually add it. This afternoon, I had to add a new node to a cluster. When I tried…
Migrating from raw devices to ASMLIB
Oracle’s Automatic Storage Management (ASM) technology was introduced with releases 10.1 of its flagship database product. It was designed to remove from the database administrator’s task list the need to decide on which disks to place which datafiles. It is…
Generating values from block dumps
Today, I had to identify all rows on a given block. I used DBMS_ROWID, but initially I wasn’t using it correctly. I figured out what I should have been doing (below)… select work_id from xwc.frbr_holding_display partition(FRBR_HOLDING_DISPLAY_P12) where dbms_rowid.ROWID_BLOCK_NUMBER(rowid,’BIGFILE’) > =…
CPU used by service
What is below will query AWR and print CPU for a given service in a three instance cluster. This hardcodes the three instances, as well as eight processors with half hour AWR samples (14,400 seconds of CPU available). set serveroutput…