怎么用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.
at java.awt.Component.
这个问题主要是缺少一个包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方式安装数据库"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!