RedHat AS 4 Ora9i.doc
mount -t smbfs -o username=yourname,password=yourpass //ip/共享目录名 /装载目录(如:/root/share)
1.1 liunx软件包
检查下面软件包是否安装(版本必须一样或更高) (#rpm -qa|grep compat)
compat-db-
compat-gcc-32-
compat-gcc-32-c++-
compat-libgcc-296-2.96-132.7.2 (D3)
compat-libstdc++-296-2.96-132.7.2 (D3)
compat-libstdc++-33-
gcc-
gcc-c++-
gnome-libs-
gnome-libs-devel-
libaio-devel-0.3.102-1 (D3)//////////
libaio-0.3.102-1 (D3)
make-3.80-5
openmotif21-
xorg-x11-deprecated-libs-devel-
xorg-x11-deprecated-libs-
compat-oracle-rhel4-1.0-3/////
compat-libcwait-2.0-1 //////
提示:在安装的linux的时候,最好安装开发工具中的所有组件以及与xwindow相关的所有组件,如果装完系统后发现还有未安装的包,除了gnome-libs-devel-
其中compat-oracle-rhel4-1.0-3和compat-libcwait-2.0-1可从http://metalink.oracle.com中下载(Patch Number:4198954),下载文件名称4198954_21_LINUX.zip (oracle升級包) ,下载完后用rpm –ihv 包的名字 命令安装
1.2 linux环境
<1>建立oracle用户及oinstall、dba组
#groupadd oinstall (oinstall是在安装Oracle9i时提示要输入的的UNIX Group Name)
#groupadd dba
#useradd -g oinstall -G dba oracle (用圖形介面,home路徑/opt/oracle/product/920)
#passwd oracle
<2>建立相关的目录
#mkdir -p /opt/oracle/product/920
#mkdir /var/opt/oracle
#chown oracle.dba /arch
#chown oracle.dba /exp
#chown oracle.dba /var/opt/oracle
#chown –R oracle.oinstall /opt/oracle
#chown -R oracle.dba /opt/oracle
#chmod 775 /opt
/////參考
mkdir /opt/oracle
chown oracle /opt/oracle
chgrp dba /opt/oracle
export ORACLE_BASE=/opt/oracle
<3>设置内核参数
#vi /etc/sysctl.conf,加入以下语句:
kernel.shmmax=2147483648
kernel.shmmni=4096
kernel.shmall=2097152
kernel.sem=1000 32000 100 128
fs.file-max=65536
net.ipv4.ip_local_port_range=1024 65000
kernel.shm-use-bigpages=2
<4>查看修改
#sysctl -p
<5>设置oracle对文件的要求
#vi /etc/security/limits.conf,加入以下语句:
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
註銷使之生效.
<6>解压cpio安装包:
#gunzip ship_9204_linux_disk1.cpio.gz
#gunzip ship_9204_linux_disk2.cpio.gz
#gunzip ship_9204_linux_disk3.cpio.gz
#cpio -idmv < ship_9204_linux_disk1.cpio
#cpio -idmv < ship_9204_linux_disk2.cpio
#cpio -idmv < ship_9204_linux_disk3.cpio
生成Disk1、Disk2、Disk3三个目录
<7>设置环境变量
#export ORACLE_BASE=/opt/ora9
#export ORACLE_HOME=/opt/ora9/product/920
<8>另开一个终端以oracle帐号登陆,设置oracle帐号的环境变量:
$vi /home/oracle/.bash_profile,添加以下语句:
# setting oracle environment
export ORACLE_BASE=/opt/ora9
export ORACLE_HOME=/opt/ora9/product/920
export ORACLE_SID=GSMSFC
export ORACLE_TERM=xterm
export LD_ASSUME_KERNEL=
export NLS_LANG=AMERICAN
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
export PATH=$PATH:$ORACLE_HOME/bin
保存.
#source /home/oracle/.bash_profile
1.3安装Oracle9i数据库软件:
#xhost +192.168.0.2 (本地IP地址)
(xhost disable访问控制,客户端可以从任何主机进行连接) 这个命令用来保证oracle用户调用X11,否则无法安装
<1>以oracle用户登陆,
<2>执行:$.//Disk1/runInstaller
<3> 按照OUI画面提示一步步进行,但是只安装数据库软件,不建数据库
<4>可以很顺利的安装完毕,用命令dbca建立数据库
安装完后打补丁:
切换到root:#su – root 首先安装 opatch.
#cd /orasetup
#unzip p2617419_210_GENERIC.zip
Archive: p2617419_210_GENERIC.zip
creating: OPatch/
creating: OPatch/docs/
inflating: Opatch/docs/FAQ
......
inflating: README.txt
#export PATH=$PATH:/orasetup/OPatch:/sbin
(修改PATH时要要包括解压缩出来的Opatch 和 sbin目录)
# unzip p3238244_9204_LINUX.zip
# cd 3238244
#mkdir /var/tmp/.oracle
#chown oracle:dba /var/tmp/.oracle
# opatch apply
如果提示HOME变量错误可执行语句:
#export orACLE_BASE=/u01/app/oracle
#export orACLE_HOME=/u01/app/oracle/product/9.2.0 .4
出现success的提示就全部安装成功.
补丁打完后,还要relinked一个.mk文件,切换到oracle用户窗口
cd $ORACLE_HOME/network/lib
make –f ins_oemagent.mk install
之后就可以启动Agent服务了.
安装oracle后jre找不到的错误
[oracle@web2 native_threads]$ dbca
jre was not found in /opt/oracle/product/9.2.0 /oracle.swd.jre/bin/i386/native_threads/jre
解决办法:
[oracle@web2 native_threads]$ pwd
/home/oracle/ora/JRE/bin/i386/native_threads
[oracle@web2 native_threads]$ ln -s java jre
将java做一个连接,然后就正常了。
第四部分: 利用DBCA 建立数据库
建立资料库的时候在最后安装部分可能报一些错,比如ORA-29807 , 这是
Oracle 的bug , 可以忽略掉,安装完成后,在$ORACLE_HOME/rdbms/admin 目录下运
行utlrp.sql ,用于修补ORA-29807 错误。
解释:
ORA-29807: specified operator does not exist
This is a known issue (bug 2925665). You can click on the "Ignore" button to continue.
Once DBCA has completed database creation, remember to run the 'prvtxml.plb' script
from $ORACLE_HOME/rdbms/admin independently, as the user SYS. It is also advised
to run the 'utlrp.sql' script to ensure that there are no invalid objects in the database at
this time.
参考文章:
http://www.chinaunix.net/jh/19/363433.html
- ORA-01430 错误
在数据库创建过程的“增加 Oracle Spatial”阶段中,您将接收到一个 ORA-01430 错误。如果您搜索日志文件,您将看到以下内容:
(SDO_ROOT_MBR mdsys.sdo_geometry)
*
ERROR at line 2:
ORA-01430:column being added already exists in table
这是一个已知的问题,并可被忽略。要继续数据库创建过程,请单击 "Ignore" 按钮:
When dbca died on my system with the following error:
/u01/app/oracle/product/
$JRE_DIR/bin/jre -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx
executed the following command:
su - root
touch /etc/rac_on
问题:
EXP-00056: ORACLE error 942 encountered
ORA-00942: table or view does not exist
EXP-00000: Export terminated unsuccessfully
执行$ORACLE_HOME/rdbms/admin/catpatch.sql 脚本,同时要注意调大java_pool_size 和shared_pool_size这两个参数的大小.问题可能是升级数据库导致的
SQL>shutdown immediate;
SQL>startup migrate;
SQL>@?/rdbms/admin/catpatch.sql
可能会用到:
shutdown immediate;
startup migrate;
alter view lbacsys.lbac$all_table_policies compile;
alter package lbacsys.lbac_events compile body;
shutdown immediate;
startup;
Oracle9i 不能正常显示中文问题 解决篇
(适用于不能显示中文又想显示中文的朋友 redhat, 特别是magiclinux 测试通过)
Oracle 不能正常显示中文是因为,oracle 自带java 问题 因为自带jav
和1.3.1 两个版本,而默认又使用1.1.8 ,jre 1.1.8 对中文支持不好所致,其实可以
将其改为使用1.3.1即可(将原先的1.1.8 换掉)
ln -s /opt/oracle/jre/1.3.1 /opt/oracle/product/9.2.0/JRE
(当然在做这步之前先要把原来的连接删掉,不用说了吧)
但是安装程序默认还是找1.1.8 jre文件 所以你还要加上
ln -s /opt/oracle/jre/1.3.1/bin/java /opt/oracle/jre/1.3.1/bin/jre
当然这样还是不够的,因为你的jre 1.3.1中文是否能正常显示呢?
赶快看看 /opt/oracle/jre/1.3.1/bin/ControlPanel 是否能正常显示中文,象这样:(图见最下) 假如没有的话,肯定是乱码 就要把它改过来 ,好,首先拷贝 simsun.ttf tahoma.ttf 改名成 tlc_song.ttf、tlc_song_ascii.ttf 然后放入/opt/oracle/jre/1.3.1/lib/fonts 下,再看看
/opt/oracle/jre/1.3.1/bin/ControlPanel 是不是能显示中文了呢,应该能正常显示了,
然后你再回去装oracle 就没问题了。
还有就是装完了,假如 Oracle net manager不能正常打开,反正这种情况我遇到了:
Exception in thread "main" java.lang.VerifyError: (class: oracle/net/mgr/service name/DBPanel$1, method: actionPerformed signature: (Ljava/awt/event/ActionEvent; )V) Illegal use of nonvirtual function call
at oracle.net.mgr.servicename.DBPanel.<init>(DBPanel.java) at oracle.net.mgr.servicename.ConnectInfoEditor.<init>(ConnectInfoEditor .java) at oracle.net.mgr.servicename.ServiceNameComponent.<init>(ServiceNameCom ponent.java) at oracle.net.mgr.container.NetContainer.loadComponents(NetContainer.jav a)
at oracle.net.mgr.container.NetContainer.initClient(NetContainer.java)
at oracle.sysman.emSDK.client.appComponent.BaseAppComponent.init(BaseApp Component.java:242)
at oracle.sysman.emSDK.client.appContainer.WebApplication.addApplication Component(WebApplication.java:1168)
at oracle.net.mgr.container.NetApplication.init(NetApplication.java)
at oracle.sysman.emSDK.client.appContainer.WebApplication.launch(WebAppl ication.java:3443)
at oracle.sysman.emSDK.client.appContainer.WebApplication.main(WebApplic ation.java:3326)
其他均能正常显示中文,例如dbca oemapp console worksheet
不知道各位如何,因为以前经常遇到,所以想了一个应对的方法,首先
打开/opt/oracle/product/9.2.0/bin/netmgr 找到 139行
加入参数 -noverify,(出现这个错误是因为jre认为这段代码不安全,加入不检测参数就可以了)
$JRE -classpath $CLASSPATH -noverify oracle.net.mgr.container.NetApplication oracle.net.mgr.container.NetApplication
Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
Kernel
login: oracle
Password:
Last login: Wed Feb 7 08:58:51 from 10.128.50.99
You have new mail.
-bash-3.00$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/cciss/c0d0p1
/dev/cciss/c0d0p2
none
/dev/cciss/c0d0p3
/dev/cciss/c0d0p5
/dev/cciss/c0d1p5
/dev/cciss/c0d1p3
/dev/cciss/c0d1p1
/dev/cciss/c0d1p2
/dev/cciss/c0d1p6
-bash-3.00$