An Expert's Guide To Oracle
This is page 2 of the discussion. Read the opening post
After Hours
This is page 2 of the discussion. Read the opening post
by lewisc1
Today we'll start designing and coding our package. We need to remember to start simply and build it up as we go along. The design itself can be grown as issues arise. On a project involving multiple platforms and tens...
by lewisc1
I know I'm tooting my own horn, but my article, Oracle Database 10g Express Edition: Not Just for Learners is now on the main OTN homepage. In my previous entry about the article, I said "How cool is that!" This...
by lewisc1
Inquiring minds want to know: Is BPEL pronounced Bepell (like spell
but with a BE), Beople (like people with a B) or Bipple (like nipple
with a B)? The answer is below.
Yesterday I had the opportunity to attend the Oracle Architect Forum
in Tampa, FL. The forum was hosted by Oracle at the beautiful Hyatt
near the Tampa Airport. I'd guess there were about 50 people in
attendance.
Here's some info from the invite:
To view the rest of this article, Navigate to BEPELL, BEOPLE or BIPPLE? The Oracle Architect Forum
Thanks,
LewisC
by lewisc1
I just ran across this post from EWeek, Oracle Locks DBAs in the Vault.
A quick read of it shows that it's a security add on to restrict DBA
access to privacy data. A solution for audit requirements for things
like Sarb-Ox and HIPAA.
A look at the Oracle Database Vault page on OTN, adds some more context:
What is Oracle Database Vault?
You can read the rest of this blog entry at Oracle Data Vault.
by lewisc1
by lewisc1
by lewisc1
Recently, Sudhat read my Introduction
to Basic SQL and had this to say:
The article is very interesting. Too Good!
And also please describe what is the difference between SQL and Oracle and PL/SQL.
Sudhat, thanks for the comments. I
love to hear feedback.
And your question is a common one so I
thought I would address it as a blog entry instead of a reply to your
comment. I'm going to expand on it a little bit also. In addition
to SQL and PL/SQL, I hear people refer to SQL commands so I am going
to address the question, "What is the difference between SQL,
SQL Commands and PL/SQL."
Read the rest of this article.
Thanks,
LewisC
by lewisc1
Non-oracle post here.
How would you like to drive 370 miles to work. That's TO work. You would then turn around and drive back home in the evening. 740 miles per day. 7 hours a day in traffic. And the guy who has to do it says: "To me, this is not that long a commute," he added. "It's just something I do to go to work."
by lewisc1
Inquiring minds want to know: Is BPEL pronounced Bepell (like spell but with a BE), Beople (like people with a B) or Bipple (like nipple with a B)? The answer is below.
Yesterday I had the opportunity to attend the Oracle Architect Forum in Tampa, FL. The forum was hosted by Oracle at the beautiful Hyatt near the Tampa Airport. I'd guess there were about 50 people in attendance.
by lewisc1
It's with sadness that I have to announce that I will not be able to attend or present at ODTUG this year. It's something I have been planning since last year (when they asked for abstracts). It's something I still hope to do in the future and hopefully my inability to attend this year won't be held against me in the future.
by lewisc1
I had an invite from Oracle to attend a luncheon with the Tampa Bay Technology Forum (TBTF) to listen to Russell Romanella, the Director of the Space Station Processing Directorate at Kennedy Space Center, speak about NASA, the space shuttle program and going to Mars.
by lewisc1
Hi all,
I have a couple of issues in my new job. I'd like to hear from some of you and get your thoughts and ideas. Specifically, the questions are about database change control and SOA using .Net.
by lewisc1
I stumbled across a beta site for Yahoo Answers. Apparently it's a site where you can ask a question and really smart people will answer you. From the blurb on the about page:
What is Yahoo! Answers?
Yahoo! Answers is a place where people ask each other questions on any topic, and get answers by sharing facts, opinions, and personal experiences.
Ok. So I decided to ask about Oracle. More specifically, I did a search on the keyword Oracle to see what others hav
by lewisc1
The last couple of weeks have been really head's down for me. I'm learning a new application, a new database (including a data warehouse) and learning how .Net can integrate with Oracle as a robust architecture for application development.
Anyway, a common need for Java and .Net is the need to page through result sets. Paging in .Net is particularly important when running on 32 bit windows. The executable that runs the server can only address 2GB of memory. If you have 1
by lewisc1
A couple of days ago I wrote about paging through data using a REF CURSOR and dynamic SQL. Today I'm going to expand on that. Instead of using a REF CURSOR, it would be nice to pull back an XML document with just the subset of records the REF CURSOR would normally provide.
by lewisc1
Last week I wrote about how to dynamically get paged results using either a ref cursor or an XML document. Rakesh wrote and asked to see an example of a call using Java. So that's what I wrote.
by lewisc1
The Suncoast Oracle User Group (SOUG) First Annual Tech Day is over. I had presentations on XML in Oracle and SQL Analytics in 10g. It was a great day and I think most people felt it was a truly worthwhile day. Attendance was good at about 175 people. It was a free day so I'm not sure why more people didn't show up.
by lewisc1
According to Tom Taulli at The Motley Fool, Oracle leads the database pack at almost 50% of the market. IBM is at 22% and Microsoft is at 15%. This is according to IDC and Gartner. I haven't seen the actual report yet.
And while Open Source is growing, I think it will still be a while before it catches Oracle. Of course as an investing oriented site, they need to mention the "storm clouds on the horizon." But, the sky isn't fall
by lewisc1
Hi all,
I'm thinking about getting back on a regular schedule for podcasting. I just recently did one (which will be published soon) and have been doing some thinking.
From previous podcasts, one of the comments I got was that I should add a co-host and get some outside participation. So that's what I'm doing. I'm looking for people to participate in a monthly Oracle Buzz podcast.
I'm looking for three different kinds of participants.
OP/ED
Do you have a rant? Do you absolute
by lewisc1
How, you might ask, can someone hate something with the name "Lovebug"? Oh, let me count the ways.
First off, I'm pretty sure the latin name for these things are "insectus paininthebutticus". These bugs are a type of fly. At this time of the year they get the, ummm, urge to procreate. Two of them, I assume male and female, attach themselves to each other by the, uhhhh, I'll leave the exact parts un-named. They fly around, attached to each other, mindlessly smashing into stuff. They are li
by lewisc1
In my last article, I introduced you to some basic SQL commands and some new concepts, mainly the data dictionary. Today we will get a little further into basic SQL by joining two tables in a single select statement.
In the last article, I glossed over the difference between a view and a table, so I would like to clarify that here. A table is the basic storage for your data in the database. A table is made up of rows and columns. A view is a stored query that appears to be a table. For example:
Create view abc as select * from all_tables;
by lewisc1
In my previous article, I covered SQL Joins with two tables. Today, I will cover joining tables with three or more tables and using sub-queries to join. I'll also throw in some details about the UNION clause and show other places a sub-query might be used.
by lewisc1
This is an article from ZDNet Asia, Open source shapes up as rival to Oracle. It's a good read and kind of relates to my entry, Oracle is the database top dog.
It's a good read. Based on technology though, I still can't understand why reporters and the rest of the media keep insisting that MySQL is a competitor
by lewisc1
Ijust read an article on Business Week Online, A VC's View of Web 2.0. The sub heading is: "The day of giant corporate software packages is over, says Oracle vet Ray Lane. The future lies in bottom-up, user-driven services." Ray is an ex-president and ex-COO of Oracle.
I didn't realize he had gone to work for a VC firm. He has some good thoughts on Web 2.
by lewisc1
Have you ever heard of Moon Day? Read an editorial by Sheila Williams from Asimov's, Moon Day. If you're not a fan of science fiction (is that possible?), don't worry, this is an editorial not a science fiction story.
I'd like to believe that it's science fiction that it has been 33 years since anyone walked on the moon. Sadly, that's a fact.
I remember watching a moon landing (I don't know which) on a giant console TV when
by lewisc1
The Oracle Buzz is back! This time it's coming to you from ITtoolbox.com as a Premium Blogcast sponsored by Oracle Corporation.
The Oracle Buzz is my take on the news, trends and topics that have the bloggers blogging in the world of databases. I concentrate mainly on the Oracle world but I'll also cover other topics that interest me.
In this episode I concentrate on Very Large Databases
by lewisc1
A reader recently asked:
Hi,
We are using Oracle eBS and 9i (XML DB not installed), and need to generate XSDs from the client site using SQLPlus. DTDs are currently generated from the client: the SQLPlus script calls a database package that creates a bunch of DTDs from a table that describes all parameters/tags of the XML in a manager-to-employee-nested way. Now, instead of changing the source (1 gazillion lines of code..) to a produce XSD syntax, I guess t
by lewisc1
EWeek reports DB2 Crack Let's in Attackers Without Database Credentials. This is a vulnerability that let's anyone with network access to the database (i.e. any remote user) bring it down or run database code.
by lewisc1
TMCNet has a really good article, Oracle: The biggest Linux vendor you've never heard of. I knew Oracle invested heavily in open source but I didn't realize to what extent. I certainly didn't realize what they've contributed to the Linux kernel. It makes sense.
From the article:
by lewisc1
TMCNet has a really good article, Oracle: The biggest Linux vendor you've never heard of. I knew Oracle invested heavily in open source but I didn't realize to what extent. I certainly didn't realize what they've contributed to the Linux kernel. It makes sense.
From the article:
by lewisc1
I was really expecting to see more blog entries about this. Since no one has posted about it, I thought I would.
Bill Gates has decide to leave MS. He's going to stay on a part-time basis and will stay on the board but will no longer be the Chief Architect.
by lewisc1
Justin Kestelyn, Oracle Technology Network Editor-In-Chief, just posted a blog entry, Preliminary Financial Results Out.
New License Revenues Increased 32%. That exceeds previous guidance.
He has a link to the numbers. Check out his entry.
LewisC
by lewisc1
TMCNet has a really good article, Oracle: The biggest Linux vendor you've never heard of. I knew Oracle invested heavily in open source but I didn't realize to what extent. I certainly didn't realize what they've contributed to the Linux kernel. It makes sense.
From the article:
by lewisc1
TMCNet has a really good article, Oracle: The biggest Linux vendor you've never heard of. I knew Oracle invested heavily in open source but I didn't realize to what extent. I certainly didn't realize what they've contributed to the Linux kernel. It makes sense.
From the article:
by lewisc1
I'm rich and famous! Well, maybe just famous. Not really famous maybe, but I am in the July/August Oracle Magazine. The electronic version isn't out yet but I got my hard copy today. When they post the July issue online, I'll add a link.
I have a profile in the peer section. The picture is from my trip to Belize this past March. I was in the jungle on the way to a cave excursion.
You can
by lewisc1
So says a recent article at ddj.com. In the article, H-1B Drags Down All Salaries author David Roman describes the way US Department of Labor calculates and tracks wages.
by lewisc1
TMCNet has a really good article, Oracle: The biggest Linux vendor you've never heard of. I knew Oracle invested heavily in open source but I didn't realize to what extent. I certainly didn't realize what they've contributed to the Linux kernel. It makes sense.
From the article:
by lewisc1
The CEO of ITtoolbox.com is interviewed by JDJ.
A couple of lines from the interview:
I came up with the idea for ITtoolbox while working on my first job out of college at Ernst & Young as a software consultant.
I hate him.
I think someone looking to get into the online community space would be wise to focus on creating value for people. There is a great deal of innovation going on with personal publishing and collaboration tools. However, I believe
by lewisc1
I'm going to be presenting on Oracle XE tomorrow, June 22, at the Suncoast Oracle User Group (SOUG). You can get info at the SOUG meeting page.
I will be doing the same presentation I made for the ODTUG Desktop Conference earlier in the year. Because I have more than an hour, I am going to have a lot more hands on demo'ing. I'll also put ApEx and SQL Dev
by lewisc1
This effort is an example of how I decompose a problem and some fun SQL tricks. Not tricks, I guess but maybe a creative use of SQL.
A couple of days ago, a question was posted on one of the itToolbox.com email groups:
From: Brat
Subject: [oracle-sql-l] COnverting one field into multiple rows
Message:
How do I parse this one field in a table into multiple rows:
Field 1
1,2,3,4,56
by lewisc1
A few days ago I answered a question from brat about converting 1 field into multiple rows. We solved that question but now we want to handle multiple rows in our source table.
Just a note of warning. This article will really make a lot more sense if you follow along in SQL*Plus, TOAD or some other tool and if you run through the other article first.
by lewisc1
I wrote recently that I would be presenting to the Suncoast Oracle User Group.
I did that last Thursday. Oh what a day it was.
It started off as a very long day. I went into work early so I got up about 1 ? hours earlier than I normally do. I worked a full day and then drove for an hour from Bradenton, through St Pete and into Tampa where the
by lewisc1
Here's a news story that completely slipped by me. Oracle has released a couple of new tools for content management, Oracle Content Database and Oracle Records.
This is an interesting article from ZDNet but doesn't give a lot of info. I'll have to do a little bit more research into them. Just from this article, I'm thinking they are based on iFS?
It sounds like they already have some customers for them.
by lewisc1
On Tuesday, July 4th 2006, the United States of America celebrates its independence. Over 200 years ago, a new nation was born. It created itself out of colonialism and made its own destiny on the world stage.
Whether you look to the US as a model to copy or as something less desirable, it's impossible to deny the world changed when it was born. And whether you agree with the current government or its policies, the world was made a better place because of its birth. The US and the democrati
by lewisc1
The Telegraph.co.uk just released an interview with Larry Ellison, A winning strategy based on innovation.
It's a good interview and shows some of his thinking with all of the recent acquisitions.
I've heard plenty of Oracle competitors say things like "Oracle has bitten off more than they can chew" or that "Oracle can't integrate everything they've bo
by lewisc1
I was researching something for a different article and ran across this old article from vnunet.com, Oracle: what you need to know.
I like the occasional (voluntary) flashback. This one (Feb 1999) has a neat timeline of Oracle high-lights. I love reading these old articles. I like old advertisements too.
Sometimes it's good to be reminded that it was not that long ago that we were running DOS 3.3 on a 286.
A f
by lewisc1
INSERT INTO X ( FIELD1 ) VALUES ( 'row1,1,2'); INSERT INTO X ( FIELD1 ) VALUES ( 'row2,2,3'); INSERT INTO X ( FIELD1 ) VALUES ( 'row3,4,5,6');This post originally appeared on an external website
by lewisc1
I'm going to be expanding my
entries on learning Oracle to include PL/SQL. I've already written a
few entries about basic SQL. Today I start writing about basic PL/SQL.
I'm going to keep these entries bite-sized and never more than 2 or 3
topics per entry. Today is a discussion of the structure of PL/SQL code
and how to comment your code.What is PL/SQL?
by lewisc1
I've written quite a few
tutorial type entries in the last year and a half. You can find them if
you search but I thought it would be easier to post an index of links
that I can keep updated. This post is also a good place to
request particular topics. Post a comment describing what you're
looking for and I'll add it to the queue of articles I plan to write.In
the index below are links to the tutorial type posts that I have done
and a road map of articles I plan to write. I'll be updating the road
map over time also. I plan to write on topics other than those outlined
here. The road map only covers those articles I think of as tutorial
oriented.
by lewisc1
Hi. My name is LewisC and I'm an Oracle ACE. How cool is that! I like the sound of it.
Andrew Clarke recently posted On Becoming an Oracle ACE.
The way I ended up an ACE was a little bit different than his. I did a
little bit of all the things he mentions except write a book (and hey,
maybe that's in the future).
I also did not realize that APC
and Andrew Clarke were the same person. I've seen APC in the forums a
lot. APC has 5,743 posts since 2003. Amazing. I won't mention how many
I have. It's not even statistically significant next to that.
I
like his article and particularly agree with one comment he makes: If
the activity is not meaningful to you irrespective of ACE-hood then you
probably won't make the grade anyway.
I'm not saying that if
you want to be an ACE you shouldn't set out to be an ACE. A lot of
newbies might accidentally be helped along the way. But if you really
don't enjoy answering questions and helping people out (at least when
it comes to Oracle), you probably won't last long enough to become an
ACE.
And when I mention answering questions, I don't mean, "Dude, RTFM!". That's not an answer.
by lewisc1
I have a new article on OTN. Making the Most of SQL Developer Reports.
The article walks through creating both very simple and somewhat complex reports. It also covers adding bind variables, customizing the bind dialog and creating drill down reports.
SQL Developer has a lot of report development functionality and I think it will just get better over time. Setup is really minimal (just need to unzip and connect to a database) and if you can write basic SQL you can write basic reports. The more complex SQL you can write, the more complex your reports can get.
There are a lot of users that should never get near a tool like SQL Developer (more for their sanity than anything else) but it's a great new tool (free at that) for power users and analysts in addition to developers and DBAs.
I also like my mini-bio at the bottom. It's the first article I've had published that mentions my ACE-hood. heh
by lewisc1
This is part 2 of a series on learning PL/SQL. If you are new to PL/SQL, you should read part 1 first.
Also, check out the Article Index.
Declaring Variables
We've
spoken about the declaration section of a PL/SQL block. The declaration
section is the first section of a block. In the declaration section you
will identify a variable (give it a name), declare the datatype,
optionally declare it as a constant and optionally assign it a value.
I'm
going to discuss PL/SQL datatypes in detail in a future article. For
now, don't worry so much about the data types as about the format of
the declaration.
by lewisc1
Datatypes are a subject that
confuses many people. There are many types and many sub-types. A type
is a basic datatype like NUMBER. A sub-type is derived from a type. An
INTEGER is a sub-type of NUMBER. A sub-type usually add a constraint to
a type and that creates the new sub-type; for INTEGER, only whole
numbers are allowed.
In 10g, the five numeric types that you
will most commonly use are: NUMBER, PLS_INTEGER, BINARY_INTEGER,
BINARY_FLOAT and BINARY_DOUBLE. You would declare and use any of these
in the same manner, although the BINARY_FLOAT and BINARY_DOUBLE add a
few extra features that I cover below.
by lewisc1
There are several types of character data types for your use in SQL and PL/SQL. Unlike the NUMBER data type, there are some differences between SQL and PL/SQL character types.
I
won't cover LOB (Large Objects) in this article. It could be argued
that a CLOB is nothing but a large string, but I will write a special
article to cover CLOBs, BLOB, and BFILEs.
Today I am going to
cover the three primary character types and talk a little about about
their differences and about some sub-types.
by lewisc1
I won't normally use this blog
as a job board but I need some help and I would like to make sure I get
someone good. And if you read this blog, you must be good! ;-)
Are you a hard-core PL/SQL developer? Are you great with complex SQL? Do you know XMLType and the XML APIs inside and out? Do you want to work in sunny Bradenton, Florida?
I
don't yet have rates or anything but the approvals are coming. At this
time, I cannot say what this will pay. I just don't know at the moment.
I'm designing an interface for a business intelligence application. We're running on a fairly large, fairly
complex data warehouse. It's not the biggest I've worked with, nor the
largest, but it provides plenty of challenges.
I need to finish
by the end of the year. And that means I need a hard core PL/SQL
developer who is also very comfortable with XML. I would prefer someone
who is comfortable with SQL Analytics but if you are good with SQL, you
can pick up the analytics and if I have to, I can write the complex
queries. I'm more concerned with the person knowing PL/SQL and XML
inside and out.
It's looking like a 3-4 month contract. It is
NOT a perm position at this time but if you work out well, I will try
to make it so. Doesn't mean it will happen, just that I can try. I
personally feel that this is a position that should be perm but I'm not
the guy that gets to make that decision.
This is also an on-site position. No tele-commuting. This position will report to the development manager.
So,
if you have these skills and live in or around, or would like to live
in, Bradenton, Florida; send me an email and your resume. I will
respond to all (I hate when people don't respond. That is so rude.).
Please put "DEV RESUME" in your subject so that your email doesn't get
eaten by the spam monkey. If you don't hear from me after a few days, assume that the spam monkey ate it and try again.
My email is lewisc and the host is rocketmail dot com.
BTW,
we also need a really good C# developer that has Oracle experience. If
you have deep, n-tier C# on Oracle experience, you can send me your
resume for that, I can pass it on to the appropriate people. 5-years of
OO and .Net are required.
Thanks,
LewisC
by welshbilly
Hi Lewis,
Although I don't have the skills you are looking for, if you require a general dogs body, someone to make tea/coffee or just peal you a grape I would love to make the move from the UK to sunny Florida! As anywhere sounds more appealing than working in a basement.
Good luck with your search.
:-)
by lewisc1
by lewisc1
Use the article index for more articles on this subject.
Oracle
10g provides three types of date related datatypes: date, timestamps
and intervals. Today I will be talking about all three of these.
DATE
The
DATE datatype is a datetime datatype. It stores a date and a time. The
date portion is based on the number of days since January 1, 4712 BC.
The time portion is based on the number of seconds since mid-night.
A date field is declared as a variable name followed by the DATE keyword:
v_date_field DATE;
There is no "correct" format for a date. The format is determined by several variables. At the database
level, you can set the NLS_DATE_FORMAT. Regardless of how the default
is set in your database, you should always make sure you explicitly use
a date format mask when converting.
I will cover conversion
functions for all data types in a future article but I think this is
important.
If you need to compare a date to a literal, make sure to use
a date format mask. You could say:
WHERE date_field = '01-01-1999'
or you could say:
WHERE date_field = to_date('01-01-1999')
I
would consider both of those bad programming practices.
The first is
allowing an implicit conversion between character and date and both of
them are assuming some kind of default date format. A better practice
would be to use:
WHERE date_field = to_date('01-01-1999', 'DD-MM-YYYY')
And
that leads us to why we use a DATE instead of a character field or a
numeric. I'm often asked about best practices with dates and times. For
some reason I have never understood, some people feel that storing
dates and times as characters and numbers is better than allowing
Oracle to handle that data in a native format. Call me lazy, but if
Oracle can do it for me, I am going to let it.
by lewisc1
A friend of mine called a few
days ago with a question. He wanted to populate a PL/SQL table and use
it to compare to some other data via a NOT IN subquery. He was having a
problem getting the data into the nested table and wasn't sure how to
access it from SQL after he did.
Because
he had the question and was having a problem implementing it, I figured
others might have the same issue. I wrote a very simple script showing how this can be done and thought I would post it here for you.
I am creating a test table and inserting some data. He was having an issue with a date field so that's what I'll use here.
by lewisc1
select to_char(1234.89, '$999,990.00') num_format from dual/select to_char(SYSDATE, 'Day, Month DD, YYYY') date_formatfrom dual/I get:
NUM_FORMAT ------------ $1,234.891 row selected.DATE_FORMAT -----------------------------Friday , August 14, 20061 row selected.Do you notice the lead spacing in the first statement and the odd spacing in the second?
by lewisc1
NVL2 is a neat little SQL function that I think is underused. It seems to me it could have a better name.
The
format is NVL2(expr1, expr2, expr3). What it does is if expr1 is NULL,
it returns expr3. If expr1 is NOT NULL, it returns expr2.
An IF statement to do the same would look like:
IF expr1 IS NULL
THEN
expr3
ELSE
expr2
END IF
Read the rest of this post.
by lewisc1
This tip will answer two
questions I get very frequently. Definitely a FAQ. "How do I retrieve
and use the VARCHAR2 index of an associative array?" and "How can I
sort a PL/SQL table?" These questions pertain to PL/SQL functionality;
not SQL functionality.
SORT
I'll answer the sort
first and I'll kind of cheat. When I ask what kind of table they're
using the answer is usually either an INDEX BY table with an integer
index or a nested table. The values of the table are usually a
key->value pair like this:
TYPE r_places_i_lived IS RECORD (
unique_key VARCHAR2(10),
data_value VARCHAR2(50) );
TYPE a_places_i_lived IS TABLE OF r_places_i_lived
INDEX BY BINARY_INTEGER;
v_places_i_lived a_places_i_lived;
NOTE: If the unique_key field is not really unique, my solution will not work. This only works when the key is unique in the PL/SQL table.
My
suggestion is to change the structure of the table from BINARY_INTEGER
to VARCHAR2 and make the unique_key the index variable.
by lewisc1
I've written about Open Source and Oracle in the past
but thought I would remind everyone that open source is a good place to
go for new tools. Instead of starting from scratch, it sometimes helps
to see if someone has done something already. My philosophy is to not
reinvent the wheel if I can avoid it.
Here are a few open source tools that might help you:
DBAShell
DBAShell, by Crispin Bivans, is a project based around Shell functions and scripts designed to make it easy for DBAs to use Databases in a command line environment. Currently supported is
Oracle with ksh and bash on AIX, Solaris, Linux. The code base itself
is 3 years old and has been in use in Production environments all of
that time.
Features include:
by lewisc1
What do I mean by absolutes?
When someone says you should NEVER do something or when someone says
you should ALWAYS do something. Some things make sense. If your mama
said you should never run with a sharp stick, she was probably right.
Of course if you don't, you'll never win the Great Sharp Stick Race!
So what would be an absolute? How about GOTO? I have said, "Never use GOTO. Never, Ever." I'm probably right. If a developer handed me a piece of code and it had GOTO in it, that developer better
have a really good reason. It would take convincing that using GOTO is
a good idea. But the point is that I would be willing to hear the point
of view.
And that is the point of this entry. When you start
making absolute statements, you start closing your mind. After doing
something for a while, it's natural to feel like you are pretty much
"in the know".
You already KNOW how to do that, why would you
listen to another approach? You know your way works. You've probably
tested several different ways over the years and know which one is
easier to maintain or which one performs better. You researched it. You
implemented it. You're probably right. Probably.
It's even
harder when people start coming to you as "The Expert". You've done
this before. You have the inside scoop. If you have several years of
experience, people shouldn't argue and nitpick every suggestion or
decision you make. But if someone comes to you, regardless of their
experience level, you should keep an open mind. I have to admit that I
sometimes have trouble with this. It does require effort at times.
by lewisc1
Use the article index for more articles on this subject.
BOOLEAN
A
BOOLEAN datatype is a native PL/SQL type that lets you signify a TRUE
or FALSE condition. A BOOLEAN is NULL until explicitly assigned a
value. A BOOLEAN is assigned like other variables:
DECLARE
v_bool BOOLEAN;
v_bool2 BOOLEAN := TRUE;
v_bool3 BOOLEAN := FALSE;
BEGIN
v_bool := TRUE;
END;
A
BOOLEAN can also be assigned by a boolean expression. Instead of type
two statements, you can combine it into a single statement:
DECLARE
v_bool BOOLEAN;
v_num NUMBER := 1;
BEGIN
v_bool := (v_num = 1);
-- Is equivaqlent to
IF v_num = 1
THEN
v_bool := TRUE;
ELSE
v_bool := FALSE;
END IF;
END;
You use a BOOLEAN just like you would use a boolean expression.
Read the rest of this post.
by lewisc1
by lewisc1
by lewisc1
I would like to ask a favor of
you. I was planning on writing about the differences between a database
architect, a data architect, an information architect, etc. But as I
started doing that, I figured I should document what I do and what I
think a database architect is. So that's what I have below.
The
problem is that I haven't been an information architect or really any
other kind of architect. I guess based on particular tasks I could be
called a data warehouse architect or a BI architect but I think those
jobs were still a database architect with a concentration on data
warehousing and BI.
So here's the favor. If you have a job, say
developer or DBA, and your job intersects what I have below, could you
post a comment and let me know where it intersects? Also, if you think
I left something out or if I included something I shouldn't, I'd like
to hear about that also.
Lastly, if you are an architect (any
kind), I would like to hear what your job is. Could you post a job
description or maybe post where and how your job is different than a
database architect?
by lewisc1
Have you ever needed to lookup
something for Oracle 8.1.7 and couldn't find the documentation? Ever
want to compare features between two Oracle versions? Go to Tahiti!
Not the island. Well, you can still go to the island but I'm not sure how much documentation they have. I mean http://tahiti.oracle.com/. The Oracle Documentation site.
Sure, you can get the documentation at otn.oracle.com. Trust me, I spend a LOT of time at OTN. But sometimes I just want to jump right into the docs.
Tahiti does that! It has database docs from 8.1.7, 9, 9.2, 10.1, 10XE and 10.2 It also has application server and collaboration suite docs.
At the very bottom the page is a link that takes you to the OTN page for documentation. You can get 8.0 and 7.3 and other non-terminal release documentation.
These
links are great when you're at a client site or a co-worker's desk who
hasn't already downloaded all of the documentation. You do download it
right? ;-)
Take care,
LewisC
by lewisc1
As today in the US is Labor
Day, I thought I would draw your attention to an event that celebrates
the free labor so many people give to free software. Software Freedom Day 2006 is September 16.
Here's a blurb from the site:
Software
Freedom Day (SFD) is a worldwide celebration of Free and Open Source
Software (FOSS). Our goal in this celebration is to educate the
worldwide public about of the benefits of using high quality FOSS in
education, in government, at home, and in business
-- in short, everywhere! The non-profit company Software Freedom
International provides guidance in organizing SFD, but volunteer teams
around the world organize their own SFD events to impact their own
communities.
In my area, the Suncoast Linux User Group (SLUG? ugh) is hosting spots in Tampa and Bradenton. I might head out to the books a million in Bradenton. I don't really need an excuse to spend a couple of hours there.
The
site has more info, forums, some pictures from past years and a listing
of all the participating teams. Kind of a neat concept. It looks like
this is the third year but it's the first I've heard of it.
Take care,
LewisC
by apotheon
Conveniently, the 16th is the date of a Talk Like a Pirate Day party I'll be attending (yes, I know, TLaPD is the 19th, but that's a weekday, so the party is the 16th). Everyone's supposed to be attired in pirate garb. I'll be there dressed as a Software Pirate.
The 13th of September was Programmer's Day this year (Programmer's Day happens on the 256th day of every year), which prompted someone on the ruby-talk list to remark that software pirates throw exceptions because of too many arrrrrrgs. Hah.
By the way, while I'm currently a resident of northern Colorado, I moved here from Florida and was a frequent attendee of Tampa and St. Pete meetings of SLUG. A few people there should still remember me (by the name Chad). In particular, Mario, Dylan, and Tina are likely to remember me pretty well, if they're still attending the meetings.
by lewisc1
by lewisc1
The Oracle Buzz is my take on
the news, trends and topics that have the bloggers blogging in the
world of databases. I concentrate mainly on the Oracle world but I'll
also cover other topics that interest me.
I'm back! As always, I
am looking for feedback. I would like to hear from anyone with an
opinion, good or bad. I apologize in advance for any sound issues. My
skills with sound engineering are completely accidental.
It's
been a while. I've changed the format somewhat. I also tried to keep
the time down. This one runs just about 20 minutes. I talk briefly
about the two links below and then I have an interview with Thomas
Roach, President of the Suncoast Oracle User Group. I finish it up with
a guest who sings us a song.
Download The Oracle Buzz Version 4.
Version 4 Topics:
IOUG Releases Latest Oracle Community Survey on Open Source Trends
The extraordinary life of Oracle CEO Larry Ellison
Interview with Thomas Roach.
Guest Singer.
Thanks,
LewisC
by lewisc1
Any
road followed precisely to its end leads precisely nowhere. Climb the
mountain just a little bit to test that it's a mountain. From the top
of the mountain, you cannot see the mountain.
from MuaDweeb: Family Commentaries by the Princess Irulan
Summoned! Summoned to meet with the local representatives of the Bene Management. To discuss performance! That's what they said. Who knows what's behind the unfocused eyes of a Bene Manager.
What could they want? It must be more than performance., I thought.
The
architecture changes were looking good. Tests were written. Tests were
performed. The tests run by Consultixian C'tair had proven our
supposition. Those queries that returned in less than a second would
take longer but anything that took longer than 30 seconds in the
current system would take less time.
Our tests proved that! Why this meeting? Didn't they get the memo?
by lewisc1
I started working on a
task for a project and decided that there were some very good
properties that I could use to help me teach people PL/SQL and XML. I
expanded a bit on the idea and ended up with a scripting language,
implemented in XML, that can be passed into a PL/SQL procedure. The
script can execute stored procedures, it has looping logic, conditional
(CASE) logic, user defined variables, etc.
The nice thing about
it is that it's very easy to read and modify. The XML structure is also
very easy to read. It's really a learning tool but it may have some
real life uses also. You can modify application
functionality on the fly just by changing XML. You could even write a
program that would generate XML for you that would then feed other
systems. Quite cool!
Here is a sample script:
<ROOT> <CMD type="variable"> <VAR name="$var1$" type="literal" datatype="char">MyValue</VAR> </CMD> <CMD type="variable"> <VAR name="$var2$" type="function" datatype="date" format="dd/mm/yyyy hh24:mi:ss"> <FUNCTION name="sysdate" /> </VAR> </CMD> <CMD type="for"> <FOR from="1" to="5"> <CMD type="proc"> <PROC name="dbms_output.put_line"> <PARAMETER name="a">$var1$ is $var2$</PARAMETER> </PROC> </CMD> </FOR> </CMD></ROOT>
That XML, when run through my script interpreter, will output:
MyValue is 25/08/2006 15:06:59MyValue is 25/08/2006 15:06:59MyValue is 25/08/2006 15:06:59MyValue is 25/08/2006 15:06:59MyValue is 25/08/2006 15:06:59
The script is run sequentially. So the first thing it does is declare a variable, $var1$ and assign it the value of "MyValue".
by lewisc1
I get a word of the day
emailed to me and they just added an RSS feed. I thought I would pass
it a long. You can get it here: Word of the Day.
BTW,
the book is going well. I'm doing more than the words per day I had
planned. I think it's good stuff. Of course, the editors may debate
that. heh
Take care,
LewisC
by lewisc1
For some reason, the XMLType XPath implementation does not allow scalar results. According to the documentation:
EXTRACT
(XML) is similar to the EXISTSNODE function. It applies a VARCHAR2
XPath string and returns an XMLType instance containing an XML fragment.
Extract
will only return an XMLType. A scalar value would be a function that
returns a varchar2, number or date. What that means is that in an XPath
statement, you could use a function like node() and get an XML fragment
back. But if you try to use name(), which would return the VARCHAR2
name of the designated element, you get an error.
I frequently
need to use name() and local-name(). Count() is another nice function
at times. I decided to write my own extract function. What I really
wanted to do was extend XMLType to allow me to add my own overloaded
Extract. Not gonna happen. XMLType is considered a built-in and not a
UDT so I can't extend it.
More than one way to skin a cat though
so I created my own type that had an XMLType attribute. I created my
own Extract that called an XSLT transform. Now it would be a pain to go
back and forth between a standard XMLType and my home-grown XMLType, so
I put in skeleton code to call the Oracle XMLType. That way I can use my type everywhere I would normally use an XMLType, except mine can return scalar values.
The nice thing about this is that you can add any extensions you think you need.
In
the code below, I don't put every method from the XMLType. I do put an
overloaded Extract() and I show how to add existsNode() and
getStringVal(). Use that example if you would like to extend it further.
I also follow my code up with an anonymous block that shows how to use it.
So here is the type declaration:
by lewisc1
Hate taking abuse from
management but you do anyway? Keep your opinion to yourself when you
should be sharing it? Pretend you're someone your're not just to fit
in? All because you're afraid of being fired?
Here is an excellent blog entry from the Chief Happiness Officer, How to lose your fear of being fired.
I had never heard of this blog until today. I got the link in an SD Times Newsletter. This is an eye opener. I don't think it says anything we don't already know but it's nice to hear someone actually say it.
Sometimes, it's ok to be fired. If you work for an idiot, you should be proud to be fired. If the company is doing something unethical, blow the whistle and get fired. Then brag about it!
Of
course the next job might not be as easy as the writer makes it out to
be but I have to agree that sometimes it's either walk out or give an
opinion when you know it's going to get you canned.
Very interesting read! Check it out and let me know what you think. I agree with most of it.
Take care,
LewisC
by lewisc1
I am putting together a training program.
The training is going to be designed specifically for on-line,
interactive presentation. I am looking for a few volunteers to sit
through (well, hopefully participate and ask questions and such) some
sessions to help me fine tune it.
I would like to have several
people at varying levels of expertise: a few beginners, some
intermediate, some advanced. I wouldn't mind having one or two people
who don't know anything about databases or SQL at all.
For
my test group, I plan to limit it to about 10 people for now. The first
session will either be beginning databases or beginning SQL.
I haven't decided yet. I have some of the training completed and I'm
working on a couple of more pieces (in my spare time of course).
The
first session will only last an hour so I can get a feel for everything
and how it flows. I'll ask for feedback on the quality of the
environment as well as the material itself.
I also don't have a
date or time as of yet but since I hope for participation from anywhere
in the world, it will probably be done on the weekend.
Anyone with broadband internet, anywhere in the world, can participate.
by jahernandez
Hi! I would like to participate. I'll take the class from home, as it will probably be on a Sunday here in our part of the world (the Philippines). I can be contacted at the following email addresses: jahernandez at mbtc-tech.com and juleshernandez at yahoo.com.
by apschorr
I would love to help you out. I reside in Michigan. My name is Ann Schorr and I have been a DBA for over 5 years. My email is schorrap@yahoo.com. Just let me know what day and time so I can plan for it. Have a great day.
by sschwam
I am interested in this training program, I have a little sql, and interface with oracle, and access databases. I will do this from home. Please email me at sschwam@gmail.com...
Thanks.
by rjdanner
Insert comment text here
I would also like to participate. I am a total beginner at sql and databases. My name is Jae and I live in Indiana. My email is rjdanner@comcast.net.
by cgmserrano
by cmotap
I would like to participate in your training program. My name is Carlos Mota and I from Monterrey M?xico. I have 9 years working with oracle. Please, e-mail me at cmota@itesm.mx
by saadkhan2007
Hi.
My name is Saad and I want to participate in the online training as well. I live in NY,USA and would like to take this training on weekends. I already have DBA experience and exposure.
Please let me know how to participate in the program. My email address is m_saadkhan@yahoo.com
by bankerit
by jaytuke
by cazz101
Hi, my name is Caroline and i am a tekkie at a non profit company, I would like to participate in the training.
I fix the access database for about 90 end-users with no formal training and it is a real pain to try and figure out what they do to that database on a daily basis. so, yeah, keep me in mind
I am in Ozz, my e-mail address is cazz101@bigpond.net.au.
See ya
by maevinn
Don't kow if you're still looking, but I would be interested in participating, but am limited on time, so that will determine if I can or not.
by vsdevan
I would like to participate. My name is Sahadevan and I'm a DBA. I live in Middle East and so will be able to take part on Friday or Saturdaya if that fits in your schedule. My e-mail address is vsdevan@hotmail.com
by cherubcalf
cherubcalf@earthlink.net
I'm in, if you're still looking for recruits. Live in Fla. Primarily a mathematician; hate code; so good candidate for feedback. Orlando Oracle wouldn't let me past the front door to discuss my algorithm; so maybe if I learn the lingo, I'll have a better chance. Be gone the first week of Oct.; can work your schedule after that.
Thanks, Ron M.
by pc21geek
I would be willing to participate. Some mysql and access experience. from home, i have broadband internet.
Kevin
pc21geek@yahoo.com
by waynehess
I'd like to participate in your conference.
I have experience in Access and SQL. I live in Kansas, and I can be reached at the following email: waynehess@usd475.org
by ericev
by tgaudet
Yup! I would definitely like to sit in and participate. I have quite a few years of data mining experience, intermediate in coding SQL, expert with a GUI......
I'll also give you the Canuck's perspective....
Terry
tgaudet@pcideas.ca
by lewisc1
Well, I'm going to do
it. I'm officially writing a book. I've got the publisher. I've got the
topic. And now I've got a deadline.
I'll write more about the
book over time but in the short term, that means that time I would
normally spend blogging and answering questions on the oracle-sql-l
list will be spent writing the book.
I will still post and I
will do my best to keep up with comments. It will just have to be less
frequently than it has been. I'll miss that. I have really been having
fun. But I think I will also enjoy writing the book and it's a huge
challenge to meet. This is a personal goal that I have had for a very
long time. I think I'm ready for it. Heck, I better be!
See an overview of EnterpriseDB: The Definitive Reference.
by lewisc1
This is a personal entry and has absolutely no Oracle,
database or other technical content. This is more of a mind dump about
Katrina and life in general. If you don't care to read about Katrina or
my life, please don't read this. This entry is one of my few rambling
rants and it's a pretty long one. Read it at your own risk.
If you want to read my thoughts as Katrina happened and shortly after you can read my posts: A New House, Pneumonia, TOAD and Katrina, A Personal Update on Katrina, Good News in Spite of Katrina, My Final Update on Katrina.
It's the 1 year anniversary of Katrina.
The 1 year anniversary of Katrina hitting New Orleans and the gulf
coast. I'm not sure it should be called an anniversary. That makes it
sound like something that should be celebrated. I don't know what the
right word is though.
As I write this (around noon, Sunday,
August 27), Ernesto has become a hurricane. It looks to be a lot like
Katrina. Right now they're saying it might hit Tampa on Thursday. At
this point that's a total guess.
I have been debating with
myself whether or not to write something about Katrina. I'm still
debating as I write this. I know there will be a thousand things
written in the next week.
I saw Spike Lee's HBO documentary. He
presented one point of view. It was a good documentary in general but
very biased. His stuff usually is.
I thought I could write about
the incompetence of the government response to Katrina. Of incompetent
local government. Of incompetent state government. Of incompetent federal government. Besides not knowing where to start, I figure there are others who will say all of that better than I can.
Read the rest of this post.
by lewisc1
EnterpriseDB announced some significant advances with their latest EnterpriseDB Advanced Server release. You can read an article at Sys-Con.
They've made several improvements but the three I think most important are the Automated Migration tool, the replication server and the multi-platform Developer Studio.
You can get more info about these at the EnterpriseDB product page
but a quick run down is that the the automated migration tool can log
into an Oracle instance and migrate the entire schema to an
EnterpriseDB database. Kind of cool actually.
More important I
think are the other two. The replication server can replicate between
Oracle and EnterpriseDB. That means data can go back and forth, not
just one way. I don't mean multi-master, which it's not. I mean that
you can use Oracle as a slave to an EnterpriseDB database or an
EnterpriseDB slave to an Oracle database. It can also replicate to and
from PostgreSQL. I'm doing some research right now on how that works
and I'll post more in the future.
The last really significant tool is Developer
Studio. That's the EnterpriseDB IDE for developers (sort of a
multi-database SQL Developer). It can run on multiple platforms and can
connect to Oracle, PostgreSQL and EnterpriseDB. There is also a source
level PL/SQL and PL/pgSQL debugger included. I'm also playing with this
and will have an update in the future.
If you're not familiar with EnterpriseDB, I've blogged about it in the past. Hard to believe it's been over a year since I first downloaded it.
Take care,
LewisC
by lewisc1
Hi all,
I mentioned a while back that I was an Oracle ACE. I got the actual Oracle
ACE award in the mail yesterday. I had never seen one so I took
pictures. I figured I would post them in case anyone else is curious as
to what it looks like. You can see it here. It's pretty neat looking. It's also very heavy.
I
also got a very nice (I mean very nice!) fleece sweater/coat/thing. It
has the Oracle ACE logo on it. I'll be wearing it in San Francisco in
October, I'm sure.
That's all for today.
LewisC
Sort by Trending