分享
 
 
 

Oracle 9i Installation on Red Hat Linux

王朝oracle·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

1, Uncompress and unpack downloaded files

One step procedure (uses less disk space and is faster):

zcat lnx_920_disk1.cpio.gz | cpio -idmv

zcat lnx_920_disk2.cpio.gz | cpio -idmv

zcat lnx_920_disk3.cpio.gz | cpio -idmv

Two step procedure:

# Uncompress

gunzip lnx_920_disk1.cpio.gz lnx_920_disk2.cpio.gz lnx_920_disk3.cpio.gz Linux9i_Disk3.cpio.gz

# Unpack the downloaded files:

cpio -idmv < lnx_920_disk1.cpio

cpio -idmv < lnx_920_disk2.cpio

cpio -idmv < lnx_920_disk3.cpio

Now you should have 3 directories containing installation files:

Disk1

Disk2

Disk3

2, Swap space

In order to perform a typical Oracle 9i installation and to create a simple prototype database, Oracle says that you need a minimum of 512MB of RAM for the Oracle9i (9.0.1) Server, and the amount of disk space (swap space) should be equal to twice the amount of RAM or at least 400 MB, whichever is greater.

Check your memory by executing:

grep MemTotal /proc/meminfo

Check swap space by executing:

cat /proc/swaps or swapon –s

You can also add temporary swap space by creating a temporary swap file instead of using a raw device. Here is the procedure:

As root:

dd if=/dev/zero of=tmpswap bs=1k count=900000

chmod 600 tmpswap

mkswap tmpswap

swapon tmpswap

To disable the temporary swap space execute the following commands:

As root:

swapoff tmpswap

rm tmpswap

3, Shared Memory

I increased the shmmax setting for the kernel by executing the following command:

As root:

# cat /proc/sys/kernel/shmmax

33554432

# echo `expr 1024 \* 1024 \* 1024` > /proc/sys/kernel/shmmax

It is recommended to increase the shmmax setting permanently for Oracle. So if you want to increase the maximum shared memory size permanently, add the following line to the /etc/sysctl.conf file:

kernel.shmmax=1073741824

4,/tmp Space

The Oracle Universal Installer requires up to 400 MB of free space in the /tmp directory. If you do not have enough space in the /tmp directory, you can temporarily create a tmp directory in another filesystem. Here is how you can do this:

As root:

mkdir /<AnotherFilesystem>/tmp

chown root.root /<AnotherFilesystem>/tmp

chmod 1777 /<AnotherFilesystem>/tmp

export TEMP=/<AnotherFilesystem>/tmp # used by Oracle

export TMPDIR=/<AnotherFilesystem>/tmp # used by Linux programs like the linker "ld"

When you are done with your Oracle installation, shutdown Oracle and remove the temporary directory:

rmdir /<AnotherFilesystem>/tmp

unset TEMP

unset TMPDIR

5,Oracle Disk Space

You will need about 2.5 GB for the database software. If you perform a typical database installation and not a customized database installation, then you will need about 3.5 GB of disk space.

6,"binutils" Issue (if you fond following error )

Q: "Error invoking target install of makefile /opt/oracle/product/9.0.1/plsql/lib/ins_plsql.mk"

A: This obviates the need to change binutils

download the following binutil RPM version and downgrade binutil on the Oracle server:

ftp://ftp.redhat.com/pub/redhat/linux/7.0/en/os/i386/RedHat/RPMS/binutils-2.10.0.18-1.i386.rpm

As root:

rpm -Uvh --force --nodeps binutils-2.10.0.18-1.i386.rpm

When you are done with the Oracle installation, you upgrade your binutil RPM back to the version you had before you downgraded:

E.g. on a Red Hat 7.2 server:

rpm -Uvh --force --nodeps binutils-2.11.90.0.8-9.i386.rpm

7,Development Packages (RPMs)

You will need the following RPM development packages for the Oracle installer to compile the Oracle modules etc.:

gcc

cpp

glibc-devel

compat-libstdc++

kernel-headers (on RH 7.1, 7.2, 2.1AS)

glibc-kernheaders (on RH 7.3, 8.0)

binutils

Otherwise you'll get an error message like:

Error in invoking target ntcontab.o of makefile /opt/oracle/product/9.2.0/network/lib/ins_net_client.mk

To find out if you have these development packages installed, execute the following command:

# rpm -q gcc cpp glibc-devel kernel-headers binutils

8,JDK

I successfully installed Oracle9iR2 without installing JDK on the system.Oracle comes now with its own Java. This means that you don't have to follow these steps which were required for older Oracle versions:

Download JDK 1.3.1 or Blackdown 1.1.8_v3: (I usually used Blackdown)

http://www.blackdown.org

http://java.sun.com

According to JDK documentation, install JDK under /usr/local .

Then create a symbolic link to the JDK under /usr/local/java :

As root:

bzip2 -dc jdk118_v3-glibc-2.1.3.tar.bz2 | tar xf - -C /usr/local

ln -s /usr/local/jdk118_v3 /usr/local/java

9,Create Oracle User Accounts

As root:

groupadd dba

groupadd oinstall

useradd -g oinstall -G dba oracle

passwd oracle

Oinstall is not needed when the same people will be maintaining the software and the database. In this situation, it will create more work and add an extra layer of complexity to the maintenance of the installation.

Recommendation: if you don't need the oinstall group for added security,

just install using the dba group.

10,Create Oracle Directories

In this example, make sure that the /opt filesystem is large enough. If /opt is not on a separate filesystem, then make sure the root filesystem "/" has enough space.

As root:

mkdir /opt/oracle

mkdir /opt/oracle/product

mkdir /opt/oracle/product/9.2.0

chown -R oracle.oinstall /opt/oracle

mkdir /var/opt/oracle

chown oracle.dba /var/opt/oracle

chmod 755 /var/opt/oracle

11,Set Oracle Environments

Set the following Oracle environment variables before you start runInstaller.

As the oracle user execute the following commands:

# Oracle Environment

export ORACLE_BASE=/opt/oracle

export ORACLE_HOME=/opt/oracle/product/9.2.0

export ORACLE_SID=test

export ORACLE_TERM=xterm

#export TNS_ADMIN= Set if sqlnet.ora, tnsnames.ora, etc. are not in $ORACLE_HOME/network/admin

export NLS_LANG=AMERICAN #export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;(if you use Chinese)

export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

export LD_LIBRARY_PATH

# Set shell search paths

export PATH=$PATH:$ORACLE_HOME/bin

# I successfully installed Oracle9iR2 WITHOUT setting the following CLASSPATH environment variable:

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib

export CLASSPATH

export TMPDIR=/tmp

You can put these environment settings at the end of the ~oracle/.bash_profile file if you use bash.

12,Start runInstaller

Oracle no longer supports a character mode installer. Therefore, in order to execute runInstaller directly from a console of a machine you are logged into (in this example the node name where Oracle is running is called "oracleserver"), you need to set the DISPLAY environment variable.

From the console of your Oracle server "oracleserver " you are logged into, execute the following command as user " oracle ":

oracleserver:oracle$ export DISPLAY=yourlocalIP:0.0

13,Running Oracle Installation

This is how I answered the questions in the runInstaller:

What would you like as the base directory (Inventory Location):

/opt/oracle/oraInventory

UNIX Group Name (permission for updating Oracle software):

oinstall

You could also use "dba" which I do not recommend for security reasons.(refer to step 9)

Full path name for Oracle Home:

/opt/oracle/product/9.2.0

Oracle Home Name:

OUIHome

14,You might get the following installation problems when you install Oracle 9i (9.2.0):

l First check always the error logs in /tmp/OraInstall for 9.2.0, e.g /tmp/OraInstall2002-07-04_09-50-19PM, and in /tmp/OraInstall for 9.0.1. When you get make problems check also $ORACLE_HOME/install/make.log.

l Q:"Error in invoking target install of makefile /opt/oracle/product/9.2.0/ctx/lib/ins_ctx.mk"

A:Edit $ORACLE_HOME/ctx/lib/env_ctx.mk and go to "INSO_LINK =", add a "$(LDLIBFLAG)dl" to the line and save it.

Here is the full line with the added "$(LDLIBFLAG)dl" flag:

INSO_LINK = -L$(CTXLIB) $(LDLIBFLAG)m $(LDLIBFLAG)dl $(LDLIBFLAG)sc_ca $(LDLIBFLAG)sc_fa $(LDLIBFLAG)sc_ex $(LDLIBFLAG)sc_da $(LDLIBFLAG)sc_ut $(LDLIBFLAG)sc_ch $(LDLIBFLAG)sc_fi $(LLIBCTXHX) $(LDLIBFLAG)c -Wl,-rpath,$(CTXHOME)lib $(CORELIBS) $(COMPEOBJS)

l Q:"Error invoking target install of makefile /opt/oracle/product/9.0.1/plsql/lib/ins_plsql.mk"

"Error invoking target install of makefile /opt/oracle/product/9.0.1/precomp/lib/ins-precomp.mk"

"Error invoking target install of makefile /opt/oracle/product/9.0.1/precomp/lib/ins-net-client"

"Error invoking target install of makefile /opt/oracle/product/9.0.1/precomp/lib/ins-oemagent"

A:Edit the file $ORACLE_HOME/bin/genclntsh and change the following line (people have sent me emails pointing out that this also works for Mandrake 8.1 and Mandrake 8.2):

LD_SELF_CONTAINED="-z defs"

to read:

LD_SELF_CONTAINED=""

Then run the script $ORACLE_HOME/bin/genclntsh as the user "oracle" and not as the user "root". Also make sure you have all the Oracle environments set!

$ su - oracle

$ $ORACLE_HOME/bin/genclntsh

Created /opt/oracle/product/9.0.1/lib/libclntst9.a

$

l Q:Can't find init file for Database "SID".

A:I saw this error only in connection with Oracle 9i R2 (9.2.0) when It tried to start the database with dbstart.

I copied the init file for my SID "test" from /opt/oracle/admin/test/pfile to $ORACLE_HOME/dbs to get dbstart and dbshut working:

cp /opt/oracle/admin/test/pfile/inittest.ora.642002224936 $ORACLE_HOME/dbs/inittest.ora

l Q:"Error in setting permissions of file/directory /opt/oracle/jre/1.1.8/bin/i686/native_threads/.extract_args"

A:While the error dialog is open, manually find and copy the .extract_args file from your installed jre to where runInstaller complains it is missing.

l Q:"jre was not found in /tmp/OraInstall/jre/bin/i586/green_threads/jre"

A:You are probably running runInstaller on a 586 machine, or your AMD CPU gets recognized as 586 (e.g. AMD K6-III-400). You can check your machine (hardware) type by executing uname -m .

To rectify this problem, create a link for lib and bin from i586 to i686 and make the i686 directories read only:

E.g.

ln -s /tmp/OraInstall/jre/bin/i686 /tmp/OraInstall/jre/bin/i586

ln -s /tmp/OraInstall/jre/lib/i686 /tmp/OraInstall/jre/lib/i586

chmod u-w /tmp/OraInstall/jre/bin/i686 /tmp/OraInstall/jre/lib/i686

Now restart runInstaller.

If you are not running on a 586 or AMD machine, try to link jre to java and see if this solves your problem.

l Do not cd to /mnt/cdrom to run ./runInstaller!

If you do so, the installation will fail because you won't be able to change the CDs.

l If you forgot to set the DISPLAY environment variable (e.g. export DISPLAY=oracleserver:0.0) , or if you forgot to give the remote console - your Oracle Server - authority to display X information on your desktop PC (e.g. xhost +oracleserver ), you will get the following error:

Xlib: connection to ":0.0" refused by server

Xlib: Client is not authorized to connect to Server

In this case, I always had to kill runInstaller which was still running in the background! If you don't do this, runInstaller will not completely come up any more and you will not see any error messages that runInstaller is having problems.

You might also want to clean up /tmp/OraInstall (9.0.1):

rm -rf /tmp/OraInstall

l When runInstaller starts to configure the tools ("Configuration Tools"), the "Oracle Net Configuration Assistant" will sometimes hang. Simply stop the Assistant and restart it, or continue the installation. When the rest of the installation is finished, do a "Retry" for "Oracle Net Configuration Assistant". This always worked for me.

l When the system stops to respond during the Oracle installation, in particular during the database creation, then it is probably because you don't have enough RAM or enough swap space. I noticed that the whole system will not respond (or "hang") for several minutes when I did not have enough swap space. If this happens, simply wait until the system starts to respond again.

l The Oracle installation also runs make etc. In a production environment you might not have compilers and other development packages installed. Therefore make sure you have temporarily the following packages installed: gcc, cpp, egcs, egcs-c++, glibc-devel, kernel-headers. (I'm not sure though if all of these packages have to be on the system during the Oracle installation.)

l If for any reason the Oracle installation didn't finish successfully, you might want to clean up the following files and directories before you restart over again:

rm -rf /etc/oraInst.loc /etc/oratab /tmp/OraInstall

/tmp/<OtherOracleOwnedFiles>

$ORACLE_BASE/*

15,Startup and Shutdown of Oracle 9i Database

sqlplus:

svrmgrl is not supported any more. You can now do everything with sqlplus.

E.g., to startup the database, execute the following commands:

dba$ sqlplus /nolog

SQL> connect / as sysdba

SQL> startup

The slash connects you to the schema owned by SYS. So in this example we are saying that we want to connect to the schema owned by SYS with the privilege SYSDBA. SYSDBA gives you the following privileges:

sysoper privileges WITH ADMIN OPTION

create database

recover database until

$ORACLE_HOME/bin/dbstart and $ORACLE_HOME/bin/dbshut :

You can also use $ORACLE_HOME/bin/dbstart to startup the database, and $ORACLE_HOME/bin/dbshut to shutdown the database. You can place $ORACLE_HOME/bin/dbstart into the /etc/rc.d/rc.local boot script to automatically bring up the database at system boot time. To get $ORACLE_HOME/bin/dbstart and $ORACLE_HOME/bin/dbshut working, you need to change the third field for your Oracle SID in /etc/oratab from "N" to "Y".

E.g. for the Oracle SID "test" I changed the line in /etc/oratab from

test:/opt/oracle/product/9.2.0:N

to read

test:/opt/oracle/product/9.2.0:Y

For 9.2.0, I also had to copy the init file for my SID "test" from /opt/oracle/admin/test/pfile to $ORACLE_HOME/dbs to get dbstart and dbshut working:

cp /opt/oracle/admin/test/pfile/inittest.ora.642002224936 $ORACLE_HOME/dbs/inittest.ora

But first check if your init file already exists in $ORACLE_HOME/dbs.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有