Oracle PRKN-1008 Error

PRKH-1010 : Unable to communicate with CRS services.
PRKH-1000 : Unable to load the SRVM HAS shared library
PRKN-1008 : Unable to load the shared library "srvmhas10"

..... Can't find library srvmhas (libsrvmhas10.a or .so) or any library file


  • File is missing in LIBPATH
  • Wrong LD_LIBRARY_PATH being set.
  • The .so , . a file is unreadable by oracle user in CRS_HOME/lib | lib32 or ORACLE_HOME/lib | lib32
  • “ar” command was broken

auxpropfunc error no mechanism available errors


Once you configured Postfix + MySQL + Courier imap + SASL SMTP Auth,

And you configured SASL with using courier auth daemon as the following config.

pwcheck_method: authdaemond
log_level: 3
mech_list: plain login

You may notice there have a error message when every smtp attempt.

Mar 12 06:10:32 lxpsrv01 postfix/smtpd[29770]: sql_select option missing
Mar 12 06:10:32 lxpsrv01 postfix/smtpd[29770]: auxpropfunc error no mechanism available
Mar 12 06:10:32 lxpsrv01 postfix/smtpd[29770]: auxpropfunc error invalid parameter supplied


Remove SASL sql package, because you don’t need it while you configured to use authdaemon instead of direct sql query. Or simply ignore it, it’s no harm and just annoying.

rpm -e cyrus-sasl-sql

Samba 3.4.6 RPM for CentOS 5.4 x86_64

Complied on CentOS 5.4 x86_64 using without customization.

[download id=”2″]
md5: 1a43369d6e9dd8c24b3c24c2c51f9527

[download id=”3″]
md5: 5f2f6eda1faa6c835657cc48f4889cd4

[download id=”5″]
md5: 50af881f6a96c3bbe22e05bef32d981b

[download id=”9″]
md5: 6c1b8a214fd81bb2f07167a48056b306

[download id=”10″]
md5: 59310246c7eb38e96e9718266c551d9b

[download id=”11″]
md5: ac2f6550ae8fbef4f28cd8b4f3247084

MS Document with Samba Changes Owner of File

When user B saves a MS document that is owned by user A, the updated file is now owned by user B, and user B saves the file again, the permission reset to owen read only. How do I fix this?

        force create mode = 0770
        force directory mode = 0770
        force security mode = 0770
        force directory security mode = 0770

These two settings will ensure that all directories and files that get created in the share will be readable/writable by the owner and group set on the directory itself.

HPUX Managing CPU resource with PRM


Process Resource Manager (PRM) is a resource management tool used to control the amount of resources that processes use during peak system load (at 100% CPU resource or 100% memory resource). PRM can guarantee a minimum allocation of system resources available to a group of processes through the use of PRM groups.
A PRM group is a collection of users and applications that are joined together and assigned certain amounts of CPU and memory resource. The two types of PRM groups are FSS PRM groups and PSET PRM groups. An FSS PRM group is the traditional PRM group, whose CPU entitlement is specified in shares. This group uses the Fair Share Scheduler (FSS) in the HP-UX kernel within the system’s default processor set (PSET). A PSET PRM group is a PRM group whose CPU entitlement is specified by assigning it a subset of the system’s cores (PSET). (A core is the actual data-processing engine within a processor. A single processor might have multiple cores. A core might support multiple execution threads.) Processes in a PSET have equal access to CPU cycles on their assigned cores through the HP-UX standard scheduler.

Continue reading “HPUX Managing CPU resource with PRM”

Performance tuning on Apache, PHP, MySQL, WordPress v1.1 – Updated


This tutorial is covering the web server performance tunings on MySQL, PHP and Apache, WordPress and BuddyPress or general web hosting purpose, the tuning example is based on CentOS 5.

The key of the following performance tuning is focus on memory and caching, most of people host a web site or forum or blog without any tunings or even use the all out-of-box setting.

Continue reading “Performance tuning on Apache, PHP, MySQL, WordPress v1.1 – Updated”

How to determine undo usage in Oracle


Undo logs. Traditionally transaction undo information was stored in Rollback Segments until a commit or rollback statement was issued. Automatic undo management allows the DBA to specify how long undo information should be retained after commit, preventing “snapshot too old” errors on long running queries.

This is done by setting the UNDO_RETENTION parameter. The default is 900 seconds (5 minutes), and you can set this parameter to guarantee that Oracle keeps undo logs for extended periods of time.

Rather than having to define and manage rollback segments, you can simply define an Undo tablespace and let Oracle take care of the rest. Turning on automatic undo management is easy. All you need to do is create an undo tablespace and set UNDO_MANAGEMENT = AUTO.

With the below information gathered by SQL query, you may have a idea to prevent undo space is running out so quickly.
Continue reading “How to determine undo usage in Oracle”

How to check tablespace usage in Oracle

Check each schema usage on tablespaces.

set linesize 300
set pagesize 20
set feedback off

select sysdate, a.owner username, a.tablespace_name, round(b.total_space/1024/1024,2) "Total (MB)", round(sum(a.bytes)/1024/1024,2) "Used (MB)", round(sum(a.bytes/b.total_space)*100,2) "% Used"
from dba_segments a, (select tablespace_name, sum(bytes) total_space
                      from dba_data_files
                      group by tablespace_name) b
where a.tablespace_name not in ('SYSAUX', 'SYSTEM', 'UNDOTBS1', 'UNDOTBS2')
and a.tablespace_name = b.tablespace_name
group by a.tablespace_name, a.owner, b.total_space/1024/1024
order by a.tablespace_name, a.owner;

Check overall tablespaces usage.

set linesize 300
set pagesize 20
set feedback off

select t1.tsp_name, sysdate,
       round(t1.total_space/1024/1024,2) "Total (MB)",
       round((t1.total_space-t2.free_bytes)/1024/1024,2) "Used (MB)",
       round(t2.free_bytes/1024/1024,2) "Free (MB)",
       round(t2.free_bytes/t1.total_space*100,2) "% Free",
       decode(greatest(round(t2.free_bytes/t1.total_space*100,2),20),20,'*',' ') D,
       decode(greatest(round(t2.free_bytes/t1.total_space*100,2),15),15,'*',' ') E
from (select tablespace_name tsp_name, sum(bytes) total_space
      from sys.dba_data_files
      where tablespace_name not in ('UNDOTBS1', 'UNDOTBS2')
      group by tablespace_name) t1,
     (select tablespace_name tsp_name, sum(bytes) free_bytes
      from sys.dba_free_space
      where tablespace_name not in ('UNDOTBS1', 'UNDOTBS2')
      group by tablespace_name) t2
where t1.tsp_name = t2.tsp_name
order by tsp_name;