All 12 entries tagged Training

View all 80 entries tagged Training on Warwick Blogs | View entries tagged Training at Technorati | View all 2 images tagged Training

November 25, 2006

Using Java to monitor database

Writing about web page /java/entry/share_knowledge_with/

Writing about an entry you don't have permission to view

The Java Database Connectivity (JDBC) API is the industry standard for database-independent connectivity between the Java programming language and a wide range of databases

It provides a powerful interface for managing database.

Monitor multiple database

One main advantage is that you can use a single application to monitor multiple databases.
If you are managing several dozens of databases, you do not want to put your monitoring application one every server.
What we do is to use a single application, connect to different servers in a loop, check the status of database. If something goes wrong, it will send a text message to DBA. It can show very useful message like “network connection”, “db not available”, “maximum connection exceeded”.

Monitoring multiple services

You can use one or more applications to monitor multiple services. We combined our Java application witha free tools called Nagios to monitor our services. The Java application will send output to Nagios, who will display the information in a big screen. If some services are down, it will show red line.
We depended on email to check the standby status before moving to Nagios. One problem of email is that sometimes the sendmail on the Unix server might not running and failed to notify us the urgent information. With Nagios, if something goes wrong, everyone can see it on the screen

  • we can monitor the status of logical standby apply
    The logical standby often stopped due to inconsistent state between primary and standby. DBA need to manually intervene at early stage.
  • Monitor the availability of database
  • Monitor the audit information. If unauthorized users try to connect to our server from untrusted host, we will know in a short while.

November 17, 2006

UKOUG 2006 Day 4

Oracle Database Vault

As a DBA, I dread that developers issue “unwanted” SQL table deletion or dropping. I also do not want to see some sensitive data within the database.

If a developer connect as schema owner, he can always drop table or delete rows. We usually use an app server which will store the password in plain text and use it to connect to database. So a developer can always find the password for a product server.

A nightmare, a deep worry in my heart.

At UKOUG conference today, I saw a demo of Oracle vault. It solves the problem elegantly.
there is a new user, security manager, he can define a set of security roles. (he cannot see the data). The rules can prevent DBA or user from dropping/deleting/altering a table, even a table belongs to his own schema.

Suddenly DBA is no longer a dictator with absolute powerful. He has a security manager, a parliament to limit his power. This is good.
Absolute power can lead to absolute destruction

Gata guard at play

a two-hour session from Carel-Jan Engel, dba!ert. Not good. he mentioned his customers convert logical standby db to physical standby db because logical standby is difficult to maintain. Logical standby will has at least 20% extra redo.
Larry Carpenter from Oracle confirmed this, but assert logical standby is pretty mature in 10g R2.

I have reasons to use logical standby:
  • Use logical standby as a test server.
  • Can do rolling upgrade.
  • Can be used as report, though we never do so.
Some tips:
  • When he upgrade physical standby, he create a separate Oracle home on both hot standby servers.
  • he prefer use the same database name everywhere. hmm, worth thinking…

10GR2: Performance Diagnosis Update

ashrpt.sql (ASH report), awrddrpt.sql(report on differences between snapshots), awrsqrpt.sql(Workload Repository SQL Report) to display session history
v$sql is update every 5 seconds even a SQL is currently running.

Odds and Ends
Connor MacDonald is an excellent speaker.

alter session set tracefile_identifier = <name>

will generate a new trace file whose name containing

flashback standby database to before resetlogs

Metalink (ML) note: 187242.1

English study

work solidly   fiddle around
Lighting never strikes twice on the same spot - I wont take a bet on this

November 16, 2006

UKOUG 2006 Day 2–3

There are several benefits to attend a conference: communicate with experts and peers,gain useful knowledge and spare time to reflection.

I should use grid control

I have a misconception that grid control is only applied to Oracle instances within a RAC. This is totally wrong. Oracle people boast that a grid control can monitor and manage several hundreds of irrelevant databases.

Data guard can do major rolling upgrade

I know data guard can support minor upgrade. I asked an expert from Oracle and apparently you can now do rolling upgrade from 10gR1 to 10gR2,or even from 10g to 11g. The minimum version is to 11g.

Practical database monitoring

This presentation is the best one so far. The presenter gave a clear explanation about a real-life performance tuning. He even invited audience do a test to verify their understanding.

What knowledge you expect from a developer

I attended one session “Oracle Optimization and Troubleshooting for developers”. The presenter talked about some oracle technologies such as SQL Trace, wait events. I felt the content might too deep for a developer, (might OK for PL/SQL developers, not for Java or C++).
One of the big selling point of Java, EJB, Hibernate, etc, is about database independent. Will developers is willing to invest time to lean deeper about a specific database?
I then ask myself what a good developer should know about Oracle:
  • Knowing creating index and avoid Full Table Scan
  • Knowledge about lock table or rows
  • can do explain plan use Toad or SQL developer.

November 14, 2006

UKOUG 2006 Day 1

I was a bit late for Tom Kyte’s keynote. He talked about some new features of Oracle 11g, which will go product round Christmas 2007. Features interested me are
  • interval partition (e.g, interval by month). DBA does not need to manually create partitions any more.( I just spend half day to create new partitions on my several databases last week)
  • gather statistics by columns.

Oracle’s Maximum Availability Architecture

Larry Carpenter, Senior principle product manager of Oracle, talked about Oracle standby databases. He focused on physical standby.
  • Tune redo transfer. Redo transfer can be 100 times more efficient by simply spcify several parameters (SDU = 32K, ....)

Effective Oracle monitoring system

Jurijs Velikanovs made a very good presentation about monitoring Oracle. He suggests:
  • Use Nagios to monitor server availability. My group is actually using it now.
  • Use Cacti to monitor Oracle server performance. It can generated a history graph to display various information, e.g, oracle locks, session memory. This is the kind of tools I have been looking for a while.
    I take a quick look at cacti this evening and it use Apache/PHP/MySQL (Not good, I am a Apache/Java/Oracle person). We use Ganglia to monitor unix system. Both Cactic and Ganglia use RRDtool for data storage and visualization. Not sure whether I can use Ganglia to achieve same effect as produced by Cactic.

Accountability for system performance

Six sigma : 99.9997%
He also mentioned DBAs are taughted to ignore waits like “SQL*NET message from client” wait. But did not give reason why not. Hope can have a chat with him.

  • I have attend conference for four years in a row. Every year I feel my English hearing is improving. Today I understood most part of the presentations.
    I also make mental note about the style of the presentation.
  • I was later to go back nursery to pick up Selina. Usually they charge £5 for each 10 minutes. I drove carefully but swiftly. Time is money now.

November 09, 2006

Coach for Diversity between LSE and Warwick University

Today I had the last episode of my Coach for Diversity training sessions.
I wont detail the agenda . I think the most important thing is what I got from one day’s workshop. There is maybe a lot of things worth putting down, but in one years time, maybe only thing I can remember and that the every one thing will benefit me.

Different facilitator

This was the first change and it made huge difference. Not only it changed the course style from previous three sessions, but also he make me feel the course more attractive. The facilitator (Neil) was a lovely person, radiating with enthusiasm. He smiled the whole day and gave warm feedbacks to everyone. He also sat with us during dinner. He definitely outperformed some of the previous facilitators. It always good to have fresh style as well. Smart change from the organizer!

Excellent observer

We seperated into 6 trio groups. One lady from LSE and I coached each other for 15 minutes and there was one person (Gill) observe the coach process. She is experienced and gave me very accurate feedback. I initially feel the issue brought up by my coachee was too broader and struggled to narrow it down.
The feedbacks given by Gill and my coachee were:
  • I should ask expanding questions instead of close questions. Close question are those whose answer is yes or no
  • I was using GROW model and too busy too go through this cycle in my mind and cannot listen closely. Consequently I cannot ask appropriate questions. Relax!
  • Be sensitive about what’s going one under that surface. So instance if one tell you he is struggle with his new job and mentioned maybe he is perfectionist, you can grasp this and ask more about his perfection issue. (maybe the most useful tips today)


As a coach, you need know what’s your and your coachee’s personalit. You need to be flexible and willing to bend while know your boundary.

The facilitator 4 different criteria as follows:
Charismatic …............../...............................Quietly compelling
Individuality…............./................................Collective Identity

for every criteria, he asked people to stand at different ends, then he asked people questions at each end about why they think so.

It was interesting that people at different end kind of have a bit fighting over each and it is fascinating to notice that people at each end can be very confident.

Practise hearing
Neil asked one person talk without stop for 2 minutes, another person listens without interruption. Then listener repeats what he heard. The pair talk and listen in turn.
They have different kind of topics.
One topic is objective without emotion. Another topic is about one important person to you. Quite emotion.
Neil explained that topic with emotion can make listener easy to remember.

I found this listening practice is quite useful.

Further improvement
  • Warwick certificate mentor
  • Warwick coach scheme

July 15, 2006

Coach for diversity

2 out of 5 stars

I recently participated a pilot project "Coach for diversity" organized by Warwick and LSE.

This book is the one I must read before next stage started. It is the first time after graduation I will be forced to read a book.

June 27, 2006

Coaching for Diversity

Good point

  • Use same language as the couchee
  • be calm, few body language

January 13, 2006

Spring AOP

Follow-up to Spring Training from Oracle/Java/Others


Aspect and Advisor are interchangeable
Pointcut is refinement of join point

Aspect, Join point, Poincut advice are generic and appl to .net as well.
Advisor is specific to Spring


it is just a wrapped target.
It need to associate with Advice/Interceptor and let Advice/Interceptor to let the job

Dynamic proxy:
Every method(defined in the interface) invocation wil go through proxy first

invocation.proceed() = chain.doFilter()

1.explicit creation of AOP proxies:

using a ProxyFactoryBean or similar factory bean

ProxyFactoryBean has properties: P24

1) proxyInterfaces: the interface to proxy

2) target: the target object to be proxyed, which should implemnts interface

3) interceptorNames: the name of advice;they are ORDERED!

2. use "autoproxy" bean definitions

can automatically proxy selected bean definitions:

Two ways to do this:

1) Using an autoproxy creator that refers to specific beans in the current context

BeanNameAutoProxyCreator: beanNames && interceptorNames (be aware of maintenance cost)


2) Autoproxy creation driven by source-level metadata attributes

(This is a special case of autoproxy creation that deserves to be considered separately)

Around advice: MethodInterceptor
Before advice: MethodBeforeAdvice
After advice: AfterReturningAdvice


Pointcut will select some method to apply advice



PointCut and Advice: P57

General: DefaultPointcutAdvisor has properties: pointcut & advice
NameMatchMethodPointcutAdvisor has properties: mappedNames(do not need to configure pointcut separately) & advice

Dynamic pointcuts incures significant performance penalty


Monosodium glutamate
c# c sha

January 11, 2006

Spring Training

Note how the TransactionProxyFactoryBean above is named gameRenter. This is because it will produce a transactional GameRenter implementation and that is what we want to expose to client code (not the raw business object.)

It is using FactoryBean.
The tutor emphasized that FactoryBean will return its producer.

It is very useful for unit test. It will help to re-instate the status of test database

To implements declarative transaction, you can use AOP or AspectJ or something else.

For AOP, the logic flow is as follows:

Advisor -> Interceptor ->TransactionManager & transactionAttributeSource
TransactionAttributeSource -> MatchAlwaysTranstionAttributeSource | metadata.commons.CommonsAttributes

May 06, 2005

Stress Management Training Course Note

Communication: if > howerver > but

Do not subscribe to long work patten

Search this blog

Search Warwick Blogs



Most recent comments

  • Oracle 11g is the clear leader in this area. Oracle has invested heavily into self–tuning capabiliti… by shaane on this entry
  • All the features are very nice.I like Repair Advisors the most.Oracle 10G introduced some of the dat… by lucy on this entry
  • "logical standby failed to re–start, I am also getting the same error. I have search on internet and… by anemia on this entry
  • Thanks for the nice information because from last three days i am stuck on this problem…. by robot vacuum on this entry
  • So what happen City speed dating when you tried this coding once in your PC.. Please tell me so i am… by John Bergeron on this entry
RSS2.0 Atom
Not signed in
Sign in

Powered by BlogBuilder