VMWARE中在LINUX下安装ORACLE 9I

文章转自:http://blog.sina.com.cn/s/blog_032347550100a6pm.html

下载,准备
http://download.oracle.com/otn/linux/oracle9i/9204/ship_9204_linux_disk1.cpio.gz
http://download.oracle.com/otn/linux/oracle9i/9204/ship_9204_linux_disk2.cpio.gz
http://download.oracle.com/otn/linux/oracle9i/9204/ship_9204_linux_disk3.cpio.gz
我建议将安装文件放在windows的盘符下,共享文件夹,通过mount -t smbfs方式来让linux访问windows下共享的文件夹来进行安装,对虚拟linux来说,就不需要占用那么大的空间.
需要保证虚拟就机linux和windows之间的网络畅通,用root用户给linux设置ip地址,方法:root登录图形界面,"开始菜单"->"system settings"->"network"
虚拟linux磁盘空间8G以上,linux 2.8G,oracle 2.85G,数据库2G;
虚拟机内存,我自己安装分配了512M,速度还比较块,我看别人用256M,很慢.
如果上面的具备了,可以进行下面的步骤了.
环境配置,安装
1)添加用户组,用root用户登录
groupadd orainstall
groupadd oradba
groupadd oraoper
useradd ora -G orainstall,oradba
可以根据自己的情况用不同的用户名字和组,根据自己喜好.

2)切换到root用户
vi /etc/sysctl.conf
然后在最后添加一行
kernel.shmmax = 261986254
如果遗漏这步,安装的最后一步会报ORA-27123: unable to attach to shared memory segment错误.

3)在.bash_profile中添加环境变量
然后用ora用户登录,在该文件中添加如下的内容:
#ORACLE
export LD_ASSUME_KERNEL=2.4.1
export ORACLE_BASE=/home/ora/ora9
export ORACLE_HOME=/home/ora/ora9/oracle
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
#NoUse
export ORACLE_SID=linuxdb
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN_AMERICA.US7ASCII
#LIB,CLASS
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
export PATH=$PATH:$ORACLE_HOME/bin
CLASSPATH=$CLASSPATH:$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
修改.bash_profile之后,重新登录,或者source .bash_profile就可以是上面配置的环境变量生效.

4)解压缩文件
在windows下,将存放安装文件的文件夹oracle共享,设置共享权限为可读可写,然后执行如下命令:
mount -t smbfs -o username=cl,password=chenli,ip=192.168.1.100 -l //chenli/oracle /home/ora/setup
命令解释:
上面命令中,username=cl,password=chenli中cl是windows用户,chenli是cl用户的密码
ip=192.168.1.100 中192.168.1.100 是windows主机的ip地址
//chenli/oracle 中,chenli是windows主机的主机名,oracle是共享文件夹
/home/ora/setup 是linux下的目录路径,必须存在,可以根据自己的需要,设定不同的路径.

解压文件,顺序执行下面的命令:
cd /home/ora/setup
gunzip ship_9204_linux_disk1.cpio.gz
gunzip ship_9204_linux_disk2.cpio.gz
gunzip ship_9204_linux_disk3.cpio.gz
cpio -idmv < ship_9204_linux_disk1.cpio
cpio -idmv < ship_9204_linux_disk2.cpio
cpio -idmv < ship_9204_linux_disk3.cpio
执行完了之后,会出现Disk1,Disk2,Disk3三个目录

5)安装
用ora用户登录到linux的图形化界面
进入/home/ora/setup/Disk1目录
执行./runInstaller
注意,有些时候显示的安装界面是乱码的,我的red hat linux 9的简体中文版,安装程序都是英文的,这个时候可以通过执行如下命令来解决问题:
export LC_ALL=C
export LANG=C
然后再执行./runInstaller就不会有乱码了.
错误总结:
我在安装过程中出现了一些问题,在这儿跟大家分享.
1)弹出对话框,显示错误信息:thrown when the ip address of a host cannot be determined
这时候需要用root用户打开/etc/hosts 编辑该文件,ip地址和主机名字的对应关系,尽量简单,在第二列,即主机名列,不要出现ip地址形式x.x.x.x的主机名

2)在安装的最后,安装agent工具的时候出现如下的错误信息:
    Parameter "orahome" = /oracle/product/9.2.0
   Parameter "nodeinfo" = NO_VALUE
   Agent Service Failed
这个问题是没有打补丁引起的,不过该问题不会影响到数据库的使用,只是agent工具不可用.
下载p2617419_220_GENERIC.zip p3006854_9204_LINUX.zip p3238244_9204_LINUX.zip
然后安装,需要重新执行oracle的安装./runInstaller,所以最好在安装前打一下这个补丁.
启动数据库
用ora用户登录linux
首先执行命令:sqlplus "/ as sysdba"
显示SQL>执行命令startup,启动数据库;执行shutdown,关闭数据库.

启动监控程序,在普通命令行下执行如下命令
lsnrctl start 启动监控
lsnrctl stop 停止监控
使用数据库
用ora用户登录主机
执行sqlplus "/as sysdba" 以系统dba的身份登录数据库.
然后创建表空间,创建用户,给用户授予权限

1)然后创建表空间
create   tablespace   devbase     
         datafile   '/home/ora/tbspace/devbase_20080121.dbf'   size   500M 
         autoextend   on 
         next   100M 
         maxsize   1000M;
要确保/home/ora/tbspace目录存在,有权限,足够的空间存放表空间文件

2)创建用户
create   user   dev 
         identified   by   dev123
         default   tablespace   devbase 
         temporary   tablespace   temp;
创建用户dev,密码是否dev123,默认表空间为devbase 
注意,这个时候还不能用dev登录数据库,因为dev用户还没有create session,connect,resource权限,还不能登录;

3)给用户授予权限
grant   resource,connect   to dev;
grant create session to dev;
grant create table to dev;
grant create tablespace to dev;
grant create view to dev;
这时你可以用dev用户进行登录了.

4)修改用户密码
用sys或者system用户登录,执行如下的sql修改用户密码
alter user dev identified by chenli;


最后还因为注意一个小问题,修改ORACLE_HOME/network/admin/tnsnames.ora,将配置该文件中所有HOST的值,全部由ip地址替换,这样在登录数据库的过程总,减少了主机名字=>ip地址的解析过程,有些时候,会提高一下登录的速度.
在普通linux用户下建立开发环境
配置环境变量,搜索路径中可以找到oracle程序.
vi .bash_profile 添加如下的配置
#oracle
export ORACLE_BASE=/home/ora/ora9
export ORACLE_HOME=/home/ora/ora9/oracle
export ORACLE_SID=linuxdb
export ORACLE_TERM=xterm

#LD_LIBRARY_PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/local/lib:$ORACLE_HOME/rdbms/demo

PATH=$PATH:/usr/bin:/usr/sbin:/usr/local/bin:.
PATH=$PATH:$ORACLE_HOME/bin
export PATH

建立普通用户在路径$ORACLE_HOME/bin,$ORACLE_HOME/include,$ORACLE_HOME/lib上所有目录的xr读执行权限,这样该登录用户才能使用$ORACLE_HOME/bin目录下的一些oracel程序.并且要保证在开发过程中,可以使用oracle下的头文件,库文件.

1)创建seq对象
create sequence SEQ_STAFF_ID
minvalue 1
maxvalue 9999999
start with 1
increment by 1
cache 20;

2)创建表
create table staff_info
(
staff_id number(10),
staff_name varchar2(20),
addr       varchar2(200)
);

ok,一个基本的oracle数据库就可以使用了.
 

 

 

注意的问题:

很早以前写的安装文档
1.确保RPM开发包,使用下面命令查看是否已安装这些包
       rpm -q gcc cpp compat-libstdc++ glibc-devel glibc-kernheaders binutils
2.Oracle官方网站下载Oracle9i安装文件为:Linux9i_Disk1.cpio.gz,Linux9i_Disk2.cpio.gz,Linux9i_Disk3.cpio.gz
三个文件,进行解压,
      zcat Linux9i_Disk1.cpio.gz | cpio -idmv
      zcat Linux9i_Disk2.cpio.gz | cpio -idmv
      zcat Linux9i_Disk3.cpio.gz | cpio -idmv
  然后有Disk1 Disk2 Disk3三个目录
3.设置内核参数
  vi /etc/sysctl.conf,加入下面参数
     kernel.shmmax=4294967295  内存512M
  计算方法为:kernel:shmmax=1024*1024*RAM(M)/2
  或者
   编辑/etc/sysctl.conf
   kernel.shmmax=4294967295
   以上为512MB内存,所以设置这个数值。可根据实际情况设置。
   这个shmmax是定义共享内存段的最大尺寸参数shmmax建议的设定值为物理内存的一半
   执行sysctl -p生效
4.修改oracle用户能够打开的文件总数
  vi /etc/security/limits.conf
  oracle soft nofile 65536
  oracle hard nofile 65536
  oracle soft nproc 16384
  oracle hard nproc 16384
  
4.建立数据目录和用户
以root的身份,使用groupadd命令增加dba组;
#groupadd dba
对于Oracle9i,还需要增加oinstall组,用来分配在数据仓库中安装软件的权限
#groupadd oinstall
对于oracle9i,使用oinstall和dba组作为默认组创建oracle账号
#useradd -g oinstall -G dba oracle
设置Oracle账号的口令
#passwd oracle
为Oracle建立的相应目录
#mkdir /opt/oracle
#mkdir /opt/oracle/product
#mkdir /opt/oracle/product/9.2.0
为使Oracle账号在安装期间使用这些安装位置,必须具有适当的权限。将安装位置的所有权限更改为Oracle账号。
#chown -R oracle.oinstall /opt/oracle
#mkdir /var/opt/oracle
#chown oracle.dba /var/opt/oracle
#chmod 755 /var/opt/oracle
5.使用oracle账号的.bash_profile插入下列环境变量
vi .bash_profile 设置变量
export LD_ASSUME_KERNEL=2.4.1
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/9.2.0
export ORACLE_SID=ora9
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
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
export PATH=$PATH:$ORACLE_HOME/bin
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
(1)export TNS_ADMIN=$ORACLE_HOME/network/admin
   这样设置不会频频遭遇监听报错
重新用oracle用户登录,环境就可以生效
6.安装oracle
1.进入Disk1,然后执行:
  ./runInstaller
  如果出现乱码,是中文不能正常显示,使用oracle用户登录,执行命令:
  $export LANG=en
(1),在建立Oracle Inventory时候 ,出现提示框:
  please execute the /tmp/orainstRoot.sh script now .....
  安装程序已准备一个建立Oracle Inventory所用的orainsRoot.sh脚本,放在目录/tmp下,不过这个脚本需要有root身份才能执行,我们可以再开启一个终端窗口来执行该脚本,
  $su - root
  #/tmp/orainstRoot.sh
  执行完毕后再回到对话框单击Continue按钮继续
(2)当进行到61%时出现一个关于ins_oemagent错误,选择ignore,安装完后修复
(3) 当进行到84%时出现一个关于ins_ctx错误
编辑$ORACLE_HOME/ctx/lib/env_ctx.mk文件,
将参数$(LDLIBFLAG)dl加到文件结尾处的"INSO_LINK="字段中,修改为:
INSO_LINK=-L$(CTXLIB)$ (LDLIBFLAG)m $(LDLIBFLAG)dl $(LDLIBFLAG)sc_ca处。
单击 Retry按钮继续安装
(4)在安装程序复制完成后,提示要求以root身份执行$ORACLE_HOME/root.sh脚本程序,我们单击OK按钮,开启一个终端窗口来执行该脚本
  $su - root
  #/oracle/product/9.2.0/root.sh
  其中,程序会询问bin目录的位置,直接按下Enter键即可,回到安装程序,单击Ok按钮
安装完成后,
我们修复第二个错误
使用oracle用户
$cd $ORACLE_HOME/network/lib
$make -f ins_net_client.mk install
编辑$ORACLE_HOME/ctx/lib/ins_ctx文件
在大概第13-14行处
修改 $(LINK) $(CTXHXOBJ) $(INSO_LINK)

$(LINK) -ldl $(CTXHXOBJ) $(INSO_LINK)
7.在创建库的时候,执行dbca时候出现错误
$./dbca
   SIGSEGV   11*  segmentation violation
        stackbase=0x453da000, stackpointer=0x453d9d5c
  Full thread dump:
    "AWT-EventQueue-0" (TID:0x411d1e20, sys_thread_t:0x453d9e0c,
  state:R) prio=5 *current thread*
        java.lang.Object.wait(Object.java)
        java.awt.EventQueue.getNextEvent(EventQueue.java:126)
需要执行以下操作:
$ su - root
# touch /etc/rac_on
编辑vi $ORACLE_HOME/bin/dbca
需要修改下面的
  if [ -f /etc/rac_on ]; then
  Run DBCA
  JRE_DIR/bin/jre -native -DORACLE_HOME=$OH ...
  else
  Run DBCA
  $JRE_DIR/bin/jre -DORACLE_HOME=$OH...
在 # $JRE_DIR/bin/jre -DORACLE_HOME=$OH 中加-native,修改后为:
  if [ -f /etc/rac_on ]; then
  Run DBCA
  JRE_DIR/bin/jre -native -DORACLE_HOME=$OH ...
  else
  Run DBCA
  $JRE_DIR/bin/jre -native -DORACLE_HOME=$OH...

8.启动数据库、监听程序
启动数据库
  $Sqlplus “ / as sysdba”
    SQL>startup
关闭数据库
    SQL>shutdown
启动监听程序
  lsnrctl

 

在Redhat9下安装Oracle9
在Redhat9下安装Oracle9

1、创建用户和组:
[root@miniroko]# groupadd oinstall
[root@miniroko]# groupadd dba
[root@miniroko]# useradd -g oinstall -G dba oracle
[root@miniroko]# passwd oracle

2、准备文件目录:
[root@miniroko]# mkdir -p /opt/ora9/product/9.2
[root@miniroko]# mkdir /var/opt/oracle
[root@miniroko]# chown oracle.dba /var/opt/oracle
[root@miniroko]# chown -R oracle.dba /opt/ora9

3、调节系统内核参数及安装支持软件包:
编辑文件: /etc/sysctl.conf 这个文件,加入以下的语句:
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000

4、设置oracle对文件的要求:
编辑文件:/etc/security/limits.conf 加入以下语句:
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
这个需要重启后才能生效。

5、设置oracle的系统环境:
以oracle用户的身份登录:
[root@miniroko]# su oracle
[root@miniroko]# cd ~
编辑它的.bashrc文件加入以的语句:
#oracle 9i
export ORACLE_BASE=/opt/ora9
export ORACLE_HOME=/opt/ora9/product/9.2
export PATH=?$ORACLE_HOME/bin:?$ORACLE_HOME/Apache/Apache/bin:?$PATH
export ORACLE_OWNER=oracle
export ORACLE_SID=ora9i
export ORACLE_TERM=vt100
export LD_ASSUME_KERNEL=2.4.1
export THREADS_FLAG=native
export LD_LIBRARY_PATH=/opt/ora9/product/9.2/lib:?$LD_LIBRARY_PATH
export PATH=/opt/ora9/product/9.2/bin:?$PATH
#
# change this NLS settings to suit your country:
# example:
# german_germany.we8iso8859p15, american_america.we8iso8859p2 etc.
#
#export NLS_LANG='croatian_croatia.ee8iso8859p2'
export LC=en_US

6、解压你下载的文件:
新建一个目录:mkdir /mnt/Oracle,将三个文件拷入新建的目录,解压三个文件:
[root@miniroko]# cd /mnt/Oracle
[root@miniroko]# gunzip gunzip lnx_920_disk1.cpio.gz
[root@miniroko]# gunzip lnx_920_disk2.cpio.gz
[root@miniroko]# gunzip lnx_920_disk3.cpio.gz
[root@miniroko]# cpio -idmv < lnx_920_disk1.cpio
[root@miniroko]# cpio -idmv < lnx_920_disk2.cpio
[root@miniroko]# cpio -idmv < lnx_920_disk3.cpio
这个将生成三个文件夹:DISK1, DISK2, DISK3

7、开始安装:
以oracle的用户身份登陆系统,执行安装命令:
[root@miniroko]# /mnt/Oracle/Disk1/runInstaller
当提示要以root权限运行时,打开一个新的控制台,执行
[root@wapdb /8i]# ./orainstRoot.sh,回到安装界面继续安装
以oracle的用户身份登陆系统(选择英文界面),执行安装命令:
[root@miniroko]# /mnt/Oracle/Disk1/runInstaller
安装过程中:
  A.当出现对话框提示please execute the /tmp/orainstRoot.sh script now from another window and then press "Continue" to countinue the install时,打开一个新的控制台,执行
[root@miniroko]#su root
[root@miniroko]#cd /tmp
[root@miniroko]#./orainstRoot.sh
               Creating Oracle Inventory pointer file (/etc/oraInst.loc)
  回到安装界面继续安装。
  B.当出现对话框提示A Configuration script needs to be run as root before install can proceed.please leave this window up,go run /opt/ora9/product/9.2/root.sh as root from another window,then come back here and click OK to continue.时,打开一个新的控制台,执行
[root@miniroko]#su root
[root@miniroko]#cd /opt/ora9/product/9.2
[root@miniroko]#./root.sh
               \nThe following environment variables are set as:
                   ORACLE_OWNER= oracle
                   ORACLE_HOME=  /opt/ora9/product/9.2
               Enter the full pathname of the local bin directory: [/usr/local/bin]:local
               Creating local directory...
                  Copying dbhome to local ...
                  Copying oraenv to local ...
                  Copying coraenv to local ...
               \nCreating /etc/oratab file...
               Adding entry to /etc/oratab file...
               Entries will be added to the /etc/oratab file as needed by
               Database Configuration Assistant when a database is created
               Finished running generic part of root.sh script.
               Now product-specific root actions will be performed.
  回到安装界面继续安装。

8.验证安装情况
[root@miniroko]#sqlplus "/as sysdba"
  SQL> connect sys/sys@ora9dat as sysdba
Connected.
  SQL> select name from v$database;
NAME
---------
ORA9DAT
  SQL> shutdown;
Database closed.
Database dismounted.
ORACLE instance shut down.
  SQL> startup;
ORACLE instance started.
Total System Global Area  236000356 bytes
Fixed Size                   451684 bytes
Variable Size             201326592 bytes
Database Buffers           33554432 bytes
Redo Buffers                 667648 bytes
Database mounted.
Database opened.

附:jdk安装(当安装oracle http server时,需要先安装jdk)
1.将安装文件拷贝到/usr/local目录下,进入目录
  #cd /usr/local
  #chmod +x jdk-1_5_0_02-linux-i586.rpm.bin(给所有用户添加可执行的权限)
  #./jdk-1_5_0_02-linux-i586.rpm.bin
  此时会生成文件jdk-1_5_0_02-linux-i586.rpm
  #chmod +x jdk-1_5_0_02-linux-i586.rpm(给所有用户添加可执行的权限)
2.安装程序
  #rpm -ivh jdk-1_5_0_02-linux-i586.rpm
3.设置环境变量。
  #vi /etc/profile 在最后面加入
  #set java environment
  JAVA_HOME=/usr/java/jdk-1.5.0_02
  CLASSPATH=.:$JAVA_HOME/lib.tools.jar
  PATH=$JAVA_HOME/bin:$PATH
  export JAVA_HOME CLASSPATH PATH
  要使JDK在所有的用户中使用,可以新建文件java.sh:
  vi /etc/profile.d/java.sh,在java.sh中输入以下内容:
  #set java environment
  JAVA_HOME=/usr/java/jdk-1.5.0_02
  CLASSPATH=.:$JAVA_HOME/lib/tools.jar
  PATH=$JAVA_HOME/bin:$PATH
  export JAVA_HOME CLASSPATH PATH
  然后给java.sh分配权限:chmod 755 /etc/profile.d/java.sh
4.重启系统,在终端使用echo命令检查环境变量设置情况。
#echo $JAVA_HOME
#echo $CLASSPATH
#echo $PATH
5.检查JDK是否安装成功。
#java -version
如果看到JVM版本及相关信息,即安装成功!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值