Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

How to upgrade from Oracle 8i to 9i?

Posted on 2004-04-19
6
Medium Priority
?
17,669 Views
Last Modified: 2013-12-11
Hi, All:

Now I want to upgrade from Oracle 8.1.7 to 9.2.0. How and where can I get some documents about this task, especially about the usage of DBUA tools?

Now, I have Oracle 8i installed and have two databases on it. The $ORACLE_HOME is set to /myoracle/8.1.7 for example.

1) I install Oracle 9i to the new path and let Oracle 8i and 9i coexist in the same server. To make sure the existing software using Oracle 9i other than 8i, the $ORACLE_HOME is changed to /myoracle/9.2.0 after the installation. Now, I run $ORACLE_HOME/bin/dbua to upgrade database from 8i to 9i, but it can't find the old Oracle 8i database. Why? How can I do then?

2) If I only want one Oracle instance in the machine, so I install Oracle 9i to the old 8i path. How can I do in this scenario?

Thanks,
0
Comment
Question by:GoldDragon
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
6 Comments
 
LVL 1

Accepted Solution

by:
ora-dba earned 150 total points
ID: 10860076
Hello,
for the first scenario, the reason you don't see any databases in dbua might be because the ORACLE_SID has been removed from the oratab file. The DBUA reads the oratab file to determine what databases are available on this server. To check and fix this you can edit the oratab file and add the ORACLE_SID: <PATH>  (The oratab file is generally located in /var/opt/oracle or /etc)
If you'd like to follow the second scenario, you need to run the installer to uninstall Oracle 8i software products (it doesn't harm the databases), then install Oracle 9i software using the same old ORACLE_HOME path. Finally you invoke dbua as in scenario 1.
0
 
LVL 12

Assisted Solution

by:catchmeifuwant
catchmeifuwant earned 150 total points
ID: 10865815
0
 
LVL 48

Expert Comment

by:schwertner
ID: 10866639
For this task we are using Export/Import way.

Do full Export on 8i.
Save the dump file on a secure machine (use BINARY transfer!!!)

Install 9.2.0.1 on the new machine. Upgrade to 9.2.0.4


The best you can do is to precreate on 9i the nonsystem tablespaces. because 9i uses another technology. After that create the nonsystem users and assign quota.

After that do schema by schema import:

Example:

CREATE TABLESPACE "TSDAUDIT"
LOGGING
DATAFILE  'E:\oracle_db_main\oradata\bugf\tsdAudit00.dbf'  SIZE 200M
AUTOEXTEND ON    NEXT 200M   MAXSIZE UNLIMITED
PERMANENT   ONLINE
EXTENT  MANAGEMENT LOCAL
;






CREATE TABLESPACE "TSDCONTACTS"
LOGGING
DATAFILE  'E:\oracle_db_main\oradata\bugf\tsdContacts00.dbf'  SIZE 100M
AUTOEXTEND ON    NEXT 100M   MAXSIZE UNLIMITED
PERMANENT   ONLINE
EXTENT  MANAGEMENT LOCAL
;

CREATE USER ICWUSER IDENTIFIED BY ICWUSER
DEFAULT TABLESPACE SYSTEM    TEMPORARY TABLESPACE TSTEMPORARY;

CREATE USER LSCONTACTS IDENTIFIED BY LSCONTACTS
DEFAULT TABLESPACE TSDCONTACTS   TEMPORARY TABLESPACE TSTEMPORARY
QUOTA UNLIMITED ON TSDCONTACTS;

Now import, after transfering the export dump file in BINARY mode:

imp  PARFILE=c:\box\schema_params.dat

The file schema_params.dat:

USERID="sys/reks@bugf as sysdba"
FILE=c:\box\03_22_2004.dmp
SHOW=n
IGNORE=y
GRANTS=y
ROWS=y
FULL=n
FROMUSER=LSCONTACTS,LSCONTAINER,LSDOCUMENTS,LSIDMAP,LSMEDICAL,LSSYSTEM,LSUSER
LOG=c:\box\imp.log

0
Free Backup Tool for VMware and Hyper-V

Restore full virtual machine or individual guest files from 19 common file systems directly from the backup file. Schedule VM backups with PowerShell scripts. Set desired time, lean back and let the script to notify you via email upon completion.  

 

Author Comment

by:GoldDragon
ID: 10897447
Thank you for all of your answers. But I face another problems: I do the Oracle upgrade according to the steps in http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96530/upgrade.htm#1009019 and use the dbua tool.

This tool tells me that the upgrade process successful. Need I do the steps in the section "Tasks to Complete After Upgrading Your Database" and section "Tasks to Complete Only after Upgrading a Release 8.1.7 or Lower Database"?

In the file /var/opt/oracle/oratab, I find there is the entry for the database, for example:

demo:/myoracle/9.2.0:Y

But if I want use dbstart to start the database, the error message is

Can't find init file for Database "demo".
Database "demo" NOT started.

I notice that the init file, named "initdemo.ora", is located under /myoracle/8.1.7/dbs. Of cource, Oracle can't find the init file under /myoracle/9.2.0/dbs. How can I solve this problem now?

Thanks
0
 

Author Comment

by:GoldDragon
ID: 10897492
BTW, after upgrade, I find there is a new file /myoracle/9.2.0/dbs/spfiledemo.ora, which is generated by dbua post upgrade steps.

What's the use of this file and how can I use it?

Thanks,
0
 
LVL 48

Assisted Solution

by:schwertner
schwertner earned 270 total points
ID: 10897689
This is the new concept of the old init.ora file.
Now the parameters are stored in the DB in SPFILE (find it!  SHOW PARAMETER SPFILE).
You can not directly edit it.
You shoud create a parameter file
CREATE PFILE='c:/.....init.ora' FROM SPFILE;
edit this file and recreate the SPFILE:
CREATE SPFILE='.....' FROM PFILE='.....';

You can also change the parameters in SPFILE
ALTER SYSTEM SET open_cursors=400 SCOPE=SPFILE

Read these new comands from the manual.
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

How to Create User-Defined Aggregates in Oracle Before we begin creating these things, what are user-defined aggregates?  They are a feature introduced in Oracle 9i that allows a developer to create his or her own functions like "SUM", "AVG", and…
Cursors in Oracle: A cursor is used to process individual rows returned by database system for a query. In oracle every SQL statement executed by the oracle server has a private area. This area contains information about the SQL statement and the…
This video explains at a high level with the mandatory Oracle Memory processes are as well as touching on some of the more common optional ones.
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…

721 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question