怎么用tar方式安装数据库

本篇内容介绍了“怎么用tar方式安装数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

成都创新互联主要从事网站设计制作、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务延津,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792

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

原数据库所在服务器信息:
 [oracle@haoc2008 data]$ more /etc/issue
 Red Hat Enterprise Linux ES release 4 (Nahant)
 Kernel \r on an \m
 
 [oracle@haoc2008 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


新数据库所在服务器信息:
 [root@yans2 soft]# more /etc/issue
 Enterprise Linux Enterprise Linux AS release 4 (October Update 4)
 Kernel \r on an \m
 
 [root@yans2 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、修改解压后的文件属主

[root@yans2 oracle]# chown -R oracle:oinstall /data/
chown: changing ownership of `/data/oracle/product/10.2/rdbms/filemap': No such file or directory

这里出现一个错误,提示文件不存在,经检查这是一个软链接:
[root@yans2 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:
[root@yans2 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.

此时软连接和目录都已经存在:
 [root@yans2 opt]# ls /data/oracle/product/10.2/rdbms/filemap
 bin  etc  log
 [root@yans2 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时报错:
 [oracle@yans2 ~]$ dbca
 Exception in thread "main"

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

[oracle@yans2 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.(DebugHelper.java:29)
        at java.awt.Component.(Component.java:506)  

这个问题主要是缺少一个包xorg-x11-deprecated-libs导致的,把包安装上就可以:
[root@yans2 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是否正常,发现了这个问题:
 [oracle@yans2 ~]$ 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系统包,把相关包安装即可:

 [root@yans2 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
 [root@yans2 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
[oracle@yans2 ~]$ 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


请输入用户名: 

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

原库:
[oracle@haoc2008 oraInventory]$ id -a
uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba) context=user_u:system_r:unconfined_t

新库:
[oracle@yans2 oraInventory]$ id -a
uid=500(oracle) gid=500(oinstall) groups=500(oinstall) context=user_u:system_r:unconfined_t

在新库上为oracle用户添加组就可以了:
[root@yans2 ~]# usermod -G dba oracle

“怎么用tar方式安装数据库”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


标题名称:怎么用tar方式安装数据库
本文地址:http://ybzwz.com/article/geohpe.html