Tuesday, December 29, 2009

little s and upper case S

It is not about little s and big s of Taiwan actress. It is about setuid bit.

s: set when executable
S: set when not executable

hmc@hmc-desktop:~$ touch abc.txt
hmc@hmc-desktop:~$ chmod 644 abc.txt
hmc@hmc-desktop:~$ ls -l abc.txt
-rw-r--r-- 1 hmc hmc 0 2009-12-29 22:40 abc.txt
hmc@hmc-desktop:~$ chmod 4644 abc.txt
hmc@hmc-desktop:~$ ls -l abc.txt
-rwSr--r-- 1 hmc hmc 0 2009-12-29 22:40 abc.txt


hmc@hmc-desktop:~$ touch abcx.txt
hmc@hmc-desktop:~$ chmod 744 abcx.txt
hmc@hmc-desktop:~$ ls -l abcx.txt
-rwxr--r-- 1 hmc hmc 0 2009-12-29 22:40 abcx.txt
hmc@hmc-desktop:~$ chmod 4744 abcx.txt
hmc@hmc-desktop:~$ ls -l abcx.txt
-rwsr--r-- 1 hmc hmc 0 2009-12-29 22:40 abcx.txt

more to read
http://www.zzee.com/solutions/unix-permissions.shtml#setuid

Monday, December 14, 2009

firefox flash on ubuntu 9.10

headache problem comes back again after upgrade to 9.10.

no solution with amd64, have to choose 32 bit again.

download 3.5.5 from mozilla.org

download install_flash_player_10_linux.tar.gz from adobe.com , then unzip it to get libflashplayer.so

move it to /usr/lib/mozilla/plugins

Now I can happy with facebook.com and qzone.qq.com

Wednesday, December 09, 2009

OPatch: Can't locate loadable object for module POSIX in @INC

alternative solution can be found from http://my.opera.com/onyxluo/blog/opatch

My solution is :

perl $ORACLE_HOME/OPatch/opatch.pl lsinventory|apply

Interim Patch is holding the lock from xxxxxxx

Opatch failed with the following message:

Problems with the lock file
Lock file exists, details are:
Interim Patch is holding the lock from xxxxxxx,
probably due to previous unsuccessful operation

ERROR: OPatch failed during pre-reqs check

Opatch creates patch_locked in $ORACLE_HOME/.patch_storage during running of patch. If for some reason opatch run was interrupted or canceled , this file may not be removed. As the result, further opatch run can find this patch and will fail because of this file.

To resolve, delete this file.

Monday, November 16, 2009

split PMAX partition with records inside

--my evn 10.2.0.2
Few things to take note during re-distribute records to new partitions:
1. Archived log gnerated , as rowmovement occurs. Rowid changed is the evidance. Here is my observation.
--rowid before split

select rowid, BILL_REF_NO, BILL_REF_RESETS from arbor.bill_invoice_detail partition(P01560_1) where BILL_REF_NO=155000001;

ROWID BILL_REF_NO BILL_REF_RESETS
------------------ ----------- ---------------
AAHsyTADUAABdzkAAD 155000001 1
AAHsyTADUAABdzkAAC 155000001 1
AAHsyTADUAABdzkAAB 155000001 1
AAHsyTADUAABdzkAAA 155000001 1

--split partition
10:55:50 SQL> alter table bill_invoice_detail split partition pmax
10:55:50 2 at (156000000,2) into (partition p01560_1 tablespace cust_bill_inv_det, partition pmax tablespace cust_bill_inv_det);

Table altered.

Elapsed: 00:09:44.28
11:05:34 SQL>
11:05:34 SQL> alter table bill_invoice_detail split partition pmax
11:05:34 2 at (157000000,2) into (partition p01570_1 tablespace cust_bill_inv_det, partition pmax tablespace cust_bill_inv_det);

Table altered.

Elapsed: 00:00:20.77
11:05:55 SQL>
11:05:55 SQL>
11:05:55 SQL> alter table bill_invoice_detail split partition pmax
11:05:55 2 at (158000000,2) into (partition p01580_1 tablespace cust_bill_inv_det, partition pmax tablespace cust_bill_inv_det);

Table altered.

Elapsed: 00:00:00.10
11:05:55 SQL>
11:05:55 SQL> alter table bill_invoice_detail split partition pmax
11:05:55 2 at (159000000,2) into (partition p01590_1 tablespace cust_bill_inv_det, partition pmax tablespace cust_bill_inv_det);

Table altered.

--rowid after split

select rowid, BILL_REF_NO, BILL_REF_RESETS from arbor.bill_invoice_detail partition(P01560_1) where BILL_REF_NO=155000001;

ROWID BILL_REF_NO BILL_REF_RESETS
------------------ ----------- ---------------
AAJM0sADXAABdzkAAG 155000001 1
AAJM0sADXAABdzkAAH 155000001 1
AAJM0sADXAABdzkAAI 155000001 1
AAJM0sADXAABdzkAAJ 155000001 1

2. Local index with records became unusable. Need to manually rebuild it.


11:20:07 SQL> exec dbms_stats.gather_table_stats(ownname=>'ARBOR', tabname=>'BILL_INVOICE_DETAIL');
BEGIN dbms_stats.gather_table_stats(ownname=>'ARBOR', tabname=>'BILL_INVOICE_DETAIL'); END;

*
ERROR at line 1:
ORA-20000: index "ARBOR"."BILL_INVOICE_DETAIL_PK" or partition of such index is in unusable state
ORA-06512: at "SYS.DBMS_STATS", line 13159
ORA-06512: at "SYS.DBMS_STATS", line 13179
ORA-06512: at line 1

13:24:09 SQL> select PARTITION_NAME, status from dba_ind_partitions where index_name='BILL_INVOICE_DETAIL_PK';

PARTITION_NAME STATUS
------------------------------ --------
P01470_1 USABLE
P01480_1 USABLE
P01490_1 USABLE
P01500_1 USABLE
P01510_1 USABLE
P01520_1 USABLE
P01530_1 USABLE
P01540_1 USABLE
P01550_1 USABLE
P01560_1 UNUSABLE
P01570_1 UNUSABLE
P01580_1 USABLE
P01590_1 USABLE
PMAX USABLE

14 rows selected.

13:28:27 SQL> alter index arbor.BILL_INVOICE_DETAIL_PK rebuild partition P01560_1 ;

Index altered.

Elapsed: 00:04:27.71
13:33:26 SQL> alter index arbor.BILL_INVOICE_DETAIL_PK rebuild partition P01570_1 ;

Index altered.

Elapsed: 00:01:47.79
13:36:04 SQL> select PARTITION_NAME, status from dba_ind_partitions where index_name='BILL_INVOICE_DETAIL_PK';

PARTITION_NAME STATUS
------------------------------ --------
P01470_1 USABLE
P01480_1 USABLE
P01490_1 USABLE
P01500_1 USABLE
P01510_1 USABLE
P01520_1 USABLE
P01530_1 USABLE
P01540_1 USABLE
P01550_1 USABLE
P01560_1 USABLE
P01570_1 USABLE
P01580_1 USABLE
P01590_1 USABLE
PMAX USABLE

14 rows selected.

Saturday, November 14, 2009

ora-25143 can not change next extent size for locally managed tablespace with uniform size

--can not change next extent size for locally managed tablespace with uniform size.

SYS@FMSP> alter tablespace FMS_CUSTOMER_INDEX default storage (next 1048576);
alter tablespace FMS_CUSTOMER_INDEX default storage (next 1048576)
*
ERROR at line 1:
ORA-25143: default storage clause is not compatible with allocation policy



fms02@/software/orafms/admin/FMSP/bdump> oerr ora 25143
25143, 00000, "default storage clause is not compatible with allocation policy"
// *Cause: default storage clause was specified for a tablespace with
// AUTOALLOCATE or UNIFORM policy
// *Action: Omit the storage clause

Tuesday, November 10, 2009

Temporary segments do not span tablespaces of Temporary Tablespaces Group

I took for granted that single session with one big sort can benefit from tablespace group.
However, it is wrong ! No wonder our data warehouse often hit ora-1652.
--before make change , temp1,2,3 size is 16gb,16gb,19gb respectively
--This is means available temporary range is 16gb to 19gb.

The relevant metalink doc is 245645.1 and 248712.1

Reason is quite simple , Temporary segments do not span tablespaces. This easy to understand, same as other segment.


-- change support id to use small temp3 , which is the default database temporary tablespace (check from database_properties table)

-- remove temp1, temp2,temp3 from temp_group

alter tablespace TEMP1 tablespace group '';
alter tablespace TEMP2 tablespace group '';
alter tablespace TEMP3 tablespace group '';

--drop temp2

drop tablespace temp2 including contents and datafiles;

--epxand temp1;

--shrink temp3

--after make change , temp1,3 size is 40gb,10gb respectively
--assign application id to use big temporary tablespace


Since we don't parallel DML & have limited diskspace, tablespace group does't help.

From this practice, I think tablespace group is only good if you have lots of tablespace to create tablespaces with same size for round-robin assignment fashion.
Ideally, can create them on separate disks to reduce I/O contention.


How come important things is missed out in many articles searched by Google !?

Saturday, September 05, 2009

%ROWCOUNT before and after COMMIT

LIQY@XE> declare
2 begin
3 insert into t1 values (100);
4 dbms_output.put_line(SQL%ROWCOUNT);
5 COMMIT;
6 dbms_output.put_line(SQL%ROWCOUNT);
7 end;
8 /
1
0

PL/SQL procedure successfully completed.

In 8i the output is the same , however behavior in 10g & 11g is as above.

I think it is related to COMMIT.

Tuning at the meeting

Near the end of business hour, my manager called me to attend a meeting related to slowness of data warehouse project.

without any info provided, during the briefing from the Vendor's DBA, lots of figure almost make me sleep. Maybe I was tired after whole day's hard work.

Finally, I realized :
1. The slowness is in development instead of production.
2. The partition key is not used.
3. The index is chosen. The cost shown in TOAD is 130. good value .?

Gathered more info from in-house developer, almost 1/6 rows are accessed in the partition.

Then was asked PGA, hash hint, nest hint ...


The join is in between a small table and a big partition. Feeling that FULL Table Scan should help.

Advise developer to hit the partition directly . And did a test of select count(*) from t partition(part-name), the elapsed time is about 4minutes.

Force to use FULL hint, took about the same time. However the cost shown to vendors is 500k. He looks not willing to try. instead, trying other hints, however needs to google syntax . I want to leave the meeting room, then I went to toilet.

When I came back, they were trying the FULL hint.

Run 4 concurrent sessions to hit different partitions, took the same timing , with 1k+ rows processed per second.

Application manager was so happy , asked everybody "happy with this ? " Saw some smile.


When I stepped the room, leaving 7 persons there continue testing happily more sessions. 6 Thanks to me, except the vendor's DBA.

Feeling COOL, it was almost 7:30pm.

Stressful if I didn't tune it on time. everybody was looking at me... even GM attended the meeting.



moreover, I use sqlplus defeated the TOAD while checking the execution plan.

Sunday, August 30, 2009

install sqldeveloper on Ubuntu

1. copy it /opt directory
2. set JDK path to avoid prompt whenever launch sqldeveloper.sh
echo "/usr/lib/jvm/java-6-sun" > ~/.sqldevolper/jdk

Saturday, August 29, 2009

Internet TV on Linux

Finally can see IPTV on Linux.

Thanks sopcast-player http://www.sopcast.com/download/

1. install libstdc++5 using Synaptic Package Manager
2. download & install sp-auth_3.0.1_amd64.deb
3. download & install sopcast-player_0.3.0-0ubuntu1_amd64.deb

Saturday, August 22, 2009

send email in windows platform

This is my mind for 3 years. It is good for database monitoring, if it can be done by a perl script, however no initiative to follow up.

Yesterday, boss is not around & no urgent task at hand. a leisure Friday.

Googled and got some sample script. However not work with my environment, could be due to my lower version SendMail.pm.

Finally find below key lines from existing netbackup script.


$smtpSvr = "(smtp server)" ;

use Mail::Sendmail;

%mail = ( To => "yourid\@domain",
From => "yourid\@domain",
Message => "test message2 ",
Subject => "test sms2 from windows",
smtp => $smtpSvr,
);

sendmail( %mail ) or die $Mail::Sendmail::error;


Note that a "\" is needed before the "@".




3 years x mans versus 1hour 1 man effort. What do we learned from this case ?!

brrestore with error BR458E

BR458E Information about backup file %s not found in log header.

* Explanation: All the backup files must be described in the log header of the selected BRBACKUP backup. This is not the case. This could indicate an internal error, or the log was changed manually.
* Program response: Processing terminated.
* User action: If the log was changed manually, change it back and repeat the operation.


Vendor told us ready to proceed brrestore after SAP software installed.

The backup was taken in production with 6.4 version Netbackup agent for SAP. Howerver during brrestore in other server, the version is v6.2.

brrestore –c –b -m full

--note that the v6.2 brrestore can still work fine to restore individual v6.4 backed up files.

After asking vendor to upgrade to 6.4. everything goes smooth. 9pm in the night already.

Vendor ah, how can I trust the famous saying during project kicked-off meeting " no eat, no sleep" .

Fix for flash not working after Jaunty Upgrade (64bit)

Fix for flash not working after Jaunty Upgrade (64bit) | Ubuntu Geek
Fix for flash not working after Jaunty Upgrade (64bit)


using apt-get

Saturday, August 15, 2009

My Oracle Orion testing result



Here is the summary of SIMPLE run against my Segate SATA2 500Gb hard disk.

Maximum Large MBPS=37.31 @ Small=0 and Large=2
Maximum Small IOPS=138 @ Small=5 and Large=0
Minimum Small Latency=10.28 @ Small=1 and Large=0

Chinese input for Ubuntu

Here it is, but sill not working with Tecent QQ

http://ubuntuforums.org/showthread.php?p=124214

Sunday, July 26, 2009

ATI HD4650 is not supported by Ubuntu 9

Sigh , I wanted to support AMD, hence bought Gigabyte ATI 4650, however
-- laggy in centos, even is text content
-- black screen with ubuntu 9 live CD (installation CD) (intended to reinstall to ubuntu 9)
-- it looks ubuntu is sensitive ot ATI chipset. (had same experience with ATI 3450, which is not stable drived me to replace ATI3450)

no choice have to switch to nvidia, thanks to the shop to allow me to exchange to nvidia 9600GT.
-- wasting me 1 day time

plug it onto motherboard, everything goes smoothly.
to my surprise, no need to reinstall Ubuntu, and it already comes with its own version to drive the video card
nvidia-glx-180, which can even support 9800GT

not like CentOS need to download the driver from nvidia.com, which is also not tedious.
invoke "init 3 " to logout X windows
run the NVIDIAxxx.run

some things to take note
-- no need extra power for 9600, can run with my 450w power supperlier
-- need to occupy an extra PCI slot from huge fan, other than the PCI express lsot.
-- Looks still lacking of official centralized linux hardware compatible list, existing one is not update frequently and update-to-date.
-- big vendor should spend more effort to Linux community. Otherwise, less market share/lower stock price is their pay back.

Wednesday, July 22, 2009

centos yum fastestmirror

installed fastestmirror plugin , but still slow at 10kb/s.

check my root@localhost pluginconf.d]# cat /var/cache/yum/timedhosts.txt
ftp.riken.jp 0.161697864532
ftp.yz.yamagata-u.ac.jp 0.213155031204
ftp.oss.eznetsols.org 99999999998
ftp.iij.ad.jp 0.18056511879
mirror.averse.net 0.159833192825
mirror.nus.edu.sg 0.244224071503
ftp.nara.wide.ad.jp 0.163350105286
rsync.atworks.co.jp 0.171188831329
ftp.jaist.ac.jp 0.156664848328
www.ftp.ne.jp 0.525522947311
mirror.usonyx.net 0.160475969315

many sites are from Japan, while I am in singapore.

decide to exclude .jp sites by set "exclude=.gov, facebook, .jp" in
[root@localhost pluginconf.d]# cat fastestmirror.conf
[main]
enabled=1
verbose=0
socket_timeout=3
hostfilepath=/var/cache/yum/timedhosts.txt
maxhostfileage=10
maxthreads=15
exclude=.gov, facebook, .jp


cheers, now can see at least 150kb/s. that is 15 times.

also notice one site is available , will exclude it also.

22:04:54 : Downloading Packages:
22:05:26 : Failure getting http://mirror.averse.net/centos/5.3/os/x86_64/CentOS/gnome-keyring-devel-0.6.0-1.fc6.i386.rpm:
22:05:26 : --> [Errno 12] Timeout:
22:05:26 : Trying other mirror.

Monday, July 20, 2009

How do I connect to a non-default instance of SQL Server?

The convention of "Data Source" (for creating link server) or "Server Name" (called in management studio" is : ,/ or /,

Here is a connection string that attaches to an instance of SQL Server that is NOT the default instance.


cst = "Provider=SQLOLEDB;" & _
"Data Source=127.0.0.1\instanceName;" & _
"Initial Catalog=pubs;" & _
"Network=DBMSSOCN;" & _
"User ID=;" & _
"Password="

set conn = CreateObject("ADODB.Connection")
conn.open cst


If your instance is running on a non-default port (by default, SQL Server runs on 1433):


cst = "Provider=SQLOLEDB;" & _
"Data Source=127.0.0.1,1510\instanceName;" & _
"Initial Catalog=pubs;" & _
"Network=DBMSSOCN;" & _
"User ID=;" & _
"Password="

set conn = CreateObject("ADODB.Connection")
conn.open cst

about DBA_HIST_SEG_STAT

DBA_HIST_SEG_STAT displays historical information about segment-level statistics. This view captures the top segments based on a set of criteria and captures information from V$SEGSTAT. The total value is the value of the statistics since instance startup. The delta value is the value of the statistics from the BEGIN_INTERVAL_TIME to the END_INTERVAL_TIME in the DBA_HIST_SNAPSHOT view.

The DML counters from this view represent the number of DML operations since the last gather statistics.
The overhead on performance is not to be considerable since this mechanism work on memory and flush changes to DBA_TAB_MODOFICATIONS view periodically.

In 9i, tables should be implemented with monitoring by executing "alter table ... monitoring", but in 10g monitor is enabled by default.

The advantage of this feature is when gathering statistics.
Based on the dba_tab_modifications view we can gather statistics for only tables that have more than X% changes (compared to num_rows in user_tables) since last gather statistics.


exec dbms_stats.flush_database_monitoring_info; to refresh the view.

Sunday, July 12, 2009

Error uploading configuration data to the repository

[ERROR MESSAGE]

Jul 11, 2009 9:33:34 PM oracle.sysman.emcp.EMReposConfig unlockMGMTAccount
CONFIG: Unlocked mgmt_view account
Jul 11, 2009 9:33:34 PM oracle.sysman.emcp.EMReposConfig invoke
CONFIG: Successfully unlocked mgmt_view account
Jul 11, 2009 9:33:34 PM oracle.sysman.emcp.ParamsManager getParam
CONFIG: No value was set for the parameter ORACLE_HOSTNAME.
Jul 11, 2009 9:33:34 PM oracle.sysman.emcp.util.GeneralUtil initSQLEngine
CONFIG: SQLEngine connecting with SID: OCP11G, oracleHome: /apps/oracle/product/11.2.0, and user: SYS
Jul 11, 2009 9:33:34 PM oracle.sysman.emcp.util.GeneralUtil initSQLEngine
CONFIG: SQLEngine created successfully and connected
Jul 11, 2009 9:33:40 PM oracle.sysman.emcp.ParamsManager checkListenerStatusForDBControl
CONFIG: Passed listener validation check.Listener is up and running.
Jul 11, 2009 9:33:40 PM oracle.sysman.emcp.ParamsManager getParam
CONFIG: No value was set for the parameter ORACLE_HOSTNAME.
Jul 11, 2009 9:33:40 PM oracle.sysman.emcp.EMReposConfig uploadConfigDataToRepository
INFO: Uploading configuration data to EM repository (this may take a while) ...
Jul 11, 2009 9:33:48 PM oracle.sysman.emcp.EMReposConfig uploadConfigDataToRepository
CONFIG: Error uploading configuration data to the repository
oracle.sysman.emdrep.config.ConfigurationException: FATAL Configuration Exceptions

at oracle.sysman.emdrep.config.EMSchemaConfiguration.perform(EMSchemaConfiguration.java:232)
at oracle.sysman.emcp.EMReposConfig.uploadConfigDataToRepository(EMReposConfig.java:674)
at oracle.sysman.emcp.EMReposConfig.invoke(EMReposConfig.java:370)
at oracle.sysman.emcp.EMReposConfig.invoke(EMReposConfig.java:147)
at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:222)
at oracle.sysman.emcp.EMConfigAssistant.invokeEMCA(EMConfigAssistant.java:535)
at oracle.sysman.emcp.EMConfigAssistant.performConfiguration(EMConfigAssistant.java:1215)
at oracle.sysman.emcp.EMConfigAssistant.statusMain(EMConfigAssistant.java:519)
at oracle.sysman.emcp.EMConfigAssistant.main(EMConfigAssistant.java:468)
Jul 11, 2009 9:33:48 PM oracle.sysman.emcp.EMReposConfig invoke
INFO: Refer to the log file at /apps/oracle/cfgtoollogs/emca/OCP11G/emca_repos_config_.log for more details.
Jul 11, 2009 9:33:48 PM oracle.sysman.emcp.EMReposConfig invoke
SEVERE: Error uploading configuration data to the repository
Jul 11, 2009 9:33:48 PM oracle.sysman.emcp.EMConfig perform
SEVERE: Error uploading configuration data to the repository
Refer to the log file at /apps/oracle/cfgtoollogs/emca/OCP11G/emca_2009_07_11_21_27_18.log for more details.
Jul 11, 2009 9:33:48 PM oracle.sysman.emcp.EMConfig perform
CONFIG: Stack Trace:
oracle.sysman.emcp.exception.EMConfigException: Error uploading configuration data to the repository
at oracle.sysman.emcp.EMReposConfig.invoke(EMReposConfig.java:382)
at oracle.sysman.emcp.EMReposConfig.invoke(EMReposConfig.java:147)
at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:222)
at oracle.sysman.emcp.EMConfigAssistant.invokeEMCA(EMConfigAssistant.java:535)
at oracle.sysman.emcp.EMConfigAssistant.performConfiguration(EMConfigAssistant.java:1215)
at oracle.sysman.emcp.EMConfigAssistant.statusMain(EMConfigAssistant.java:519)



[ROOT CAUSE]
try some solution from internet, related to password file, listener, ORACLE_HOSTNAME.

recalled recent there is block error & fixed duing Linux booting , which are related to 11.1.0.7 ORACLE_HOME.

[SOLUTION]
1. reinstall the oracle software
2. copy old PFILE, password file and listener.ora &tnsnames.ora
3.emca -deconfig dbcontrol db -repos drop
4. emca -config dbcontrol db -repos create
cheers, see the follow messages

INFO: >>>>>>>>>>> The Database Control URL is https://localhost:1158/em <<<<<<<<<<<
Jul 12, 2009 2:27:16 PM oracle.sysman.emcp.EMDBPostConfig invoke
WARNING:
************************ WARNING ************************

Management Repository has been placed in secure mode wherein Enterprise Manager data will be encrypted. The encryption key has been placed in the file: /apps/oracle/product/11.1.0/localhost_OCP11G/sysman/config/emkey.ora. Please ensure this file is backed up as the encrypted data will become unusable if this file is lost.

***********************************************************
Enterprise Manager configuration completed successfully
FINISHED EMCA at Jul 12, 2009 2:27:16 PM
You have new mail in /var/spool/mail/oracle

Monday, July 06, 2009

How long does csscan take?

It took me near 6 hours, maybe because the database has tens of thousands user tables ...

Far away from our estimation based on number of convertible rows.
--This may not the right assumption.

So be prepared enough for downtime.

Thursday, May 21, 2009

How To Install Oracle XE in Ubuntu 64 Bit

and http://blog.csdn.net/liguangyi/archive/2008/12/15/3522662.aspx

The guide is applicable to 10g XE in Ubuntu 64bit 9.04

Tuesday, May 12, 2009

install QQ in Ubuntu x86_64

down linuxqq_v1.0.2-beta1_i386.deb from http://im.qq.com/qq/linux/

sudo dpkg -i --force-architecture linuxqq_v1.0.2-beta1_i386.deb

That is all!

Monday, May 04, 2009

install vmware player on Ubuntu 9.0.4


follow 8.0.4 doc from https://help.ubuntu.com/community/VMware/Player

download the vmware installer file from http://www.vmware.com/download/player/download.html , (download the bundle version, not the rpm one) and run it as root using gksudo.)

You'll get a graphical installer that installs VMware player for you.
gksudo bash ./VMware-Player-2.5.2-156735.x86_64.bundle
If nothing appears, you may need to make the file executable. You can do so with this command: chmod +x ./VMware-Player-2.5.2-156735.x86_64.bundle



However, when gksudo bash ./VMware-Player-2.5.1-126130.i386.bundle
"Cannot install on a system with KVM enabled"

after I uninstall kvm , kvm-bin, virtualbox*

hmc@hmc-desktop:~$ lsmod |grep kvm
kvm_amd 40972 0
kvm 176624 1 kvm_amd
hmc@hmc-desktop:~$ rmmod kvm
ERROR: Module kvm is in use by kvm_amd
hmc@hmc-desktop:~$ rmmod kvm_amd
ERROR: Removing 'kvm_amd': Operation not permitted
hmc@hmc-desktop:~$ sudo rmmod kvm_amd
[sudo] password for hmc:
hmc@hmc-desktop:~$ sudo rmmod kvm_amd
[sudo] password for hmc:
hmc@hmc-desktop:~$ sudo rmmod kvm
hmc@hmc-desktop:~$ lsmod |grep kvm
hmc@hmc-desktop:~$ pwd
/home/hmc

Finally the GUI goes through.

Find the icon under /Applications/System Tools/vmware player, then open my previous windows XP image successfully!


after above steps, I can reinstall virtualbox again.

Friday, May 01, 2009

Google Earth5 crashes in Ubuntu9.0.4

If Google Earth opens, shows the splash screen, and then crashes, you’re probably experiencing a common issue. Running ~/google-earth/googleearth in a terminal will show this error:
./googleearth-bin: relocation error: /usr/lib/i686/cmov/libssl.so.0.9.8: symbol BIO_test_flags, version OPENSSL_0.9.8 not defined in file libcrypto.so.0.9.8 with link time reference To fix this, browse to the folder you installed Google Earth into. By default this will be google-earth in your home folder. Find the file libcrypto.so.0.9.8 and rename it to something else, like libcrypto.so.0.9.8.bak. Google Earth should now start correctly.

Sunday, April 26, 2009

Install JRE for 32bi firefox on Linux AMD64 Platform

For Ubuntu9.0.4 runs on AMD64, it looks to me problem solved after install ia32-sun-java6-bin and ia32-libs

32 bit Browsers on 64 bit Systems

Using a 32 bit browser on a 64 bit system has been the most common way of getting plugins to work. Users of 32 bit browsers on 64 bit systems should consult the Linux (x86) section of PluginDoc for more information.


Goto sun.com to download JRE
http://java.sun.com/javase/downloads/index.jsp


http://plugindoc.mozdev.org/linux.html
  1. Install Java Runtime Environment.
  2. Make a symbolic link to libjavaplugin_oji.so in your Mozilla Plugins directory. Use the copy located in the plugin/i386/ns7 directory of JRE 5.0 or later, or plugin/i386/ns610-gcc32 if you are using JRE 1.4.2.

hmc@hmc-desktop:/opt/firefox$ cd plugins/
hmc@hmc-desktop:/opt/firefox/plugins$ ls
libnullplugin.so
hmc@hmc-desktop:/opt/firefox/plugins$ sudo ln -s /opt/java32/jre1.6.0_17/plugin/i386/ns7/libjavaplugin_oji.so ./
[sudo] password for hmc:
hmc@hmc-desktop:/opt/firefox/plugins$ ls -lrt
total 20
-rwxr-xr-x 1 hmc hmc 15824 2009-11-03 07:01 libnullplugin.so
lrwxrwxrwx 1 root root 60 2010-01-02 19:48 libjavaplugin_oji.so -> /opt/java32/jre1.6.0_17/plugin/i386/ns7/libjavaplugin_oji.so
ange directories to the Firefox plugins directory, then create a symbolic link to the Java Plugin libjavaplugin_oji.so fileThe JRE is under /usr/java/latest directory

3. Check that the Java Plugin is installed.

In Firefox, type about:plugins in the Location bar to confirm that the Java Plugin is loaded. If the version is Firefox 1.5 or later, click the Tools menu to confirm that Java Console is there.

网站优劣:到底要设计多宽的网页?

Interesting observation & topic

网站优劣:到底要设计多宽的网页?


http://news.zol.com.cn/128/1286498.html

Saturday, April 25, 2009

ORA-00322: log 1 of thread 1 is not current copy

Fri Apr 24 11:27:38 2009
Errors in file /software/oradcms/product/9.2.0/rdbms/log/dcmss_ora_10640.trc:
ORA-00322: log 1 of thread 1 is not current copy
ORA-00312: online log 1 thread 1: '/dcms002/oradata/DCMSS/redo01b.log'
ORA-00322: log 1 of thread 1 is not current copy
ORA-00312: online log 1 thread 1: '/dcms001/oradata/DCMSS/redo01a.log'


In my case, it is caused by forget to backup control file , hence can't use current/future control file to manager old datafiles.
-- database is running in noarchivelog mode.

[Solution]

re-create the controfile.


during recreation of controfile, I hit below error, as get size of redo log from "ls" in bytes, which is not correct, after I change to 10240K . it passed through .
Cheers!


CREATE CONTROLFILE REUSE DATABASE "DCMSS" NORESETLOGS NOARCHIVELOG
*
ERROR at line 1:
ORA-01503: CREATE CONTROLFILE failed
ORA-01163: SIZE clause indicates 10241 (blocks), but should match header 10240
ORA-01517: log member: '/dcms001/oradata/DCMSS/redo01a.log'

Tuesday, February 24, 2009

port number of x11 through firewall

In a security-tighten intranet, there are more and more firewall introduced for different segments.

For new server supported, have to apply opening firewall port. boring...



For x11 (x-window), it looks also has ( ports 6000-6007? )

-- http://forums.macosxhints.com/archive/index.php/t-8425.html
-- http://www.interhack.net/pubs/fwfaq/firewalls-faq.html#SECTION00069000000000000000

Guess it okay to use SSH over a firewall. But how telnet handles, when connecting to old servers ?

Yesterday when I installed Oracle client as usual (from 10.22.x.x telnet to 10.40.x.x), but failed to launch OUI.

Checking operating system version: must be 5.8, 5.9 or 5.10. Actual 5.8
Passed

Checking Temp space: must be greater than 250 MB. Actual 1228 MB Passed
Checking swap space: must be greater than 500 MB. Actual 4532 MB Passed
Checking monitor: must be configured to display at least 256 colors
>>> Could not execute auto check for display colors using command /usr/openwin/bin/xdpyinfo. Check if the DISPLAY variable is set. Failed <<<<

Some requirement checks failed. You must fulfill these requirements before

continuing with the installation,at which time they will be rechecked.

Continue? (y/n)


googled internet, tried to create dummy xdpyinfo and run "xhost +". but ...


Finally, have to face using response file for silent mode.


  • Find the corresponding response template file in ./response directory
  • Edit it by simply add group name, ORACLE_HOME path. Many parameters are Self-explanatory (check oracle doc if needed)
  • That is it by invoke "./runInstaller -silent -responseFile /d01/app/oracle/patch/response/clientadmin.rsp"
  • Let it run in background and leave for home.
  • When come back, don't forget to run root.sh as root.

Cheers ! no need to raise Change Request to network team, which may take few days to complete.


BTW, the default port used by remote desktop is 3389.

Wednesday, January 28, 2009

Remote Desktop and "Change Password"

ctrl+alt+del doesn't work for remote desktop , cause not able to change password, while ctrl+alt+end works .

Thursday, January 15, 2009

HPUX SHLIB_PATH or LD_LIBRARY_PATH

today spent many time on perl script of Veritas database backup.

A gray area to all ... it looks somewhere is not refreshed immediately. (may be reside the EBS server , regardless of exporting LD_LIBRARY_PATH in .profile already at client side).

As workaround, have to explicitly export it inside the scripts. These Perl scripts are written by HP . Can't understand who chooze such difficult things.

also realize the difference between LD_LIBRARY_PATH and SHLIB_PATH from metalink doc 109621.1


A 64 bit install of Oracle includes both 32 bit executables (such as svrmgrl
and sqlplus) and 64 bit executables (such as oracle).

The installation contains two 'lib' areas:
Prior to 9i:
$ORACLE_HOME/lib - 32 bit libs
$ORACLE_HOME/lib64 - 64 bit libs
9i onwards:
$ORACLE_HOME/lib32 - 32 bit libs
$ORACLE_HOME/lib - 64 bit libs

Both of these directories contain libraries of the same name. To ensure
that 32 bit executables search the 32 bit dir, and 64 bit executables
search the 64 bit dir, set the following:

Prior to 9i:
$LD_LIBRARY_PATH - includes $ORACLE_HOME/lib64, but not $ORACLE_HOME/lib
$SHLIB_PATH - includes $ORACLE_HOME/lib, but not $ORACLE_HOME/lib64

9i onwards:
$LD_LIBRARY_PATH - includes $ORACLE_HOME/lib, but not $ORACLE_HOME/lib32
$SHLIB_PATH - includes $ORACLE_HOME/lib32, but not $ORACLE_HOME/lib

truncate sql server transactional log withou backcup

sometimes on fire and the risk to truncate sql server without backup up.

backup log with TURNCATE_ONLY;

it works on sql server 2000.

but looks no more supported on 2008 . no time to check 2005 ..

Friday, January 09, 2009

Local time changed in between two Linux

I have three Linux installed in my computer: CentOS, Ubuntu and Suse Linux.

CentOS is my first choice as home "production" environment, since it looks stable.
But, sometimes I need to boot into Ubuntu, when I come back to CentOS, the local time is always set to UTC time.

Sigh for many months ... and didn't realize that is a problem.

Today chat with my colleague and identify it must be a problem. Google it first time for "Ubuntu change local time ", I get this https://answers.launchpad.net/ubuntu/+question/2939

Similar case to me and follow the instruction to set UTC=NO inside /etc/default/rcS of Ubuntu.

Testing : set correct time in centos, boot up into ubuntu , reboot to centos again.

Wow, computer's local time is not change.


From this little story, I find it the solution is simple once we identified it clearly and gather sufficient facts. we almost close to the answer.

A bit more thinking makes things so different.

Tuesday, January 06, 2009

Reinstall/Upgrade ATI Radeon 3xxx driver on CentOS5

1. find latest driver from amd.com
2. backup /etc/X11/xorg.conf
3. uninstall existing driver by invoke command /usr/share/ati/fglrx-uninstall.sh
4. run the .run script . i.e ati-driver-installer-8-12-x86.x86_64.run
5. test it: startx.
6. revert run level to 5, if it was set to 3 for troubleshooting.

but still has problem with Xen kernel. it just hang a while and auto-reboot computer.

As workaround, I use default xorg.conf or just delete it. The impact is resolution can be 1400x1050, instead of optimized 1680x1050.

Hope :
I proceed to play Xen successfully
New few future driver/kernel can fix the problem. Otherwise , have to change graphic card .
Sigh

Sunday, January 04, 2009

Nice Firefox extension -- flashblock

I browse itpub.net almost everyday. I like it , both forums and articles. Unfortunately , recently I notice my computer is very slow soon after I open few tabs from itpub.net 's first page. Checked that CPU utilization is high, regardless that my CPU is AMD Athlon(tm) 64 X2 Dual Core Processor 5200+ processors .

Suspect there are too many flash-made advertisements there.

Luckily I find a mint Firefox extension -- flashblock, which by default doesn't load flash. After install it, I can open many tabs happily again.
The details description of Flashblock is excerpted below.

It also provides function for you to define allowed-sites to display Flash. However, I think, it is better to change the feature to the reversed way, i.e. allow all but no for exception sites. Reason being there are thousands web sites we visit, but we don't know the subsequent impact to us.

Think this is a fly in ointment.


"

Long Description

Flashblock is an extension for the Mozilla, Firefox, and Netscape browsers that takes a pessimistic approach to dealing with Macromedia Flash content on a webpage and blocks ALL Flash content from loading. It then leaves placeholders on the webpage that allow you to click to download and then view the Flash content.

Flashblock currently blocks the following content types:
* Macromedia Flash
* Macromedia Shockwave
* Macromedia Authorware"

yum commands

Saturday, January 03, 2009

missing lib caused Lazarus compilation failed

Re: Compiling Lazarus under Linux: msg#00025 ide.lazarus.general

error message ld can't find lglib

missing some lib files of

- glib (e.g. libglib2.0-dev)

- gtk (e.g. libgtk1.2-dev)

- gdk-pixbuf (e.g. libgdk-pixbuf-dev)

sulution:

yum install *glib* *gtk*  *gdk*

Done!

China BI

“知识管理”——信息化的奢侈品?

“知识管理”——信息化的奢侈品? - 技术开发 | IT168


前言:
  到底什么是知识管理?知识管理在国内的发展现状和未来发展趋势怎样,知识管理的方法和工具有哪些?“知识管理”在信息化进程中的位置如何,它是信息化的奢侈品吗?这些问题是从事知识管理工作的人士都会考虑到的问题。带着对知识管理理论与实践等各方面的求知,记者走访了知识管理研究专家夏敬华先生。
  记者:您能简单介绍一下什么是知识管理?它现在国内的现状是什么样吗?
 
 夏敬华:
经常在和企业人士交流的时候,都会问一个问题,一句话讲清楚什么是知识管理。说实话,一句话去说清楚知识管理确实挺难的。曾经听到过一个企业老总对知识管
理的朴素理解,他说老总每天的工作就是“把昨天的故事讲给今天的人听,把这边的故事讲给那边的人听,编写明天的故事讲给大家听。”
  这个讲故事的过程就蕴涵了深刻的知识管理内涵——知道昨天和这边的故事,这是沉淀知识的能力;把故事讲给大家听,这是分享知识的能力;通过讲故事到达工作的目的,这是应用知识的能力;编写明天的故事,这是创新知识的能力。
 
 我也经常会从一个人的成长成功过程,来思考企业的发展问题。一个人从小到大,真正成熟的标志往往并不是生理上的,而在于思维上的——你积淀了哪些核心能
力?你的行动能力如何?你应对未来趋势的学习能力怎么样?你是否善于吸收和分享知识?
同样,对于企业而言也是如此,一方面是看企业是否明白自己要管理哪些“知识”;另一方面则是看企业是否有效掌握了“管理”知识的技能。我想这就是知识管理
的内涵,“知识”和“管理”缺一不可,抓不住“知识”的管理只能是胡子眉毛一把抓;而没有“管理”技能,则企业就可能像没有记忆的人一样,随着项目的结
束、人员的离开,知识可能也就消失了。
  客观来说,国内知识管理产业的市场正处于一个起步阶段。起步阶段的说法,一方面是说市场上已经有需求及
相应的产品,并且市场的容量还在不断扩大。就需求面来说,很多企业都已经意识到知识管理的重要性,知识管理成为这些企业保持并进一步扩大自身竞争优势的有
效手段;就供给面来说,一些知名的咨询公司、管理软件公司纷纷推出知识管理方面的解决方案,甚至出现了知识管理方面的专业服务商,这些厂商提供从咨询、软件到培训等方面的众多产品。从这些方面来说,知识管理市场是取得了一定的成果。

步阶段说法的另一面是指目前客户对知识管理的需求大多并不是很明确,因为知识管理既关乎企业文化,又会带来具体的管理机制的改变,同时也离不开IT系统的
支撑,现在很多客户对知识管理的理解或者仅停留在概念的层次、或者就理解为一套文档管理的系统,这样的市场需要厂商对客户进行正确地引导,提供较为系统化
的解决方案,而现在市场上具备这样实力的厂商还不多             
  记者:您认为什么样的系统能被称之为知识管理系统?系统和管理之间的关系是什么?
  夏敬华:我个人认为对知识管理的理解有几个层面.
  一是思想和理念层面。从这个角度去看,很多管理方法(比如事后回顾,最佳实践管理等)和IT系统(比如KOA、内容管理)等都体现了知识管理内涵。
 
 二是系统层面。从这种功能和技术角度来看,现状是很多KM类系统之间确实存在交叉。比如信息门户EIP具有内容管理功能,而知识管理系统常常也离不开一
个门户入口。在承认这种功能交叉的同时,我们还不能忽视一种趋势,即它们会逐渐走向融合:比如OA会发展成为企业员工门户EEP并逐渐融合于门户;而内容
管理也从协同商务的角度向集成内容管理方向发展,作为门户的重要组成部分;而它们最终将融于超越于企业资源计划ERP之上的企业知识化门户EKP。
 
 三是模式层面。工业经济时代的科学分工管理造就了工业大发展的奇迹,那么在知识经济时代,如何对知识型工作、知识型员工进行管理?
这是一个很大的挑战,知识管理会成为今天和未来组织的基本管理模式。既然是模式,就会涉及到更多的管理或技术要素,诸如一个企业的战略、文化、业务流程、
管理机制都会影响知识管理,而知识管理也会对这些要素起到能动作用。
  至于系统和管理之间的关系,我觉得是相辅相承的,管理引导系统,系统支撑管理,系统的目标是“信息知识化”,而管理的目标则是“管理和谐化”,只有实现了信息知识化和管理和谐化,知识管理才真正达到了一定的境界。
  记者:目前有哪些知识管理的方法和工具,在企业中哪些比较有效?
 
 夏敬华:很多企业人士都问我一个问题,我的企业知识管理应该怎么做和采用什么方法?
严格来说,这是无法回答的问题。一个企业或团队就像一个球队,球队中的每个球员性格互异,在场上的位置、个人能力、技术特点也不相同,比如组织后卫负责场
上的进攻组织,而中锋则更多地承担争夺篮板球和进攻得分的任务。由于不同部门、不同岗位的工作要求、工作特点都会不同,因此要找出同样的知识管理方法来是
不现实和不合理的。
  因此,对于企业来说需要根据不同工作的各自特点,设计出有针对性的知识管理方法,这些方法可能体现为IT手段,也可能落实
为企业的管理制度。当然,在实践中有一些简单实用、甚至是企业在没有正式提出知识管理之前可能就早在应用的工具,比如知识地图、Checklist、
AAR、讲师制和导师制等等。这些方法如何能够得到有效的贯彻执行,那么将不但帮助企业保持业务稳定,还能够实现加速发展。而这些行为更重要的意义还在于
塑造企业的学习、分享和信任文化。
  记者:请问您怎么定义“知识管理”在信息化进程中的位置?有一种说法是“知识管理”是信息化的奢侈品,您这么看待这种说法?
  夏敬华:我是这样理解信息化进程的,即业务操作数据化、业务流程信息化、业务管理知识化和业务决策智能化这四个主要阶段。
  业务操作数据化阶段的特征是将日常手工事务性工作转变为机器工作的过程,关注个体的工作行为和工作效率提升。该阶段可以称为“数据管理时代”,以MIS为应用核心。
  业务流程信息化阶段的特征泽是通过企业的管理重组和创新,结合IT优势固化业务流程,关注整个组织的流程改进和效率提升。该阶段广泛开展流程梳理和信息化建设,可以称为“信息管理时代”,以ERP为应用核心。
  业务管理知识化阶段的特征是让合适的角色在合适的时间、合适的场景获取合适的知识和资源,系统推动企业管理生态的建立。该阶段强调实现业务活动和管理活动的真正结合,以KM、协同、门户等为代表。该阶段可以称为“知识管理时代”,以企业知识化门户EKP为应用核心。
  业务决策智能化阶段的特征是在企业的已有知识的基础之上,能够智能创造、挖掘新知识,用于业务决策、日常管理等,形成自组织、自学习、自进化的企业管理体制。该阶段中,人工智能、专家系统的思想将应用在企业管理领域中,属于未来的主流应用。
  从这个发展轨迹来看,谈不上说知识管理是信息化的奢侈品,应该讲它是企业管理和信息化发展的方向和必由之路。当然,是不是所有企业都马上去推动知识管理应用建设,那确实还需要结合企业自身的发展阶段和战略重点去考虑。
 
 但我相信,有洞察力的企业领导人一定会看到知识管理这个方向,因为他们知道一个平庸的人永远都修不好漏雨的房顶,因为当下雨的时候无法爬上屋顶,而当阳
光灿烂的时候屋顶又不漏。所以,优秀的企业和其领导者会有“在阳光灿烂的时候去修屋顶”的智慧,而这种智慧也正是知识管理所需要的。
  记者:知识管理是否应该独立存在,或者相对独立存在?有些CIO感觉到知识管理离实际需要知识的人还是有个距离,如果能将它融合在具体工作中,可能就会相对容易操作  您对这个观点怎么看?
 
 夏敬华:首先我认为,任何管理要素都不是独立存在的.知识管理也不会独立存在。我最近在中欧商业评论上发表了一篇文章,谈知识管理实施成功的准备度问
题,其中提到了几个原则。比如战略指引原则,由于不同组织由于其行业环境、组织特点、战略选择和知识特征的不同,会导致该组织在知识管理战略选择上方向和
路径不同;还比如管理融合原则,因为知识管理涉及到人员、制度、行为模式等多方面的问题,实施知识管理时需要抛弃单纯从技术出发的观念,要将知识管理思
想、理念和方法与组织现有的组织、制度和行为模式相融合。
对于每一个企业,它的发展战略、业务流程、知识体系、技术平台都会有浓厚的自身特色,如何把握其个性的东西,制订出针对性的知识管理方案,是科学和艺术的结合。如果脱离企业整体管理体系来单单谈知识管理,我觉得是没有真正理解企业管理,当然也很难将知识管理做好。
 
 有些CIO感觉到知识管理离实际需要知识的人还是有个距离,我觉得有几个原因。一是知识管理是正在发展过程的体系,还没有完全成熟,而任何一种成熟的管
理模式,通常包括三个层面的内容,一是愿景,二是体系方法论,三是支撑工具,这三个方面都成熟了,它也就更容易在企业中落地了。二是企业对知识管理理解的
问题,很多企业一提到知识管理,还是想当然认为就是文档管理、专家系统之类的应用,但最终发现这样的应用不一定能满足所有业务的需要。三是如何让知识管理
有效融合业务问题,因为KM和业务应用系统不一样,业务应用系统基于业务流程运作本身,更显性化,看得见、摸得着。而知识管理则是基于业务流程,又超越业
务流程,因此更需要管理者的管理洞察力,有了这种管理洞察力,才能更容易找到不同业务工作中所适合的KM方法,比如重大项目的知识经营传播,
生产现场的最佳实践管理,基于知识管理的客户服务系统等等。我相信如果企业有这样的思维去实践知识管理,知识管理的价值一定会得以更充分的体现。
记者:企业处于不同的发展阶段,在知识管理方面是不是应该采取不同的解决方案?您具体有哪些建议?
  夏敬华:
肯定是这样的,企业处于不同发展阶段,其管理本身也是在动态调适的,比如从初创阶段依赖个人英雄主义,到发展壮大后强调规范和制度化,成熟到一定阶段后则
需要二次创业精神。不仅仅企业发展是这样,企业中的不同管理体系也是如此,比如企业HR的发展,同样也会经历从基础人事管理到人力资源管理再到战略性\人
力资本管理等不同阶段。
  我们的一个合作客户—天狮集团,在其知识管理实施中,就采用了三阶段模式。第一步是实施基于流程的知识管理,提出
了PBKM理念,为天狮集团实行知识管理提供了理论依据。目前,天狮集团知识管理系统中已建立起包括行政、营销、研发等各个方面的200多项业务流程。第
二步是实施基于管理的知识管理,其内涵在于通过培训、评价、激励等方法形成一种相互学习、广泛交流的组织文化和工作氛围,创建一种知识共享的工作模式和机
制。第三步则是实施基于战略的知识管理,在这个阶段中,知识管理一方面要帮助集团高层提供决策,加深对数据的分析,将这些有效信息用于企业战略规划指导和
管控模式的完善中去;另一方面要结合BSC体系,从天狮的战略目标出发,寻找支撑战略目标落地的核心业务知识体系,并结合核心业务知识体系的掌握度、编码
度、扩散度现状和期望,设计有效可行的提升手段,从而形成知识管理对天狮战略落地的有效支撑。
  一般来说,对企业推进知识管理我建议可以采用以
下的步骤。首先是以文档和流程为核心的基本应用,解决知识管理基础层面的问题,然后可以往三个方向去发展,一是宽度发展,不仅仅关注文档和流程,还关注专
家、社区,关于应用系统的门户整合,不断扩展知识来源渠道和覆盖面;二是深度发展,更紧密的融入业务,在不同业务中发现和推进适合的知识管理方法和应用;
三是高度发展,强调战略导向和知识站位高度,不同周期内根据企业的战略主题找到热点知识领域,并对这些关键知识进行有效的经营传播。
  当然,在做这些具体工作之前,建议企业可以考虑前期有个知识管理诊断和规划,为知识管理发展指明方向。而且这个规划应该是动态的滚动规划,并能够纳入企业战略和计划体系中去,这样就可以从机制上保证知识管理的可持续推进。
  记者:做好知识管理的成功关键在什么地方?现在主要面临什么问题?
  夏敬华:要做好知识管理,既需要方法模型,比如蓝凌开发的知识之轮模型就在很多企业中得到了应用,但更需要企业文化的匹配和领导人的智慧。
 
 我经常和很多企业说,什么才叫成功的知识管理,可以用一个形象的比喻---那就是去观察一下企业中那么多部门和团队,有多少是热点,有多少是冰点。热点

特征是“激情”、“分享”和“创新”,而冰点的特征则是“冷漠”、“封闭”和“保守”。成功的知识管理就是要帮助组织涌现更多的热点,尽量避免冰点的产
生。
  所以从这个角度来看,企业领导和文化因素是决定知识管理能做到什么程度的根本。比如英国石油BP,是国际范围内共认的知识管理最佳实践企
业,它把最简单的
知识管理行为发挥到极致,比如事后回顾AAR已经融入了英国石油的血液。这些行为并没有强制性,要求员工完成某项工作之后必须填写什么、沉淀和输出什么,
但反而起到了更大的业务促进作用,它甚至成为了BP一种新的管理方式和文化,即T型管理――在公司内部自由地分享知识(T的水平部分),同时致力于单个业
务单元业绩(T的垂直部分)。
  当然,一下子达到这个高度很难,但假如企业领导人和企业文化没有这样的管理假设,那么知识管理只会有“形”、有点“意”,但永远达不到“神”的高度,就像某些二、三流画家画的画一样,永远达不到一流画家的水平。
  记者:在世界经济危机这个大环境下,您对上了知识管理的企业和没上知识管理的企业有什么样的意见和建议吗?
 
 夏敬华:
我觉得对于上了知识管理的企业,首先应该感到欣慰,因为在经济危机的大环境下,更考验一个企业的内功,知识管理正是这样一门内家功夫。但同时这些企业,也
需要自己审视一下,用知识管理的术语就是事后回顾(AAR)一下,看目前知识管理还存在什么问题,有什么样新需求,从而形成知识管理的PDCA循环。
  那些没有上知识管理的企业,并不一定马上就非要知识管理不可。首先还是要去找到自己经营和管理上的痛点,比如老客户经营和服务方面、市场拓展方面、产品创新方面以及人才流失或成长方面存在什么问题,而这些问题的解决之道可能正是需要知识管理来支撑的
  所以,问题导向、目标指引永远是知识管理的生存之道,解决不了企业问题、支撑不了企业目标的知识管理是没有生命力的。
  记者:您作为一个知识管理方面的专家,能预测一下未来知识管理会有一个什么样的发展趋势吗?
  夏敬华: 知识管理本身在不断地进步和发展,在知识管理研究研究和实践中,有一些值得关注的方向。
  第一就是KM和企业战略目标体系(BSC)融合的问题,现在国外很多企业提出知识积分卡的概念,通过知识积分卡和平衡积分卡去关联,实现知识管理对企业战略目标的支撑。
  二是知识型工作模式的分析方法,传统的岗位分析可能对岗位的知识型工作特点关注得很少,怎么样分析不同岗位、不同工作的知识型的工作模式,然后再设计相应的管理机制、管理方法,也是一种研究方向。
  三是知识管理怎样向创新管理、向智力资本管理方向去发展,现有的知识管理关注企业记忆力的打造,在企业有记忆力的基础上可能有更强的学习力、创新力,怎么样从知识管理走向创新管理、智力资本管理,是值得关注的方向。
  第四就是门户整合导向的知识管理应用,不仅仅关注文档和人,更强调跨系统的数据整合,以人为导向的门户应用。
  第五就是Web2.0式的知识管理应用,更关注每个个体,以人为本的知识管理应用模式。
  记者:请您介绍一下从事知识管理领域研究与实践最大的感触是什么?
 
 夏敬华:
很多人说知识管理是知易行难,但从我个人的经验来看,应该是知难行易。个人从最早接触知识管理到现在已经差不多刚好十年,在这十年中随着自身的实践、管理
的感悟,对知识管理也始终会有不断的新鲜发现。而最后却又回到认知原点---知识管理是提升组织智商和发展加速度的有效手段,而知识管理要成功,需要企业
领导者的智慧和洞察力,需要好的企业文化氛围,更需要实践者的管理悟性和体系思维。
  列夫•托尔斯泰说幸福的家庭都是相似的,不幸的家庭各有各的不幸。我们也可以说,失败的企业各有各的原因,短期成功的企业也各有各的法宝,但基业常青的企业大都是相似的。有效知识管理而形成的学习创新能力,可能看不见摸不着,但也正如此,往往也就学不会带不走。

  

    夏敬华简介:
    夏敬华博士,南京理工大学工学博士,同济大学博士后。长期致力于企业管理和信息化
域的研究、咨询和培训工作,在知识管理方法论、IT规划和实施、流程管 理、企业战略绩效管理等方面有丰富知识和经验。其研究和实践经验,   
形成为数十篇理论性文章,在国家核心期刊发表;作为特约撰稿,有多篇专题文章在《21世纪经济报道》;同时,专著《知识管理》于2004年由机械工业出版
社出版。



CIO职场快速进阶三步走

Friday, January 02, 2009

CIO如何寻找合适的Oracle DBA

from http://tech.it168.com/a2008/1229/261/000000261524_1.shtml

  好的Oracle DBA该具备的两大要素

  纵然如上所说,好的Oracle DBA难找,不过,日子总是要过下去,企业总不能因此就不雇佣Oracle DBA?以下,我将就我的经验,与大伙分享“如何找寻适合的Oracle DBA”。

  怎么选择一个对的Oracle DBA

 
 就像我说的,一个有能力的Oracle DBA,其实已经离主管的位子不远了。所以,大部份的企业很难一下子就找到一个全方位的Oracle
DBA(当然也是有可能,只不过,这比较会有运气的成份),这代表企业在选择Oracle
DBA的时候,势必要对负责该职位的DBA的职能有所取舍。我通常会建议我的客户在寻找Oracle
DBA时,得先确认企业需要这个人来其处理什么问题?

  大部份的企业对Oracle DBA的需求,一开始多半是以维持数据库的正常运作以及协助数据库进行数据备份等工作为主,因此,我会建议找有大型主机系统管理经验(有存储管理经验者尤佳),或者了解操作系统
理与运作的人来做。因为,Oracle
数据库运作的不正常,经常是因为系统出状况,找具有系统管理经验的人员做DBA,在一定程度上应该已经能比“只”懂数据库的信息人员,还会比较快得找到问
题。此外,也比较能避免数据库出现宕机(一般而言,数据库在管理上最忌讳的就是宕机时间了)等状况。

  其次,有的企业在找Oracle
DBA的时候,希望找那种了解数据处理流程的人,以便大大翻整一下既有数据库内的数据,以及优化数据传递与分析(例如写一些store
Function、triger、建DB_link……)等工作。在这种状况下,若企业找的DBA是系统管理出身的人,在接手的初期他一定会吐血给你看。
至于在未来,有没有机会掌握甚至是“得心应手”,这就要看那个人的资质了。因此,关于这一方面的人选,我就比较建议找有程序开发经验的人(特别是对数据库
存取上有实际程序开发经验的人),他们除对数据与数据结构的本身有一定的敏感度,也比较熟悉客户的需求,知道该如何翻整数据库。

  要特别
注意的是,鱼与熊掌不可兼得,同时兼俱系统管理与程序开发等两种技术能力的人少之又少,因此,在进行DBA的招募前,建议企业先想好自己要的是哪一种人
才。不过,不论你找的是那一种Oracle
DBA,我都不太建议找一个只有OCP认证但无其它工作经验的人来做DBA。因为这意味着,企业要落实数据库管理的阵痛期可能会拉得很长,而且阵痛的过程
中DBA也很是辛苦。

  运气好的时候,就像今天故事的主角小白一样,在我们的扶持下,撑了一年半,已经可以称得上是称职的DBA。运气不好的时候,像我在教育培训中心的同学,他苦撑了一年后离去,至今他仍不敢跟别人说他有OCP的证照。

  最后,要另外一提的是“效能调校”。由于Oracle数据库的效能是可以被调整的。因此,也有不少企业在找Oracle DBA时,是以调校数据库效能为主要诉求。这样的想法是很好,只不过,“效能调校”所牵扯到的领域太过广泛。

  决定数据库效能高低的因素有很多,有时候是单纯的数据库参数没有调整好,有时候则牵扯到整个硬件架构,甚至是程序软件开发规划等问题。光是能做到单点调校的DBA即已十分难得,Oracle DBA若不是以很全面的角度在思考问题来进行调校,也很可能导致数据库系统出现其它面向的问题。

  发生在企业的真实状况是,一个应用服务能否顺利运维,与服务器
储存设备、网通设备等硬件,数据库、操作系统、应用系统(复杂点的还牵扯到中间件软件与开发组件,例如ODBC
)等范畴都有关。因此,一个DBA很难在第一时间就面面俱到地思考所有问题,必须慢慢地依经验抽丝剥茧地清楚问题的所在。所以,如果企业目前尚未有专任的
Oracle DBA,我会建议千万不要一开始就想找一个能做好“效能调校”等工作的Oracle
DBA(不过,还是可以去找到协助运维或数据整理的DBA),否则,可能会导致极心痛的失望。

  OCP的认证真的没有用吗?

  说到这里,相信很多人会想问:“那我选人的时候,还要看OCP这张认证吗?这张认证不就跟废物一样?”如果真的造成这样的误会,我一定会被这些教育培训中心及Oracle 原厂给杀了。这里要郑重的重新声明一下:“我本人也是教育培训中心教出来的……”。

 
 教育培训中心的训练课程有其重要性,尤其是数据库基本概念等。老实说,一个Oracle
DBA若没有先好好把OCP的五门课(8i是五门课,9i以后有两门合并,变成四门课)攻读过一遍,了解Oracle
数据库的架构与运作原理的DBA,我不觉得他有资格说他是一个DBA。

  没错,我刚刚确实提到造成数据库运维不顺的原因,有可能是操作系
统或系统开发等非数据库本身的问题所引发的。但是,愈了解数据库架构与运作原理(真得好好读懂这一些书)的人,才愈有可能厘清上述的“非数据库本身的因素
”来自何处,并进一步地针对数据库的特别来改善问题。而且,他们在管理数据库时,他们的做法也会比较多元化。

  以数据库备份为例,没有考
过OCP认证的DBA,他们熟悉的数据库备份方式可能就只有一种,而且还有可能是错的备份方式,例如:我之前听过最扯的备份方式就是在Oracle数据还
在运作的状态,直接用OS提供的Ccopy指令将数据库档案复制出来。相对的,考过OCP证照的DBA,他们在备份方式的选择上就比较多元,而且能根据不
同的情境采取不同的备份或备源方式,以确保灾难发生的时候可以无误恢复各种数据。

  因此,企业在进行Oracle DBA的招募时,DBA是否拥有OCP认证,仍旧是一件很需要被考虑的。但同样需要提醒的是,拥有OCP认证只代表这个DBA对于数据库的熟悉度,不代表他有能力发现问题与解决问题。

  我个人的想法是,拥有OCP认证,只代表该人员拥有“开始往后的DBA生涯”的权力,至于这个DBA 未来的成长幅度,则取决于他在系统面与程序面的学习能力。

  拥有10g或11g的OCP认证足够吗?

 
 过去在Oracle数据库 8i、9i的年代,只要考4、5门课(8i 五门、9i
四门)才可以拿到OCP认证,但自从10g以后,只要考两门就可以拿到OCP认证,这样的人是否够格呢?很多CIO都在问我这个问题。我想,并不能用考试
科目的多寡来决定人的素质。不过,说老实话,就目前得知教育培训内容来说,以授课时数来看,10g以后的OCP教育培训的总天数是10天,比8i、9i少
了一半的时间,言尽于此,大家应该心里都有底了。

  虽然10g以后的版本,数据库在管理与应用等操作上比 8i、9i
容易多了。但就数据库底层的技术架构概念以及运作模式而言,我个人觉得8i以及9i在教材的规划上比较扎实(相对地难懂);而10g以后的教材则比较浅显
易懂(不像以前我们读的8i“天书级”OCP教材),但也相对地无法太深入地着眼于底层的技术架构与运作等内容。当然,这也是一个福音,因为可以更容易的
跨入这一个领域。

  人员的本质最为关键

  我会选择一个什么样的人来做DBA?事实上,我并不会先看他(或她)有没有OCP认证。

 
 “诚信”反而是我第一个考虑的标准。因为数据库的数据不外乎企业或客户的重要数据,如果DBA的功力好,但他却“诚信不足”,那么,上述重要数据很容易
在他“有心”又有“能力”的情况下被利用。第二个评估点是他对系统面的了解程度,以及他解决问题的方法。一个肯学、好学的DBA,在面对问题时,比较不需
要我担心这担心那,我也不用忧烦他是不是有能力熟悉OCP课程等。

  所以,关于OCP执照,我觉得有是最好,如果没有的话,至少要找到对的人,再来要求、培训(考到OCP)。“对的人”远比拥有OCP证照重要多了,事实上,要“对的人”取得OCP认证一点也不难。