技术栈

主页 > 数据库 >

在linux as4上用tar方式安装oracle 10g步骤教程

技术栈 - 中国领先的IT技术门户

今天在linux as4上用tar方式安装oracle 10g,下面简单那记录步骤及安装过程中出现的问题。

数据库所在服务器信息:

 [[email protected] data]$ more /etc/issue

 Red Hat Enterprise Linux ES release 4 (Nahant)

 Kernel on an m

 [[email protected] data]$ uname -a

 Linux haoc2008 2.6.9-5.ELsmp #1 SMP Wed Jan 5 19:29:47 EST 2005 x86_64 x86_64 x86_64 GNU/Linux

新数据库所在服务器信息:

 [[email protected] soft]# more /etc/issue

 Enterprise Linux Enterprise Linux AS release 4 (October Update 4)

 Kernel on an m

 [[email protected] soft]# uname -a

 Linux yans2 2.6.9-42.0.0.0.1.ELsmp #1 SMP Sun Oct 15 15:13:57 PDT 2006 x86_64 x86_64 x86_64 GNU/Linux

两个操作系统有所区别,但是问题不大。

1、在新服务器上添加用户

 groupadd oinstall

 useradd -g oinstall oracle

2、在新服务器上添加相关目录

 mkdir -p /data/oracle/product

3、设置核心参数

 vi /etc/sysctl.conf,添加

 kernel.shmall = 2097152

 kernel.shmmax = 8589934592

 kernel.shmmni = 4096

 kernel.sem = 250 32000 100 128

 fs.file-max = 65536

 net.ipv4.ip_local_port_range = 1024 65000

 net.core.rmem_default = 262144

 net.core.rmem_max = 262144

 net.core.wmem_default = 262144

 net.core.wmem_max = 262144

 使设置生效:

 sysctl -p

4、修改oracle用户的环境变量

 su - oracle

 vi  .bash_profile 添加:

 export ORACLE_SID=newdemo

 export ORACLE_BASE=/data/oracle

 export ORACLE_HOME=/data/oracle/product/10.2

 export PATH=$ORACLE_HOME/bin:$PATH

 export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"

5、在原服务器打包程序

把$ORACLE_HOME下的东西打包压缩:

 cd $ORACLE_BASE/product

 tar cfz oracle10203.tar 10.2

6、传送到新服务器并解压

 sftp .....

 cd $ORACLE_BASE/product

 tar -xzfv oracle10203

7、修改解压后的文件属主

[[email protected] oracle]# chown -R oracle:oinstall /data/

chown: changing ownership of `/data/oracle/product/10.2/rdbms/filemap': No such file or directory

这里出现一个错误,提示文件不存在,经检查这是一个软链接:

[[email protected] oracle]# ls -l /data/oracle/product/10.2/rdbms/filemap

lrwxrwxrwx  1 root root 22 Jan 10 17:22 /data/oracle/product/10.2/rdbms/filemap -> /opt/ORCLfmap/prot1_64

经检查,当前的系统确实不存在/opt/ORCLfmap目录,实际上/opt/ORCLfmap是有root.sh生成的,先删除这个软链接:

rm -f /data/oracle/product/10.2/rdbms/filemap

重新执行root.sh:

[[email protected] opt]# /data/oracle/product/10.2/root.sh

 Running Oracle10 root.sh script...

 The following environment variables are set as:

     ORACLE_OWNER= oracle

     ORACLE_HOME=  /data/oracle/product/10.2

 Enter the full pathname of the local bin directory: [/usr/local/bin]:

    Copying dbhome to /usr/local/bin ...

    Copying oraenv to /usr/local/bin ...

    Copying coraenv to /usr/local/bin ...

 Creating /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.

此时软连接和目录都已经存在:

 [[email protected] opt]# ls /data/oracle/product/10.2/rdbms/filemap

 bin  etc  log

 [[email protected] opt]# ls -l /data/oracle/product/10.2/rdbms/filemap

 lrwxrwxrwx  1 root root 22 Jan 10 17:40 /data/oracle/product/10.2/rdbms/filemap -> /opt/ORCLfmap/prot1_64

8、创建数据库

   运行dbca,一步一步设置好就可以。

9、清理原网络相关文件、原密码文件等。

过程中遇到的问题:

1、chown: changing ownership of `/data/oracle/product/10.2/rdbms/filemap': No such file or directory

这个问题在上文已有描述,这里不再赘述。

2、Exception in thread "main" java.lang.UnsatisfiedLinkError: /data/oracle/product/10.2/jdk/jre/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory

执行dbca时报错:

 [[email protected] ~]$ dbca

 Exception in thread "main"

[[email protected] ~]$

这里报错信息非常少,无法判断是什么原因,再执行netca就可以看得更多的错误信息了:

[[email protected] bin]$ netca

Exception in thread "main" java.lang.UnsatisfiedLinkError: /data/oracle/product/10.2/jdk/jre/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory

        at java.lang.ClassLoader$NativeLibrary.load(Native Method)

        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1586)

        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1503)

        at java.lang.Runtime.loadLibrary0(Runtime.java:788)

        at java.lang.System.loadLibrary(System.java:834)

        at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:50)

        at java.security.AccessController.doPrivileged(Native Method)

        at sun.awt.NativeLibLoader.loadLibraries(NativeLibLoader.java:38)

        at sun.awt.DebugHelper.<clinit>(DebugHelper.java:29)

        at java.awt.Component.<clinit>(Component.java:506)  

这个问题主要是缺少一个包xorg-x11-deprecated-libs导致的,把包安装上就可以:

[[email protected] soft]# rpm -ivh xorg-x11-deprecated-libs-6.8.2-1.EL.13.37.i386.rpm

 warning: xorg-x11-deprecated-libs-6.8.2-1.EL.13.37.i386.rpm: V3 DSA signature: NOKEY, key ID b38a8516

 Preparing...                ########################################### [100%]

    1:xorg-x11-deprecated-lib########################################### [100%]

   注意:虽然系统是64位的,但是这里要安装32位的包。

3、ORA-12547: TNS: 丢失连接

在创建数据库前,简单测试一下sqlplus是否正常,发现了这个问题:

 [[email protected] ~]$ sqlplus "/as sysdba"

 SQL*Plus: Release 10.2.0.3.0 - Production on 星期四 1月 10 17:51:35 2008

 Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

 oraclenewdemo: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

 ERROR:

 ORA-12547: TNS: 丢失连接

请输入用户名: 

引起问题的原因是libaio系统包,把相关包安装即可:

 [[email protected] soft]# ls

 libaio-0.3.105-2.i386.rpm  libaio-0.3.105-2.x86_64.rpm  libaio-devel-0.3.105-2.x86_64.rpm

 [[email protected] soft]# rpm -ivh *

 warning: libaio-0.3.105-2.i386.rpm: V3 DSA signature: NOKEY, key ID b38a8516

 Preparing...                ########################################### [100%]

    1:libaio                 ########################################### [ 33%]

    2:libaio                 ########################################### [ 67%]

    3:libaio-devel           ########################################### [100%]

 同样,这里也需要安装两个32位的包。 

4、ORA-01031: insufficient privileges

[[email protected] ~]$ sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.3.0 - Production on 星期五 1月 11 10:48:35 2008

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

ERROR:

ORA-01031: insufficient privileges

请输入用户名: 

这个问题是因为用户组不一致造成的。

原库:

[[email protected] oraInventory]$ id -a

uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba) context=user_u:system_r:unconfined_t

新库:

[[email protected] oraInventory]$ id -a

uid=500(oracle) gid=500(oinstall) groups=500(oinstall) context=user_u:system_r:unconfined_t

在新库上为oracle用户添加组就可以了:

[[email protected] ~]# usermod -G dba oracle

责任编辑:admin  二维码分享:
本文标签: oraclerootdatayans2javaproduct
点击我更换图片

评论列表