linux下oracle服务器配置,从服务器构建说起(四).Linux下安装配置Oracle

从服务器构建说起(四).Linux下安装配置Oracle

草木瓜

20070417

一、序

早在《虚拟机RedHatLinux9安装Oralce92全过程》一文中,(链结:http://blog.csdn.net/liwei_cmg/archive/2006/05/28/759286.aspx)

就详细说明了Linux环境安装Oracle的过程。不过再次尝试去发现了不少漏洞和新问题,

不得不感叹Linux安装配置Oracle的复杂性。本文平台RedHat 企业版4+Oracle 9.2.0.4

服务器构建系列:http://blog.csdn.net/liwei_cmg/category/227512.aspx

二、修正错误

在《虚拟机RedHatLinux9安装Oralce92全过程》一文中,提到:

[注意事项]

1.最好在Windows下解压缩出cpio文件,Winrar支持gz格式。经测试,Linux下执

行gunzip速度太慢。

这是十分不妥的!一方面Windows下Winrar解压缩速度,比起PC Server SCIS,实

在太慢了。另一方面解压缩出的安装文件,在Linux下安装会有大量问题,每遇到

完全大写的文件,就提示没有权限操作。后来在Linux解压安装未发生任何问题。

后分析,当时得出这个结论原因是虚拟机的性能比较低,主观臆断而已。

三、安装与配置中新的问题

除了以上的严重错误,其他安装过程是没有任何问题的。

本次安装,只建立了一个oracle用户和对应组,组名也为oracle。

第一个问题:

在访问Windows共享资源时,smbmount不能打开端口,即mount -t smbfs无效。

原因是Windows机器开了防火墙,禁止了相关端口。

第二个问题:

图形化安装过程,提示不能创建文件,无相关权限,这是由于在Windows下对

gz文件做了解压缩,后来在Linux gunzip即可。

第三个问题:

首次安装,设置oraInventory目录,系统提示用root执行orainstRoot.sh。如果此

后有问题终止安装后,重装发现oraInventory目录不能更改。原因是存在/etc/oraInst.loc

文件。删除后,即可进行设置更改

第四个问题:

Exception thrown from action: make

Exception Name: MakefileException

Exception String: Error in invoking target install of makefile /home/oracle/ora9/oracle/plsql/lib/ins_plsql.mk

编译make -f ins_plsql.mk提示什么找不到对应的glic2.3 ...

这个问题是由于Oracle安装要求低版本的gcc,原来在虚拟机安装的gcc版本是3.2.2

可以通过,这个企业版本Linux的gcc是3.4.4,后来发现存在/usr/bin/gcc32,将

mv /usr/bin/gcc /usr/bin/gccnew

mv /usr/bin/gcc32 /usr/bin/gcc

再进行安装,没有任何问题,不过安装之后须要改回原样。

第五个问题:

使用dbca时创建数据库时,最后一步出现错误:

home/oracle/ora9/oracle/bin/dbca: line 124: 31614 Segmentation fault $JRE_DIR/bin/jre -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS

修改dbca,将最后一行改为:

# Run DBCA

$JRE_DIR/bin/jre -native -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS

fi

即添加了一个native参数即可。

四、数据库的导入导出

这里采用imp,exp进行针对性的数据导入导出。

1.建立bat文件(expdata.bat),至于bat用法可help 命令查询帮助。内容如下:

copy E:/backup/*.* E:/old_backup

del /q E:/backup/*.*

oracle_bakup.vbs

2.VB Script 脚本 oracle_bakup.vbs:

Option Explicit

On Error Resume Next

Dim fname, cmd

Dim WshShell

Set WshShell = CreateObject("WScript.Shell")

fname = Date

cmd = "exp log=e:/" & fname & ".log file=e:/" & fname & "_.dmp parfile=exp.txt"

WshShell.run cmd

Set WshShell = Nothing

'WScript.Echo cmd

3.exp.txt文件内容:

userid=test/test@zjyx68

buffer=209715200

tables=

(

CNT_INFO,

CNT_OPERATOR

)

compress=yes

consistent=no

grants=yes

indexes=yes

rows=yes

constraints=yes

三个文件均在同一目录,双击执行bat即可,这里需要着重说明的是:

A.字符集的一致性(字符集的经典文章《Oracle字符集问题总结》http://blog.csdn.net/liwei_cmg/archive/2006/06/04/772674.aspx)

B.导入导入段的客户端版本和服务器版本的兼容性,如在9.2客户端导出9.0数据库

再导入时会出现如下错误:

. importing CUSTOM's objects into CUSTOM

IMP-00017: following statement failed with ORACLE error 922:

"CREATE TABLE "LIWEI_TEST" ("NAME" VARCHAR2(10)) PCTFREE 10 PCTUSED 40 INIT"

"RANS 1 MAXTRANS 255 STORAGE(INITIAL 524288 FREELISTS 1 FREELIST GROUPS 1) T"

"ABLESPACE "CUSTOM" NOLOGGING NOCOMPRESS"

IMP-00003: ORACLE error 922 encountered

ORA-00922: missing or invalid option

Import terminated successfully with warnings.

即使创建相关表结构,使用ignore参数仍然出错,将相关语句放在sqlplus执行

会提示NOCOMPRESS为无效选项,这里推测还是版本的兼容性问题,即保证向下兼容。

如用9.2客户端导出9.0数据库,提示

EXP-00056: ORACLE error 942 encountered

ORA-00942: table or view does not exist

EXP-00000: Export terminated unsuccessfully

后使用9.0客户端导入导出,则无任何问题。

C.导入导出的buffer十分重要,如果内存够大,尽量设置大一些,尤其是在导出

的情况,否则频繁的磁盘IO会导致导入导出十分缓慢。

D.对于Package Function Procedure Sequence DBLink之类的导出,实际上就

导出创建语句,可以使用PL/SQL进行操作,导入时只须执行导入的.sql文件即可。

五、最后的说明

相关的系列文章到此就结束了,总体看来十分琐碎,然解决起来通常令人头疼 。故用了大量篇幅罗列记录,以备查阅。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值