Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Using Streams and LOGMINER for auditing

271044Dec 4 2002 — edited Nov 22 2006
I would like to find out if the following is achievable. The theory and manuals suggest that it may be.

I have a 9.2 database running MIS services.
I have a production 8.1.7 database running OLTP.

We need to implement an audit trail.

It is possible for 9i LOGMINER to access 8i redo logs (with restrictions).

ORACLE Streams uses LOGMINER to access log files.

Is it possible to get 9i Streams to use it's LOGMINER to access the 8i redo log files and stream it into our MIS. The MIS environment can then be reported upon.

This is an ideal solution as the logs contain transactional data and it will not affect production performance as TRIGGER based solutions would. It also involves a great deal less application development and testing.

Any input into this would be greatly appreciated.

Comments

843842
The problem with a selectBooleanCheckbox is that it will ALWAYS return a value. Thus, if you set it to required, it doesn't matter if it's checked or unchecked, it has returned a value. It would incorrect to assume that setting the required flag to true would mean the checkbox must be checked. What if it's required to be unchecked?

Anyways, the bottom line is that you will have to create a custom validator to ensure that the checkbox is checked (or unchecked, depending on what your requirements might be). However, this is simpler than you might be thinking. Use the validator attribute and a method in your backing bean to perform the check.

Like this:
<h:selectBooleanCheckbox id="myRequiredCheckbox" 
		value="#{backBean.requiredBox}" validator="#{backBean.checked}" />
backBean will have something like the following validator method (this one throws an error if the box isn't checked):
	public void checked(FacesContext context, UIComponent component, 
		Object value) throws ValidatorException {
		
		if (context == null || component == null || value == null) 
			throw new NullPointerException();
		
		Boolean isChecked = (Boolean)value;
		
		if (!isChecked .booleanValue()) {
			FacesMessage msg = new FacesMessage("You must check the box before proceeding.");
			msg.setSeverity(FacesMessage.SEVERITY_ERROR);
			throw new ValidatorException(msg);
		}
		
	}
See, pretty easy eh?


CowKing
843842
Thanks for the help CowKing!
1 - 2
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Dec 20 2006
Added on Dec 4 2002
10 comments
3,267 views