Oracle 10g introduced the SGA_TARGET and SGA_MAX_SIZE parameter which dynamically resized many SGA components on demand. With 11g Oracle developed this feature further to include the PGA as well – the feature is now called “Automatic Memory Management” (AMM) which is enabled by setting the parameter MEMORY_TARGET.
Automatic Memory Management makes use of the SHMFS – a pseudo file system just like /proc. Every file created in the SHMFS is created in memory.
Unfortunately using MEMORY_TARGET or MEMORY_MAX_SIZE together with Huge Pages is not supported. You have to choose either Automatic Memory Management or HugePages. In this post i´d like to discuss AMM and Huge Pages.
When installing a RAC clusterware is responsible for starting and stopping required resources automatically and in required order. Under normal circumstances every resource is integrated with one exception: EM Control.
So this is a short guide on how to integrate EM Console startup/shutdown into Clusterware resource control.
First of all you need a startup/shutdown script:
case $1 in
/u01/app/oracle/product/11.2.0/db_1/bin/emctl start dbconsole
/u01/app/oracle/product/11.2.0/db_1/bin/emctl stop dbconsole
/u01/app/oracle/product/11.2.0/db_1/bin/emctl status dbconsole
After creating the script and placing is under /scripts you need to add the resource:
#crsctl add resource crs_dbconsole type cluster_resource -attr " ACTION SCRIPT= '/scripts/crs_dbconsole.sh' ,
PLACEMENT= 'restricted' , HOSTING_MEMBERS= 'node1' , CHECK_INTERVAL='30' ,
START_DEPENDENICES= 'hard(appsvip)' ,STOP_DEPENDENCIES= 'hard(appsvip)' , RESTART_ATTEMPTS='2' "
Today i installed a Oracle 11g Release 2 cluster on Solaris SPARC. Installation went smooth – except installation was not able to set up SSH equivalency automatically so i had to configure it myself.
After installing Oracle 11g R2 grid infrastructure i installed a Oracle 10g Release 2 database binary. Went perfectly fine.
After that i tried to create a database but dbca was unable to recognize the RAC cluster; instead dbca wanted to create a single node database.
This issue can be observed when running a 10.2.0.4.0 or 126.96.36.199.0 or 188.8.131.52.0 database with 11g R2 clusterware. The configuration itself IS supported; but it does not work “out-of-the-box”. This post is about how to fix this error.
Tracing DBCA can be useful. Starting with 10g onwards this can be achieved by:
1. Copy dbca to dbca_debug
cp dbca dbca_debug
2. Edit dbca_debug file, fine the last line and add “-DDEBUG” before the “-classpath” argument. The edited line looks like:
# Run DBCA
$JRE_DIR/bin/java -Dsun.java2d.font.DisableAlgorithmicStyles=true -DORACLE_HOME=$OH
-DDISPLAY=$DISPLAY -DJDBC_PROTOCOL=thin -mx128m -DDEBUG
-classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
Starting dbca_debug now will produce debug messages on console:
Warning: Cannot convert string "-monotype-arial-regular-r-normal--*-140-*-*-p-*-iso8859-1" to type FontStruct
[main] [14:59:30:465] [CommandLineArguments.process:563] CommandLineArguments->process: number of arguments = 0
[main] [14:59:31:49] [Host.checkOPS:2055] Inside checkOPS
[main] [14:59:31:49] [Host.checkOPS:2067] Trying to check cluster existence
[main] [14:59:31:99] [Library.getInstance:97] Created instance of Library.
[main] [14:59:31:99] [Version.isPre10i:189] isPre10i.java: Returning FALSE
[main] [14:59:31:99] [UnixSystem.getCSSConfigType:2080] configFile=/var/opt/oracle/ocr.loc
[main] [14:59:31:101] [Utils.getPropertyValue:292] propName=local_only propValue=FALSE
[main] [14:59:31:101] [UnixSystem.getCSSConfigType:2124] configType=false
[main] [14:59:31:101] [Version.isPre10i:189] isPre10i.java: Returning FALSE
[main] [14:59:31:108] [OCRTree.init:202] calling OCRTree.init
[main] [14:59:31:108] [Version.isPre10i:189] isPre10i.java: Returning FALSE
[main] [14:59:31:113] [OCRTree.<init>:158] calling OCR.init at level 7
[main] [14:59:31:115] [OCR.init:279] OCR instance is not present
[main] [14:59:31:117] [OCR.<init>:230] Called into OCR.java Constructor: level =7
[main] [14:59:31:117] [OCR.loadLibrary:301]
Inside constructor of OCR
[main] [14:59:31:117] [OCR.loadLibrary:309] Going to load the ocr library