Archive for the ‘database’ Category

EnterpriseDB Information

What does EnterpriseDB mean when they say they are “compatible” with Oracle?

Read, EnterpriseDB FAQ – What does compatibility mean?

In this blog entry, you will get a list of what parts are compatible between EnterpriseDB and Oracle, what is not compatible and what versions of Oracle are compatible with EnterpriseDB.

You can also answer some questions:


Where do you fit? Do you think the company you work for is a good candidate for EnterpriseDB? Have you downloaded it to try it out?

If you are a consultant, will you add EnterpriseDB to your arsenal?

I’m really interested in what people think about this.

Click to continue reading “EnterpriseDB Information”

Read the rest of this entry »

Oracle Objects, Types and Collections: Part 3

In Part 1 of this series, we talked about how Oracle objects compare to Java and how to create Oracle Objects. In Part 2, I covered we covered object comparison and type inheritance. Today, we’ll talk about polymorphism and type evolution.

Like parts 1 and 2, this will be a technical discussion.

Polymorphism

First a definition. What is Polymorphism and why is it important? One of the best definitions I have found is this link at OnJava. You can skip the part about object serialization. Not really that important to Oracle’s OO as you’re already in the database.

Let’s go back to our (most basic) calculator example.

CREATE OR REPLACE TYPE Calculator AS OBJECT (
  value NUMBER,
  MEMBER PROCEDURE print,
  MEMBER PROCEDURE add1( p_amt IN NUMBER ),
  MEMBER PROCEDURE subtract( p_amt IN NUMBER )
  )
  NOT FINAL;
/

CREATE OR REPLACE TYPE BODY Calculator AS
  MEMBER PROCEDURE print IS
  BEGIN
    DBMS_OUTPUT.PUT_LINE( TO_CHAR( value ) );
  END;

  MEMBER PROCEDURE add1( p_amt IN NUMBER )  IS
  BEGIN
    value := value + p_amt;
  END;

  MEMBER PROCEDURE subtract( p_amt IN NUMBER )  IS
  BEGIN
    value := value - p_amt;
  END;

END;
/

And our Advanced Calculator:

CREATE OR REPLACE TYPE AdvancedCalculator UNDER Calculator (
  pi FLOAT,
  CONSTRUCTOR FUNCTION AdvancedCalculator
     RETURN SELF AS RESULT ,
  MEMBER PROCEDURE multiply( p_amt IN NUMBER ),
  MEMBER PROCEDURE divide( p_amt IN NUMBER ),
  OVERRIDING MEMBER PROCEDURE print
   )
NOT FINAL;
/

This isn’t exactly the same AdvancedCalculator.

Click to continue reading “Oracle Objects, Types and Collections: Part 3″

Read the rest of this entry »

Oracle Objects, Types and Collections: Part 2

This is a continuation of Object Orientation in Oracle. I guess I should have called it the Sorcerer of OOO. This is a technical entry.

Anyway, in part 1 I covered the basics of creating an Oracle object type and showing how it compared to a Java class. Today I’m going to cover the concepts of comparing objects and Inheritance. In part 3, I will cover type evolution and Polymorphism and in part 4 I will cover Object Views and Object Tables.

Comparing Objects

Many times, you will be working with multiple instances of the same object.

Click to continue reading “Oracle Objects, Types and Collections: Part 2″

Read the rest of this entry »

Oracle Objects, Types and Collections: Part 1

I could have called this OO In Oracle: A Techie’s View. But the Sorcerer of OO is a much cooler title. ;-) You have to pronounce OO as ooh! as in Ooh and Aah!

What is OO? OO stands for Object Oriented. OOD is OO Design, OOA is OO Analysis and OOP is Object Oriented Programming. Oracle is an ORDBMS, an Object Relational Database Management System. In this article, I am going to present a sample java class and show how you would implement the same class in Oracle. This is a technical article comparing Oracle objects with Java.

Click to continue reading “Oracle Objects, Types and Collections: Part 1″

Read the rest of this entry »

Oracle Security: A Definition in Plain English, Part 4

This is part 4 of a 3 part series. Heh I guess this qualifies as a little lagniappe on security and audit. I could have called this Oracle Audit but I already spoke about audit in Part 3. I just decided to continue on in the series.

This is a brief, technical discussion about the implementation of audit in Oracle 10g. I’ll quickly show how to turn on standard audit and how to see some of the audit taking place. I’ll follow that with an implementation of FGA and finally a trigger based audit.

One aspect of auditing is to audit your administrators.

Click to continue reading “Oracle Security: A Definition in Plain English, Part 4″

Read the rest of this entry »

Oracle Security: A Definition in Plain English, Part 3

Regardless of any regulations you are required to meet you can implement a security and audit scheme that will cover you for most, if not all, eventualities. Having good security and auditability should be desirable regardless of regulations. It protects your business.

In parts 1 and 2, I covered the security side of it. So what do I mean by Audit? Well, auditing is knowing what’s going on in your environment. Future research requirements, accountability, error correction, etc are all covered by audit.

So how does Oracle implement audit? There are several ways you can do it: Standard Audit, Fine Grained Audit and Trigger Based Audit.

Click to continue reading “Oracle Security: A Definition in Plain English, Part 3″

Read the rest of this entry »

TOTD, What is a DBA?

Warning: Personal Soapbox Approaching.

I was reading a newsgroup discussion and the topic of DBAs and their usefulness/trivialization came up (yet again). This topic seems to show up at one time or another on every Oracle discussion board.

Whether I agree or not with any of the things said in the discussion doesn’t really matter. It got me thinking about the topic and I have a different perspective to the question. My personal soapbox on this issue is the definition of DBA. Are DBAs being trivialized in the enterprise?

Click to continue reading “TOTD, What is a DBA?”

Read the rest of this entry »

Oracle Security: A Definition in Plain English, Part 2

This is the second entry of a three part series. In part one of this series, I defined what security is and what the different aspects of security in Oracle entailed. In this entry, I am going to show the technical details of implementing security in Oracle. I will create a user, give that user access and then give an example implementation of row and column level security. In part three, I will add auditing to this mix and describe some security best practices, both to protect your data and to meet regulatory requirements.

I’m going into this level of detail because I think some people are not familiar with it and it seems mysterious.

Click to continue reading “Oracle Security: A Definition in Plain English, Part 2″

Read the rest of this entry »

Oracle 10g+ Security and Audit – Part 1

This is a three-part definition of Oracle Security (specifically in 10g but applies to later versions also). Part 1 covers the various types of security Oracle provides. Part 2 deals with Users/Schemas, Roles, Permissions and Data Access. Part 2 will be a more technical discussion than parts 1 or 3. In part 3, I will discuss implementing an Oracle auditing scheme and how to ensure you comply with security and audit regulations.

What exactly do I mean by security? There are several aspects of security in an enterprise work place: locked doors, guards, cameras, etc. There are just as many aspects when protecting enterprise data.

Click to continue reading “Oracle 10g+ Security and Audit – Part 1″

Read the rest of this entry »

My Personal Dictionary


Mother’s Dictionary

APPLE: Nutritious lunchtime dessert which children will trade for cupcakes.

BABY: 1. Dad, when he gets a cold. 2. Mom’s youngest child, even if he’s 42.

BATHROOM: a room used by the entire family, believed by all except Mom to be self-cleaning.

DUST RAGS: See “DAD’S UNDERWEAR.”

EAR: A place where kids store dirt.

EYE: The highly susceptible optic nerve which, according to Mom, can be “put out” by anything from a suction-arrow to a carelessly handled butter knife.

HANDI-WIPES: Pants, shirt-sleeves, drapes, etc.

HEARSAY: What toddlers do when anyone mutters a dirty word.

See Mother’s Dictionary for more definitions.

Click to continue reading “My Personal Dictionary”

Read the rest of this entry »