千家信息网

怎么用tar方式安装数据库

发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,本篇内容介绍了"怎么用tar方式安装数据库"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!今天在lin
千家信息网最后更新 2024年11月19日怎么用tar方式安装数据库

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

今天在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方式安装数据库"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0