Is it hard to learn Oracle?

My boss said that we’re going to change over from our current database to Oracle at some time in the near future. Since I’ve been administrating the current database, and I’m the office guy that “knows computers”, she asked me if how I’d do with it. I know that Oracle is a big, complicated program, and I tried to explain that, but it sounded like I was waffling, so she just said “Are you my man or not?” and I just said yes.

So what have I gotten myself into? Can I learn it by poking it enough? Can I learn it out of a book? Or will I have to attend classes?

What database systems do you know now? Oracle is fairly easy to use poorly but learning to administer large Oracle databases well can take years or longer. I would suggest some classes to start just to give yourself a feel for what you need to know. There are volumes of Oracle reference books but they aren’t usually broken down that well between what you really need to know and what you don’t. That said, the O’Reilly Oracle series is very good. There are graphical tools you can use to communicate with an Oracle database but you really should know the SQLPLUS command line as well and that isn’t especially easy. You will also need to know the operating system that hosts the Oracle database. If it is stored on a Unix or Linux box, you need to know some things about that as well. The danger of poking around an Oracle database without really knowing what you are doing is high. You can easily make some critical mistakes that could cost really time and money to fix and not look too good on your part either.

Depends what your current database system is. But Oracle is basically a relational database system. Besides the basic differences in terminology and utility operation, you have to deal with the variety of specialized features Oracle has implemented for particular customer situations. If you actually understand what you are doing now, you shouldn’t have trouble dealing with it. There are plenty of training facilities for Oracle. Your company shouldn’t be switching without incorporating that training as part of the process.

Be aware that the change over may be much more complex and difficult than the Oracle salespeople convinced your management that is was. IMHO if it isn’t, they’ve probably made a poor decision and will be paying much more for basic database operations than they are now. But the market value of your skills increases greatly with the addition of Oracle to your resume, and a conversion is more gravy.

Oracle has it’s own sql script called PL. At my job we don’t use PL. Shop standard is straight SQL.

Administering Oracle requires experience. Our boss sent our DBA to some special classes on Oracle.

We got Oracle as part of a canned software system that was purchased for Payroll, Finance and Registration for our University.

Depends on what database systems you’re currently familiar with and what you want to do with it. A relatively simple database with a small number of tables is going to be fairly easy to administer; one with a large number of complex relationships among tables is tricky regardless of platform. As always, there’s the jargon and syntax that needs to be picked up and Oracle has its own specific set of RDBMS quirks, but nothing overwhelming if you’ve administered relational database systems before.

Do you have a plan for migrating your data over from the current platform to the Oracle platform? That would be the first major hurdle.

IMO you can’t do it without taking some training depending on your role. It is not difficult to learn but you can’t handle it without that learning.

So yes, one more vote for training is essential.

SDMB provides the low down on conversion to Oracle in record time!

There’s a lot of information in the documentation, on the internet, and in books. An intro class (by Oracle’s educational arm, or a third party) can give you the basics to start out on your own. However, none of these resources are going to really stick until you have Oracle running on a server, and even then, you won’t really be learning until you’re actually trying to make it do things, like import data or recover from a crash.

Now, I know your boss has informed you how it’s going to be and all that, but it’s worth taking a step back. What are you doing with your current database? If it’s just for homegrown internal stuff, you probably don’t need Oracle; you’ll do fine with MySQL or MS SQL Server (I hope your current database isn’t just a giant Access file). If this is an externally facing production database, then Oracle is more appropriate, but in that case you’ll need a better migration plan than, hey, we’re switching over at some point. Why is your boss making this switch? For reasonable business reasons, because she read about it in an article, or because some consultant suggested it? If she can’t articulate exactly why the change is necessary, it’s probably not worth the time and effort. If a vendor or consultant is requiring the switch, then they should be able to provide you the necessary training on maintaining the database. Also, keep in mind the cost of licensing Oracle if it’s not absolutely required.

My company’s software product requires Oracle on the back end, but we use an embedded license. We tell our customers what server to buy, we install Oracle and the application, we configure everything, and we let it run. If the customer has DBAs on staff, they can tweak and manage it themselves; if not, we will do routine maintenance and help recover a crashed instance.

If you do go ahead, you will be able to figure it out. When I started my job, I had no Oracle experience, but I learned on the job. Luckily, I had experts and institutional knowledge to help me, but skillful Google searching will get you a long way. I recommend setting up a test instance of Oracle on a matching server, so you can try things out without wrecking the production server. Also, once you’ve got the data initially loaded, I highly recommend testing out a few failure scenarios for practice before you go live. Try pulling the plug while it’s writing data or deleting a control file while it’s shut down, then test out your ability to recover or restore from backup. The experience you gain here will help you out immensely at 4am on a Monday morning someday.

Right now, we’re using an Access database that I designed. Every four months or so, I export the table and load a new one. There aren’t any relationships between tables. Essentially, we have thousands of half-records that we spend all day processing into full records, so the only thing a user needs to be able to do is filter records and add data to them.

Since I have no clue what Oracle looks like, I have no idea how to come up with a conversion strategy. I suppose Copy/Paste won’t work, eh?

Oracle has utilities for importing the data. They’ll help with any code conversion also. It doesn’t sound like you have a complex database to start with. But the process of conversion can still be difficult. Among other things, how do you verify that the new system is operating properly? If you have the typical kind of periodic reporting, such as a quarterly and year-end reports, plan to have the conversion process last for up to a year to account for all possibilities. The bulk of the work could be done in a day, but it takes much longer to shake out all the problems in a one-of-a-kind conversion.

MySQL may be a better alternative.

Going directly from Access into Oracle is a pretty big jump in platforms. Oracle is a definitely Enterprise software. It requires a lot of hardware resources and management.

Given this description, there is no possible reason I can think of to justify the expense of Oracle. Oracle is enterprise-level software designed for handling the largest and most rigorous database requirements. There are a dozen free relational database systems that you can use to replace Access and which would suit your needs.

Switching to Oracle is often a status decision. Management decides that they are buying the best database software available, and working on a risk averse strategy instead of cost benefit analysis. Plus tickets to some golf tournaments. It doesn’t sound like they bothered to ask Chessic about the technical issues before making the decision.

Old saying in the fishing supply business: Big fish go for big name lures.

I would have thought that that’d be trivial. Can’t I just write a record and see if it updates the table? What’s wrong with that approach?

Let me give you an analogous situation so you know more about what we do. Suppose someone gave you a list of phone numbers. Let’s say those phone numbers are campaign contributors. We take those numbers and fill out the rest of the form for that number, like who owns it, what phone company it’s through, what address it leads to, how long it’s been active, etc. We write all that down in a spreadsheet and ship that off to the client. Then that client uses the data to, I don’t know, target their charity solicitations better.

So those phone numbers come to us in an Excel spreadsheet. I made the database because I thought it’d be easier on the eyes and also because it allows us all to work on those phone numbers in real time instead of having someone glue all these sheets back together again.

But as you might expect, more than one person is interested in the data on those numbers. All of a sudden, telemarketers go “Hey, can I take a peek at those numbers? I want to know when they’ll be home.” and radio stations want to know who keeps prank calling them…that sorta thing.

So now we’ve got a lot of people asking for info and we figure it’ll be easier to just let them access the database themselves. The boss heard from another department that they have an Oracle-based program, so she wants to steal that, and thus came to me.

That’s why I want to know if I can actually handle it.

Does your organization have a team dedicated to the daily care and feeding of the database? Is it even centralized? How about dedicated data modelers? Are you going to write a new interface layer for the Oracle back end, or are you going to use the Access/Oracle ODBC connector to sex things up?

Frankly, for what you’re describing (mostly read-only, no analytics) Oracle sounds like a massive, massive overkill. If you don’t already have a team to handle coding and caring for the thing, be prepared to spend a ton of time and money to get up to speed.

If you do have the skills of a staff DBA available to you, and you don’t have to worry about creating an interface, then you can probably get away with a short crash course in SQL. The DBA or Data Modeler should handle the actual low level design and coding.

I’m sure that, somewhere out there, we have these staff members. But I can guarantee you we won’t be making use of them. It’ll fall on my shoulders alone, because, hey, if I’m confident enough to poke a Microsoft product until it works, then I must know Oracle, right? Isn’t that how computers work? :smack:

It is theoretically possible for a single, knowledgeable user to install, maintain, and administer the Oracle system. It will be pretty much a full-time job, even before any database development and maintenance. This is a gross mismatch between platform and requirements.

If you MUST use SQL (and there are many good reasons to do so), start with MySQL.

At a previous job we had an existing database that we converted to Oracle. Oracle is an excellent database product, but it is a terrible pain to install and configure correctly. Believe me, you can’t just insert the disc and let it go, you need to spend weeks ahead of time planning which pieces of the implentation go on which server, and how to configure the Oracle tools to maintain the database, and how they all interact with each other.

If you make a mistake, you have to completely uninstall everything (including deleting the registry entries that it puts in, but doesn’t take out).

I agree with the others who have posted here. Your management is talking about buying a triple-trailer semi to do the job of a bicycle messenger.

In my experience, you’d be lucky to be able to install it at all first time round, let alone correctly.

It’s not a matter of being a man. I did not read all the posts here, but I have a feeling that your company does not need Oracle. Why Oracle? This is a decision similar to what I encountered less than a decade ago: a company wanted their working ASP program converted to Java. It was one of the best coding I’ve ever seen, but they “had a feeling that Java is better than ASP”. Well, surely Oracle is much better than Access, but what are you trying to accomplish. If you cannot make your Access database work, you may find it very hard to master the same with Oracle. I’ve done my share of programming with Oracle PL/SQL. You get reports, if you know how to program. SQL syntax is very much like Access. Stealing code possibly won’t help you, if you don’t know how to modify this code. Another company: they had been using Oracle for at least five years. I saw some code and asked why they were not using IF-syntax. The leading programmer answered me that there is no such syntax in Oracle PL - only decode-function… Administering Oracle is something you need more than just a guy who knows computers. I think you can use Access and maybe VBA with it. If you need more try MySQL and PHP for free. Or maybe your department should ask for advice and expertise.