Issue the mpstat command. Refer to intr and xcal columns for interrupts. Usually when the value of these two columns are equal, it is network interrupt.
To find out which CPU is servicing network (NIC) and IO (HBA) interrupts you can also invoke the following command
intrstat 10 10
Wednesday, June 8, 2011
Create Statspack
"snapshot" is snapshot of database statistics and performance information as of a specific point in time.
There is no such thing as "comparing two snapshots". To get information about database activity and/or performance, you have to generate the StatsPack report for the duration between two snapshots.
Thus, for example, a StatsPack report for the duration between Snapshot 1 and Snapshot 2 shows activity and performance information for that time duration.
Script to take snapshot:
echo "connect to sql plus and taking a snap"
sqlplus "/nolog" << !
connect perfstat/perfstat
variable snap_before number ;
begin :snap_before :=statspack.snap; end;
/
print snap_before
!
sleep 60
echo "starting second snapshot"
sqlplus "/nolog" << !
connect perfstat/perfstat
variable snap_after number ;
variable snap_before number ;
begin
:snap_after := statspack.snap ;
end ;
end ;
/
print snap_after ;
begin
select :snap_after -1 into :snap_before from dual ;
end ;
/
define begin_snap=:snap_before
define end_snap=:snap_after
define report_name=snapshot
@$ORACLE_HOME/rdbms/admin/spreport
There is no such thing as "comparing two snapshots". To get information about database activity and/or performance, you have to generate the StatsPack report for the duration between two snapshots.
Thus, for example, a StatsPack report for the duration between Snapshot 1 and Snapshot 2 shows activity and performance information for that time duration.
Script to take snapshot:
echo "connect to sql plus and taking a snap"
sqlplus "/nolog" << !
connect perfstat/perfstat
variable snap_before number ;
begin :snap_before :=statspack.snap; end;
/
print snap_before
!
sleep 60
echo "starting second snapshot"
sqlplus "/nolog" << !
connect perfstat/perfstat
variable snap_after number ;
variable snap_before number ;
begin
:snap_after := statspack.snap ;
end ;
end ;
/
print snap_after ;
begin
select :snap_after -1 into :snap_before from dual ;
end ;
/
define begin_snap=:snap_before
define end_snap=:snap_after
define report_name=snapshot
@$ORACLE_HOME/rdbms/admin/spreport
Cluster verification Utility
- To view what prerequisites are failing
- ./runcluvfy.sh comp sys -n t5120-241-06,t5220-241-03 -p crs
- To generated a fixup script in /tmp/ directory to fix the prerequisites that are failing
- ./runcluvfy.sh stage -pre crsinst -fixup -fixupdir /tmp/ritu.sh -n t5120-241-06,t5220-241-03
- Additional commands:
- ./runcluvfy.sh -help
- ./runcluvfy.sh stage -list or stage -help
- ./runclvfy.sh comp -list or comp -help
- System requirement verification
- ./runcluvfy.sh comp sys -n {node list} -p {crs|database} -verbose
- Storage verification
- ./runcluvfy.sh comp ssa -n {node list} -s {storageid_list] - verbose
- Detailed Documentation:
Monday, May 9, 2011
WARNING: oradism not setup correctly in alert log
If you see the following warning in alert file :
WARNING: -------------------------------
WARNING: oradism not set up correctly.
Dynamic ISM can not be locked. Please
setup oradism, or unset sga_max_size.
[diagnostic 0, 16, 64882]
----------------------------------------
the solution is as under:
1- cd $ORACLE_HOME/bin
2- chmod 4550 oradism
3- chmod g+s oradism
4- chown root:dba oradism
5- Bounce the database
Refer to Metalink note 374367.1 for additional info.
WARNING: -------------------------------
WARNING: oradism not set up correctly.
Dynamic ISM can not be locked. Please
setup oradism, or unset sga_max_size.
[diagnostic 0, 16, 64882]
----------------------------------------
the solution is as under:
1- cd $ORACLE_HOME/bin
2- chmod 4550 oradism
3- chmod g+s oradism
4- chown root:dba oradism
5- Bounce the database
Refer to Metalink note 374367.1 for additional info.
Tuesday, April 5, 2011
Sort Area in PGA
If parallel servers are disabled, than the max size of the sort area is determined by _smm_max_size parameter. The value is in KB. The _pga_max_size is the max size of a single session pga. It is expressed in bytes.
You can view this paramter as under:
select a.ksppinm name, b.ksppstvl value from sys.x$ksppi a,sys.x$ksppcv b where
a.indx = b.indx and a.ksppinm='_smm_max_size';
select a.ksppinm name, b.ksppstvl value from sys.x$ksppi a,sys.x$ksppcv b where
a.indx = b.indx and a.ksppinm='_pga_max_size';
show parameters 'pga%';
For 10gR2:
When max_parallel_servers is set to 0:
If pga_aggr_target < 500mb , _smm_max_size is set to 20% of PAT (pga_aggr_target)
if PAT is between 500mb and 1gb , _smm_max_size is set to 100M
if PAT > 1GB, _smm_max_size is set to 10% of PAT
When parallel operations are enabled
Upper bound limited to 50% of PAT/DOP
when DOP <=5, _smm_max_size is used
when DOP > 5 _smm_px_max_size/DOP limits the max memory usuage
_pga_max_size defaults to 2* _smm_max_size
You can view this paramter as under:
select a.ksppinm name, b.ksppstvl value from sys.x$ksppi a,sys.x$ksppcv b where
a.indx = b.indx and a.ksppinm='_smm_max_size';
select a.ksppinm name, b.ksppstvl value from sys.x$ksppi a,sys.x$ksppcv b where
a.indx = b.indx and a.ksppinm='_pga_max_size';
show parameters 'pga%';
For 10gR2:
When max_parallel_servers is set to 0:
If pga_aggr_target < 500mb , _smm_max_size is set to 20% of PAT (pga_aggr_target)
if PAT is between 500mb and 1gb , _smm_max_size is set to 100M
if PAT > 1GB, _smm_max_size is set to 10% of PAT
When parallel operations are enabled
Upper bound limited to 50% of PAT/DOP
when DOP <=5, _smm_max_size is used
when DOP > 5 _smm_px_max_size/DOP limits the max memory usuage
_pga_max_size defaults to 2* _smm_max_size
Thursday, March 24, 2011
Recipes
Meetha pooda or sweet pancake is made in many parts of India including Punjab and Rajasthan. In Punjab, it is served as breakfast. You can also make it as an anytime sweet.
Recipe of meetha pooda (chilla)
1 cup whole wheat flour (atta)
1/2 cup sugar
1/2 tsp saunf (fennel) powder
2-3 green cardamom (hari elaichi) - crushed
Ghee (clarified butter) or oil to shallow fry
1. In a bowl, mix all the ingredients except oil or ghee. Add water slowly mixing with other hand. Add enough water to make lump free batter of consistency thicker than that of pakoda (fritters). Beat well.
2. Heat a non- stick tava (griddle). Grease it and turn the heat to low. Pour a ladlefull or 2 tablespoon batter in the center of the tava.
3. Spread it gently in the outward circular motion like you would do for a chilla or an omellete. Spread it with the back of a ladle (karchhi). Turn the heat to medium.
4. After 2 minutes, drizzle some oil or ghee on the pooda. Remove it with the help of a wide, thin spatula and turn over.
5. Cook the other side also for 2 minutes and remove from the tava. Your meetha pooda is ready. Similarly make other poodas from rest of the batter.
Always spread the pooda on low heat and cook it on medium heat.
If the first pooda sticks to the tava, don’t get disheartened. It usually happens with the first puda. As the tava get seasoned, rest of the meetha puda will turn out fine.
Out Of Memory Error
Execute prctl $$ command to use the current shell process to determine resource limits
A threshold value on a resource control constitutes a point at which local actions can be triggered or global actions, such as logging, can occur.
Each threshold value on a resource control must be associated with a privilege level. The privilege level must be one of the following three types:
Any number of privileged values can be defined, and only one basic value is allowed. Operations that are performed without specifying a privilege value are assigned a basic privilege by default.
If you see "Out of memory errors" , you may want to enable logging of resource control limit threshold.
By default, Solaris 10 does not log resource limit threshold notifications. You can see whether they are enabled or not by using the “rctladm” command:
To turn on the syslog for "project.max-shm-memory", issue the following:
A threshold value on a resource control constitutes a point at which local actions can be triggered or global actions, such as logging, can occur.
Each threshold value on a resource control must be associated with a privilege level. The privilege level must be one of the following three types:
- basic
- Can be modified by the owner of the calling process.
- privileged
- Can be modified by the current process (requiring sys_resource privilege) or by prctl(1) (requiring proc_owner privilege).
- system
- Fixed for the duration of the operating system instance.
Any number of privileged values can be defined, and only one basic value is allowed. Operations that are performed without specifying a privilege value are assigned a basic privilege by default.
If you see "Out of memory errors" , you may want to enable logging of resource control limit threshold.
By default, Solaris 10 does not log resource limit threshold notifications. You can see whether they are enabled or not by using the “rctladm” command:
To turn on the syslog for "project.max-shm-memory", issue the following:
rctladm -e syslog project.max-shm-memory
To set the process.max-address.space to 20GB, add the following line to /etc/project
user.ben:12345::::process.max-address.space=(privileged,20000000000,deny)
An example of /etc/project:
user.oracle:100::::process.max-address-space=(privileged,40240000000,deny);proce
ss.max-data-size=(priv,10737418240,deny);process.max-sem-nsems=(priv,8192,deny);
process.max-stack-size=(priv,10737418240,deny);project.max-file-descriptor=(priv
,65536,deny);project.max-sem-ids=(priv,100,deny);project.max-shm-ids=(priv,8192,
deny);project.max-shm-memory=(privileged,2199023255552,deny)
This setting however only takes effect for new processes and not for existing process.
ie prctl $$ (will continue to show old value for process.max-address-space)
'
$ su oracle -c 'sh -c "prctl $$"' (will show the new value as you are starting a new shell)
or ...su oracle -c 'sh -c "xterm"'
Subscribe to:
Posts (Atom)