﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-superwei-文章分类-Linux &amp; Unix</title><link>http://www.blogjava.net/superwei/category/24651.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 28 Aug 2007 20:00:08 GMT</lastBuildDate><pubDate>Tue, 28 Aug 2007 20:00:08 GMT</pubDate><ttl>60</ttl><item><title>在Redhat9下安装Oracle9(完整版) </title><link>http://www.blogjava.net/superwei/articles/140027.html</link><dc:creator>小辞猬</dc:creator><author>小辞猬</author><pubDate>Mon, 27 Aug 2007 08:45:00 GMT</pubDate><guid>http://www.blogjava.net/superwei/articles/140027.html</guid><wfw:comment>http://www.blogjava.net/superwei/comments/140027.html</wfw:comment><comments>http://www.blogjava.net/superwei/articles/140027.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/superwei/comments/commentRss/140027.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/superwei/services/trackbacks/140027.html</trackback:ping><description><![CDATA[在Redhat9下安装Oracle9(完整版) <br>2004-05-07&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; 点击: 1476 <br><br>在Redhat9下安装Oracle9(完整版) <br>在安装之前有几个地方需要注意的：<br>你的交换分区最好有一个G左右那么大，第二你的硬盘分区最好也要有足够大的空间。<br><br>下面我那个转贴的中译本：<br><br>1、创建用户和组：<br>[roko@miniroko] su -<br><br>[root@miniroko]# groupadd oinstall<br>[root@miniroko]# groupadd dba<br>[root@miniroko]# useradd -g oinstall -G dba oracle<br>[root@miniroko]# passwd oracle<br><br><br>2、准备文件目录：<br><br>[root@miniroko]# mkdir -p /opt/ora9/product/9.2<br>[root@miniroko]# mkdir /var/opt/oracle<br>[root@miniroko]# chown oracle.dba /var/opt/oracle<br>[root@miniroko]# chown -R oracle.dba /opt/ora9<br><br>3、调节系统内核参数及安装支持软件包：<br>3.1、首先用命令rpm -qa|grep compat 查看系统中是否安有以下几个软件包：<br><br>compat-gcc-7.3-2.96.118.i386.rpm<br>compat-libgcj-7.3-2.96.118.i386.rpm<br>compat-libgcj-devel-7.3-2.96.118.i386.rpm<br>nss_db-compat-2.2-20.i386.rpm<br><br>如果没有，请拿出你的安装盘，安装以上的包。不要用原文给的那个APT的东东，不熟的人遇上没有解决的依赖性问题的话，就特别讨厌。<br><br>3.2、设置内核参数，调节信号灯及共享内存：<br>[root@miniroko]# echo 250 32000 100 128 &gt; /proc/sys/kernel/sem<br>[root@miniroko]# echo 536870912 &gt; /proc/sys/kernel/shmmax<br>[root@miniroko]# echo 4096 &gt; /proc/sys/kernel/shmmni<br>[root@miniroko]# echo 2097152 &gt; /proc/sys/kernel/shmall<br>[root@miniroko]# echo 65536 &gt; /proc/sys/fs/file-max<br>[root@miniroko]# echo 1024 65000 &gt; /proc/sys/net/ipv4/ip_local_port_range<br><br>当然为了一开机系统就能自动帮你设好这些参数，也可改动 /etc/sysctl.conf 这个文件，加入以下的语句：<br>kernel.shmmax = 536870912<br>kernel.shmmni = 4096<br>kernel.shmall = 2097152<br>kernel.sem = 250 32000 100 128<br>fs.file-max = 65536<br>net.ipv4.ip_local_port_range = 1024 65000<br><br>保存后，即可。建议关于net.ipv4.ip_local_port_range不要改动，可以用cat /proc/sys/net/ipv4/ip_local_port_range 看到红帽子对这个所定义的范围已经符合，而且端口范围比这个小。<br><br>3.3、设置oracle对文件的要求：<br>编辑文件：/etc/security/limits.conf 加入以下语句：<br>oracle soft nofile 65536<br>oracle hard nofile 65536<br>oracle soft nproc 16384<br>oracle hard nproc 16384<br><br>这个需要重启后才能生效的。但是安装的时候无所谓了。<br><br>4、设置oracle的系统环境：<br>以oracle用户的身份登录：<br>su oracle<br><br>cd ~<br><br>编辑它的.bashrc文件加入以的东东：<br>#oracle 9i<br>export ORACLE_BASE=/opt/ora9<br>export ORACLE_HOME=/opt/ora9/product/9.2<br>export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH<br>export ORACLE_OWNER=oracle<br>export ORACLE_SID=ora9i<br>export ORACLE_TERM=vt100<br>export LD_ASSUME_KERNEL=2.4.1<br>export THREADS_FLAG=native<br>export LD_LIBRARY_PATH=/opt/ora9/product/9.2/lib:$LD_LIBRARY_PATH<br>export PATH=/opt/ora9/product/9.2/bin:$PATH<br>#<br># change this NLS settings to suit your country:<br># example:<br># german_germany.we8iso8859p15, american_america.we8iso8859p2 etc.<br>#<br>#export NLS_LANG='croatian_croatia.ee8iso8859p2' (注意这个东东把它注释掉，因为我们用的是中文系统。然而为了能够显示中文加入以下一行：<br>export LC=en_US<br><br>退出，将你下载的三个iso文件准备好。<br>5、解压你下载的文件：<br>5.1、新建一个目录：mkdir /mnt/Oracle<br>5.2、将三个文件拷入新建的目录：cp ln_* /mnt/Oracle<br>5.3、解压三个文件： cd /mnt/Oracle<br>gunzip gunzip lnx_920_disk1.cpio.gz<br>gunzip lnx_920_disk2.cpio.gz<br>gunzip lnx_920_disk3.cpio.gz<br>cpio -idmv &lt; lnx_920_disk1.cpio<br>cpio -idmv &lt; lnx_920_disk2.cpio<br>cpio -idmv &lt; lnx_920_disk3.cpio <br>5.4、这个将生成三个文件夹：DISK1, DISK2, DISK3<br>6、开始安装：<br>以oracle的用户身份进入：<br>su oracle<br>cd ~<br>/mnt/Oracle/DSIK1/runInstall.sh<br><br>在安装的过程中会遇到几个错误：<br>第一个错误提示关于这个文件ins_oemagent.mk的，不要去管它，选择忽略，我们将在下面的步骤中修复它。<br>第二错误提示：Error in invoking target install of makefile $ORACLE_HOME/ctx/lib/ins_ctx.mk<br>这个时候就先不要选择忽略了，这个时候你要先打开一个终端：以oracle用户的身份登录进去，运行以下的命令：<br>[oracle@miniroko oracle]$ cd $ORACLE_HOME/install<br>[oracle@miniroko install]$ tail make.log<br><br>可以看到这个，然后在其下有错误提示：<br>gcc -o ctxhx -L/opt/ora9/product/9.2/ctx/lib/ -L/opt/ora9/product/9.2/lib/<br>-L/opt/ora9/product/9.2/lib/stubs/ /opt/ora9/product/9.2/ctx/lib/ctxhx.o<br>-L/opt/ora9/product/9.2/ctx/lib/ -lm -lsc_ca -lsc_fa -lsc_ex -lsc_da -lsc_ut<br>-lsc_ch -lsc_fi -lctxhx -lc -Wl,-rpath,/opt/ora9/product/9.2/ctx/lib -lnls9<br>-lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lnls9<br>我们运行以下的命令来修改它：<br>[oracle@miniroko]$ cd $ORACLE_HOME/bin<br>[oracle@miniroko bin]$ gcc -o ctxhx -L/opt/ora9/product/9.2/ctx/lib/<br>-L/opt/ora9/product/9.2/lib/ -L/opt/ora9/product/9.2/lib/stubs/<br>/opt/ora9/product/9.2/ctx/lib/ctxhx.o -L/opt/ora9/product/9.2/ctx/lib/<br>-lm -lsc_ca -lsc_fa -lsc_ex -lsc_da -lsc_ut -lsc_ch -lsc_fi -lctxhx -lc<br>-Wl,-rpath,/opt/ora9/product/9.2/ctx/lib -lnls9 -lcore9 -lnls9 -lcore9<br>-lnls9 -lxml9 -lcore9 -lunls9 -lnls9 -ldl<br>也就重新在这个地方编译一下上面出错的地方。然后再回到安装界面，对那个错误对话框选择忽略。继续安装就行了。<br><br>第三个错误会在启动和配置助手程序的时候出错，不要管它，选择忽略就行了。我们在下面的步骤将会对第一个错误和第三个错误进宪修补。<br><br>7、修改系统：<br>以oracle用户的身份登入，执行以下命令：<br>[oracle@miniroko oracle]$ cd $ORACLE_HOME/network/lib<br>[oracle@miniroko lib]$ make -f ins_net_client.mk install<br><br>然后编辑这个文件：<br>oracle@miniroko lib]$vi $ORACLE_HOME/ctx/lib/ins_ctx.mk找到第13行、第14行由ctxhx: $(CTXHXOBJ)<br>$(LINK) $(CTXHXOBJ) $(INSO_LINK)<br><br>改为：<br>ctxhx: $(CTXHXOBJ)<br>$(LINK) -ldl $(CTXHXOBJ) $(INSO_LINK)<br>存盘退出，执行以下命令：<br>[oracle@miniroko lib]$ make -f $ORACLE_HOME/ctx/lib/ins_ctx.mk install<br><br>现在可以重新启动agents了。<br>[oracle@miniroko lib]$ /opt/ora9/product/9.2/bin/agentctl start<br><br>8、为了方便管理，可以写一个启动脚本：<br>以ROOt身份进入，编写以下脚本：<br>#!/bin/bash<br>#<br># (c) [email]denis.klaric@in2.hr[/email]<br>#<br># name: /etc/rc.d/init.d/ora9<br># description: starts and stops oracle 9i database, TNS listener<br># http server, and fixes kernel parameters for oracle<br><br><br>#oracle environment<br>export ORACLE_HOME=/opt/ora9/product/9.2<br>export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH<br>export NLS_LANG='croatian_croatia.ee8iso8859p2'<br>export ORACLE_SID=tis<br><br>export DISPLAY=:0<br>oracle_user=oracle<br><br># see how we're called<br><br>case $1 in<br>start)<br># fix kernel parameters<br>echo 250 32000 100 128 &gt; /proc/sys/kernel/sem<br>echo 536870912 &gt; /proc/sys/kernel/shmmax<br>echo 4096 &gt; /proc/sys/kernel/shmmni<br>echo 2097152 &gt; /proc/sys/kernel/shmall<br>echo 65536 &gt; /proc/sys/kernel/fs/file-max<br>echo 1024 65000 &gt; /proc/sys/net/ipv4/ip_local_port_range<br><br># start listener, apache and database<br>su - "$oracle_user"&lt;&lt;EOO<br>lsnrctl start<br>apachectl start<br>sqlplus /nolog&lt;&lt;EOS<br>connect / as sysdba<br>startup<br>EOS<br>EOO<br>;;<br><br>stop)<br># stop listener, apache and database<br>su - "$oracle_user"&lt;&lt;EOO<br>lsnrctl stop<br>apachectl stop<br>sqlplus /nolog&lt;&lt;EOS<br>connect / as sysdba<br>shutdown immediate<br>EOS<br>EOO<br>;;<br><br>*)<br>echo "Usage: ora9 [start|stop]"<br>;;<br><br>esac<br><br>存为ora9后，然后用chmod a+x ora9,即可在以后以root身份运行/etc/rc.d/init.d/ora9 start |stop 来管理oracle的启动和停止了。如果要将这个脚本加入到系统中使其可开机运行，那么要运行以下命令：<br>chkconfig --level 3(或者是5) --add ora9<br>即可。<br>
<img src ="http://www.blogjava.net/superwei/aggbug/140027.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/superwei/" target="_blank">小辞猬</a> 2007-08-27 16:45 <a href="http://www.blogjava.net/superwei/articles/140027.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>red hat liunx的几点小技巧</title><link>http://www.blogjava.net/superwei/articles/134632.html</link><dc:creator>小辞猬</dc:creator><author>小辞猬</author><pubDate>Mon, 06 Aug 2007 02:48:00 GMT</pubDate><guid>http://www.blogjava.net/superwei/articles/134632.html</guid><wfw:comment>http://www.blogjava.net/superwei/comments/134632.html</wfw:comment><comments>http://www.blogjava.net/superwei/articles/134632.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/superwei/comments/commentRss/134632.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/superwei/services/trackbacks/134632.html</trackback:ping><description><![CDATA[载自：<a href="http://www.raqu.com/Article/database/oracle/backup/200607/35809.shtml">http://www.raqu.com/Article/database/oracle/backup/200607/35809.shtml</a><br>1．开机启动时自动运行程序 <br>　　<br>　　　　Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init。init根据配置文件继续引导过程，启动其它进程。通常情况下，修改放置在 /etc/rc或 /etc/rc.d 或 /etc/rc?.d 目录下的脚本文件，可以使init自动启动其它程序。例如：编辑 /etc/rc.d/rc.local 文件，在文件最末加上一行&#8220;xinit&#8221;或&#8220;startx&#8221;，可以在开机启动后直接进入X－Window。 <br>　　　　 <br>　　2．登录时自动运行程序 <br>　　<br>　　　　用户登录时，bash首先自动执行系统管理员建立的全局登录script ：/ect/profile。然后bash在用户起始目录下按顺序查找三个特殊文件中的一个：/.bash_profile、/.bash_login、/.profile，但只执行最先找到的一个。 <br>　　　　因此，只需根据实际需要在上述文件中加入命令就可以实现用户登录时自动运行某些程序（类似于DOS下的Autoexec.bat）。 <br>　　　　 <br>　　3．退出登录时自动运行程序 <br>　　<br>　　　　退出登录时，bash自动执行个人的退出登录脚本/.bash_logout。例如，在/.bash_logout中加入命令&#8220;tar －cvzf c.source.tgz ＊.c&#8221;，则在每次退出登录时自动执行 &#8220;tar&#8221; 命令备份 ＊.c 文件。 <br>　　<br>　　<br>　　4．定期自动运行程序 <br>　　　　Linux有一个称为crond的守护程序，主要功能是周期性地检查 /var/spool/cron目录下的一组命令文件的内容，并在设定的时间执行这些文件中的命令。用户可以通过crontab 命令来建立、修改、删除这些命令文件。 <br>　　<br>　　　　例如，建立文件crondFile，内容为&#8220;00 9 23 Jan ＊ HappyBirthday&#8221;，运行&#8220;crontab cronFile&#8221;命令后，每当元月23日上午9:00系统自动执行&#8220;HappyBirthday&#8221;的程序（&#8220;＊&#8221;表示不管当天是星期几）。 <br>　　　　 <br>　　5．定时自动运行程序一次 <br>　　<br>　　　　定时执行命令at 与crond 类似（但它只执行一次）：命令在给定的时间执行，但不自动重复。at命令的一般格式为：at [ －f file ] time ，在指定的时间执行file文件中所给出的所有命令。也可直接从键盘输入命令： <br>　　<br>　　　　＄ at 12:00 <br>　　　　at&gt;mailto Roger －s &#8243;Have a lunch&#8243; &lt; plan.txt <br>　　　　at&gt;Ctr－D <br>　　　　Job 1 at 2000－11－09 12:00 <br>　　　　2000－11－09 12:00时候自动发一标题为&#8220;Have a lunch&#8221;，内容为plan.txt文件内容的邮件给Roger。?9 12:00 <br>　　　　2000－11－09 12:00时候自动发一标题为&#8220;Have a lunch&#8221;，内容为plan.txt文件内容的邮件给Roger。er。ger。er。 <br>
<img src ="http://www.blogjava.net/superwei/aggbug/134632.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/superwei/" target="_blank">小辞猬</a> 2007-08-06 10:48 <a href="http://www.blogjava.net/superwei/articles/134632.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>liunx下安装ORACLE（载自：http://blog.csdn.net/jawsy）</title><link>http://www.blogjava.net/superwei/articles/134629.html</link><dc:creator>小辞猬</dc:creator><author>小辞猬</author><pubDate>Mon, 06 Aug 2007 02:41:00 GMT</pubDate><guid>http://www.blogjava.net/superwei/articles/134629.html</guid><wfw:comment>http://www.blogjava.net/superwei/comments/134629.html</wfw:comment><comments>http://www.blogjava.net/superwei/articles/134629.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/superwei/comments/commentRss/134629.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/superwei/services/trackbacks/134629.html</trackback:ping><description><![CDATA[<p>下载 9i:<br>&nbsp;<a href="http://otn.oracle.com/software/products/oracle9i/htdocs/linuxsoft.htm"><u><font color=#0000ff>http://otn.oracle.com/software/products/oracle9i/htdocs/linuxsoft.htm</font></u></a> </p>
<p>&nbsp;$ md5sum Linux9i_Disk1.cpio.gz Linux9i_Disk2.cpio.gz Linux9i_Disk3.cpio.gz <br>&nbsp;f1a99eb8c8aca1d69a9eeaa8858570d7 Linux9i_Disk1.cpio.gz <br>&nbsp;f2444c0fa53c898e7d2f78c184829d7d Linux9i_Disk2.cpio.gz <br>&nbsp;ec655402d8bc547ed031f14122da574b Linux9i_Disk3.cpio.gz </p>
<p>解包： <br>&nbsp;gunzip Linux9i_Disk1.cpio.gz Linux9i_Disk2.cpio.gz Linux9i_Disk3.cpio.gz <br>&nbsp;<br>&nbsp;cpio -idmv &lt; Linux9i_Disk1.cpio<br>&nbsp;cpio -idmv &lt; Linux9i_Disk2.cpio <br>&nbsp;cpio -idmv &lt; Linux9i_Disk3.cpio </p>
<p>刻盘:<br>&nbsp;mkisofs -r Disk1 | cdrecord -v --eject dev=0,0,0 speed=4 - <br>&nbsp;mkisofs -r Disk2 | cdrecord -v --eject dev=0,0,0 speed=4 - <br>&nbsp;mkisofs -r Disk3 | cdrecord -v --eject dev=0,0,0 speed=4 - <br>注：设备号可以通过执行 cdrecord -scanbus 得到 </p>
<p>交换空间: 物理内存的两倍或者至少512MB<br>&nbsp;cat /proc/swaps <br>增加交换空间： <br>&nbsp;dd if=/dev/zero of=tmpswap bs=1k count=300000 <br>&nbsp;chmod 600 tmpswap <br>&nbsp;mkswap tmpswap <br>&nbsp;swapon tmpswap </p>
<p>共享内存配置: 写入/etc/rc.d/rc.local或者/etc/rc.d/rc5.d/S78oradb:<br>&nbsp;echo 65536 &gt; /proc/sys/fs/file-max&nbsp;&nbsp;&nbsp;&nbsp;#set max descriptors<br>&nbsp;echo 131072 &gt; /proc/sys/kernel/shmmax&nbsp;&nbsp;&nbsp;#half of the physical memory<br>&nbsp;echo 4096 &gt; /proc/sys/kernel/shmmni&nbsp;&nbsp;&nbsp;<br>&nbsp;echo 2097152 &gt; /proc/sys/kernel/shmall<br>&nbsp;echo 100 32000 100 100 &gt; /proc/sys/kernel/sem&nbsp;&nbsp;#semmsl semmns&nbsp; semopm semmni<br>&nbsp;echo 1024 65000 &gt; /proc/sys/net/ipv4/ip_local_port_range</p>
<p>环境配置：写入oracle用户的.cshrc<br>&nbsp;ulimit -u 16384&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#maximun processes<br>&nbsp;ulimit -n 66536&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#maximum descriptors </p>
<p><br>"binutils" RPM 版本的问题 <br>7.1 和 7.2 随带的 binutils RPM 包不兼容9i 的 Universial Installer，有两个解决方案： <br>&nbsp;a. &#8220;降级&#8221; Oracle 服务器上的 binutil ： <br>&nbsp;&nbsp;<a href="ftp://ftp.redhat.com/pub/redhat/linux/7.0/en/os/i386/RedHat/RPMS/binutils-2.10.0.18-1.i386.rpm"><u><font color=#0000ff>ftp://ftp.redhat.com/pub/redhat/linux/7.0/en/os/i386/RedHat/RPMS/binutils-2.10.0.18-1.i386.rpm</font></u></a> <br>&nbsp;&nbsp;#rpm -Uvh --force --nodeps binutils-2.10.0.18-1.i386.rpm&nbsp;&nbsp; #安装<br>&nbsp;注：安装完 Oracle 后，别忘了把 binutil 升级回去。 <br>&nbsp;b. 在安装中等待出现下面的错误，然后手工修复： <br>&nbsp;&nbsp;"Error invoking target install of makefile /opt/oracle/product/9.0.1/plsql/lib/ins_plsql.mk" <br>&nbsp;&nbsp;请参考 Running Oracle Installation 以及 Oracle Installation Errors ，我推荐使用第二种方法。 </p>
<p>安装 JDK <br>&nbsp;bzip2 -dc jdk118_v3-glibc-2.1.3.tar.bz2 | tar xf - -C /usr/local <br>&nbsp;ln -s /usr/local/jdk118_v3 /usr/local/java </p>
<p>建立 Oracle 用户 <br>&nbsp;mkdir /home/oracle<br>&nbsp;groupadd -g 1001 dba <br>&nbsp;useradd -g 1001 -u 1001 -d /home/oracle oracle <br>&nbsp;passwd oracle <br>&nbsp;chown -R oracle:dba /home/oracle<br>注: 记得为oracle用户指定tcsh</p>
<p>建立相关目录 <br>&nbsp;mkdir /home/tmp<br>&nbsp;chmod 777 /home/tmp<br>&nbsp;<br>&nbsp;mkdir /home/oracle_app <br>&nbsp;chown -R oracle:dba /home/oracle_app<br>&nbsp;mkdir /home/oradata<br>&nbsp;mkdir /home/oradata/FREEDB<br>&nbsp;mkdir /home/oradata/FREEDB/admin<br>&nbsp;mkdir /home/oradata/FREEDB/admin/bdump<br>&nbsp;mkdir /home/oradata/FREEDB/admin/cdump<br>&nbsp;mkdir /home/oradata/FREEDB/admin/udump<br>&nbsp;mkdir /home/oradata/FREEDB/archive<br>&nbsp;mkdir /home/oradata/FREEDB/config<br>&nbsp;mkdir /home/oradata/FREEDB/control<br>&nbsp;mkdir /home/oradata/FREEDB/data<br>&nbsp;mkdir /home/oradata/FREEDB/redo<br>&nbsp;chown -R oracle:dba /home/oradata<br>&nbsp;ln -s /home/oradata /oradata<br>&nbsp;<br>&nbsp;mkdir /var/opt/oracle <br>&nbsp;chown oracle:dba /var/opt/oracle <br>&nbsp;chmod 755 /var/opt/oracle </p>
<p>设置 Oracle 环境 <br>以 Oracle 用户进入，建立 $HOME/.bashrc或者.cshrc <br>&nbsp;export ORACLE_BASE=/home/oracle_app <br>&nbsp;export ORACLE_HOME=/home/oracle_app <br>&nbsp;export ORACLE_SID=XFDB<br>&nbsp;export ORACLE_TERM=xterm <br>&nbsp;#export TNS_ADMIN= 设置这个变量，如果 sqlnet.ora, tnsnames.ora等不在$ORACLE_HOME/network/admin 目录下。 <br>&nbsp;export NLS_LANG=american_america.ZHS16GBK; <br>&nbsp;export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data <br>&nbsp;LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/openwin/lib <br>&nbsp;LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/td/lib:/usr/ucblib:/usr/local/lib <br>&nbsp;export LD_LIBRARY_PATH <br>&nbsp;# Set shell search paths: <br>&nbsp;PATH=/bin:/usr/bin:/usr/sbin:/etc:/opt/bin:/usr/ccs/bin:/usr/openwin/bin:/opt/local/GNU/bin <br>&nbsp;PATH=$PATH:/opt/local/bin:/opt/NSCPnav/bin:$ORACLE_HOME/bin <br>&nbsp;PATH=$PATH:/usr/local/samba/bin:/usr/ucb: <br>&nbsp;export PATH <br>&nbsp;# CLASSPATH must include the following JRE locations: <br>&nbsp;CLASSPATH=$CLASSPATH:$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib <br>&nbsp;CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib <br>&nbsp;For RedHat 9.0:<br>&nbsp;export JAVA_HOME=/usr/local/java_1.4.1_or_above&nbsp;&nbsp;#否则runinstaller会挂死<br>&nbsp;export LD_ASSUME_KERNEL=2.4.1&nbsp;&nbsp;#make sure to use java GUI tools such as netca, etc. when using Oracle.</p>
<p>启动 runInstaller <br>Oracle 不再支持字符模式的安装，因此必须设置 DISPLAY 变量。<br>&nbsp;a&gt;&nbsp;yourdesktop:user$ xhost +oracleserver <br>&nbsp;b&gt;&nbsp;从 oracleserver 的控制台上以 Oracle 用户执行： <br>&nbsp;&nbsp;oracleserver:oracle$ export DISPLAY=yourdesktop:0.0 <br>&nbsp;c&gt;&nbsp;从第一张 CD 或者从下载点（Disk1/RunInstaller）执行 runInstaller <br>&nbsp;&nbsp;oracleserver:oracle$ mount /mnt/cdrom <br>&nbsp;&nbsp;oracleserver:oracle$ /mnt/cdrom/runInstaller <br>&nbsp;注：不要 cd 到 /mnt/cdrom 去执行runInstaller，因为 unmount 不能把挂接着的 CD 卸下来<br>&nbsp;<br>安装确认信息: <br>&nbsp;The base directory (Inventory Location): /home/oracle_app/oraInventory <br>&nbsp;UNIX Group Name (permission for updating Oracle software): dba <br>&nbsp;Full path name of the Oracle Home: /home/oracle_app<br>&nbsp;JDK Home Directory: /usr/local/java</p>
<p>忘记设置 DISPLAY 环境变量或者忘记在桌面 PC 上运行 xhost +oracleserver，将得到下面的错误： <br>&nbsp;Xlib: connection to ":0.0" refused by server <br>&nbsp;Xlib: Client is not authorized to connect to Server </p>
<p>对7.1，7.2，如果没有&#8220;降级&#8221; binutils 包，安装到第三张 CD 时会发生如下错误： <br>&nbsp;"Error invoking target install of makefile /opt/oracle/product/9.0.1/plsql/lib/ins_plsql.mk" <br>&nbsp;"Error invoking target install of makefile /opt/oracle/product/9.0.1/precomp/lib/ins-precomp.mk" <br>&nbsp;"Error invoking target install of makefile /opt/oracle/product/9.0.1/precomp/lib/ins-net-client" <br>&nbsp;"Error invoking target install of makefile /opt/oracle/product/9.0.1/precomp/lib/ins-oemagent" <br>解决方法：<br>&nbsp;编辑 $ORACLE_HOME/bin/genclntsh 把 LD_SELF_CONTAINED="-z defs" 改成： LD_SELF_CONTAINED="" <br>&nbsp;然后运行脚本：$ORACLE_HOME/bin/genclntsh<br>&nbsp;retry</p>
<p>ins_ctx.mk错误的解决方法： <br>&nbsp;edit $ORACLE_HOME/ctx/lib/env_ctx.mk. <br>&nbsp;add $(LDLIBFLAG)dl into the line INSO_LINK=-L$(CTXLIB) $(LDLIBFLAG)m right at the position. <br>&nbsp;retry.&nbsp; </p>
<p>Error in setting permissions of file/directory /home/oracle_app/jre/1.1.8/bin/i686/native_threads/.extract_args. <br>&nbsp;手工找到并从安装 jre 的目录下拷贝文件 .extract_args 到 runInstaller 提示文件丢失的地方。 </p>
<p>For RedHat 9.0: <br>&nbsp;You will get make errors for oemadmin and a few others.&nbsp; Simply ignore.</p>
<p>其他注意事项：<br>&nbsp;当 runInstaller 开始配置工具时，"Oracle Net Configuration Assistant" 会挂起。简单的解决办法是停止其配置，重新配置或者继续安装，当其他安装结束后，再来一次&#8220;Retry"。 <br>&nbsp;如果在安装中系统停止了反应，可能是没有足够的交换空间。如果发生这样的事情，只能等待到系统反应为止。 <br>&nbsp;Oracle 的安装还需要运行 make 等程序，在生产环境中，你或许没有安装编译器和其他开发工具，所以，需要临时安装下面的几个包： cpp, egcs, egcs-c++, glibc-devel, kernel-headers 。 </p>
<p>如果不能成功安装 9i 而需要重来的话，需要清除下面的文件和目录： <br>&nbsp;rm -rf /etc/oraInst.loc /etc/oratab /tmp/OraInstall <br>&nbsp;rm -rf $ORACLE_BASE/*&nbsp; </p>
<p>启动 Oracle 9i 数据库 <br>9i 中已经没有 svrmgrl 了，所有的管理工作都通过 sqlplus 来完成： <br>&nbsp;dba$ sqlplus /nolog <br>&nbsp;SQL&gt; connect / as sysdba <br>&nbsp;SQL&gt; startup </p>
<p>补丁： <br><a href="http://otn.oracle.com/support/patches.htm"><u><font color=#0000ff>http://otn.oracle.com/support/patches.htm</font></u></a>: 察看最新的patch set. <br>metalink.oracle.com: 下载patch, 需要csi注册账号，文件名为p&lt;patch-id&gt;_&lt;oracle_ver&gt;_&lt;platform&gt;.zip<br></p>
<p>以下以数据库SW为例<br>一、initSW.ora: 需要关注的参数</p>
<p>control_files</p>
<p>db_name = SW&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#for basic settings<br>db_block_size<br>db_block_buffers<br>shared_pool_size</p>
<p>log_buffer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#for log and checkoint settings<br>log_checkpoint_interval<br>log_checkpoint_timeout</p>
<p>log_archive_start&nbsp;&nbsp;&nbsp;&nbsp;#for archive settings<br>log_archive_dest<br>log_archive_format</p>
<p>background_dump_dest&nbsp;&nbsp;&nbsp;#for log destinations<br>core_dump_dest<br>user_dump_dest</p>
<p>rollback_segments&nbsp;&nbsp;&nbsp;&nbsp;#for public rollback segments</p>
<p>job_queue_interval&nbsp;&nbsp;&nbsp;&nbsp;#for automatic jobs<br>job_queue_processes&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p>&nbsp;</p>
<p>二、 创建数据库<br>connect internal (for 8i) | connnect / as sysdba (for 9i)<br>startup nomount pfile=$ORACLE_HOME/dbs/initcws_0.orabangu</p>
<p>create database "FREELAND"<br>&nbsp;maxinstances 8<br>&nbsp;maxlogfiles&nbsp; 32<br>&nbsp;datafile<br>&nbsp;&nbsp;'/oradata/FREEDB/data/systemFREEDB01.dbf'&nbsp;size 100M,<br>&nbsp;&nbsp;'/oradata/FREEDB/data/systemFREEDB02.dbf'&nbsp;size 100M<br>&nbsp;logfile group 1 ( '/oradata/FREEDB/redo/logFREEDB1a.log',<br>&nbsp;&nbsp;'/oradata/FREEDB/redo/logFREEDB1b.log' )&nbsp;size 10M,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; group 2 ( '/oradata/FREEDB/redo/logFREEDB2a.log',<br>&nbsp;&nbsp;'/oradata/FREEDB/redo/logFREEDB2b.log' )&nbsp;size 10M<br>&nbsp;character set ZHS16GBK<br>&nbsp;--- national character set ZHS16GBK;<br>disconnect</p>
<p>注：1. 8i 只需要80--100M的system表空间， 而9i需要150M--200M<br>&nbsp;2. 9i以后没有internal账号了。<br>&nbsp;3. 9i 不需要指定national character set。<br>&nbsp;<br>三、 构建数据字典<br>connect internal/sys (8i) | connect / as sysdba or connect sys(9i)<br>@$ORACLE_HOME/rdbms/admin/catalog.sql<br>@$ORACLE_HOME/rdbms/admin/catproc.sql<br>@$ORACLE_HOME/rdbms/admin/catexp.sql<br>@$ORACLE_HOME/rdbms/admin/catdbsyn.sql<br>@$ORACLE_HOME/rdbms/admin/utlchain.sql<br>@/home/oracle_app/rdbms/admin/caths.sql<br>&nbsp;---Create Heterogeneous Services data dictionary objects.<br>@/home/oracle_app/rdbms/admin/otrcsvr.sql<br>&nbsp;---Creates stored procedures used by the Oracle Trace server.<br>@/home/oracle_app/rdbms/admin/dbmsstdx.sql<br>&nbsp;---使用trigger之前必须运行<br>&nbsp;<br>connect system/manager<br>@/home/oracle_app/sqlplus/admin/pupbld.sql<br>@/home/oracle_app/ord/admin/ordinst.sql<br>@/home/oracle_app/sqlplus/admin/help/helptbl.sql</p>
<p>connect / as sysdba<br>create tablespace PAS_TMP temporary<br>&nbsp;datafile<br>&nbsp;&nbsp;'/oradata/FREEDB/data/tempFREEDB01.dbf' size 200M,<br>&nbsp;&nbsp;'/oradata/FREEDB/data/tempFREEDB02.dbf' size 200M<br>&nbsp;default storage<br>&nbsp;&nbsp;(initial 2M next 2M minextents 10 maxextents unlimited pctincrease 0);<br>&nbsp;&nbsp;<br>create tablespace PAS_RBS<br>datafile<br>&nbsp;&nbsp;'/oradata/FREEDB/data/rbsFREEDB01.dbf' size 200M,<br>&nbsp;&nbsp;'/oradata/FREEDB/data/rbsFREEDB02.dbf' size 200M<br>&nbsp;default storage<br>&nbsp;&nbsp;(initial 1M next 1M minextents 10 maxextents unlimited pctincrease 0);</p>
<p>create tablespace PAS_IDX<br>&nbsp;datafile<br>&nbsp;&nbsp;'/dev/raw/raw6' size 512M autoextend on<br>&nbsp;default storage<br>&nbsp;&nbsp;(initial 2M next 2M minextents 10 maxextents unlimited pctincrease 0);<br>&nbsp;&nbsp;<br>create tablespace PAS_IN_IDX<br>&nbsp;datafile<br>&nbsp;&nbsp;'/oradata/FREEDB/data/in_idxFREEDB01.dbf' size 200M autoextend on maxsize 1500M,<br>&nbsp;&nbsp;'/oradata/FREEDB/data/in_idxFREEDB02.dbf' size 200M autoextend on maxsize 1500M<br>&nbsp;default storage<br>&nbsp;&nbsp;(initial 2M next 2M minextents 10 maxextents unlimited pctincrease 0);</p>
<p>create tablespace PAS_BILL<br>&nbsp;datafile<br>&nbsp;&nbsp;'/dev/raw/raw1' size 512M autoextend on,<br>&nbsp;&nbsp;'/dev/raw/raw2' size 512M autoextend on,<br>&nbsp;&nbsp;'/dev/raw/raw3' size 512M autoextend on,<br>&nbsp;&nbsp;'/dev/raw/raw4' size 512M autoextend on,<br>&nbsp;&nbsp;'/dev/raw/raw5' size 512M autoextend on<br>&nbsp;default storage<br>&nbsp;&nbsp;(initial 2M next 2M minextents 20 maxextents unlimited pctincrease 0);<br>&nbsp;&nbsp;<br>create tablespace PAS_FREE<br>&nbsp;datafile<br>&nbsp;&nbsp;'/oradata/FREEDB/data/inFREEDBa1.dbf' size 1000M autoextend on maxsize 2000M,<br>&nbsp;&nbsp;'/oradata/FREEDB/data/inFREEDBb2.dbf' size 1000M autoextend on maxsize 2000M<br>&nbsp;&nbsp;'/oradata/FREEDB/data/inFREEDBa3.dbf' size 1000M autoextend on maxsize 2000M,<br>&nbsp;&nbsp;'/oradata/FREEDB/data/inFREEDBb4.dbf' size 1000M autoextend on maxsize 2000M<br>&nbsp;&nbsp;'/oradata/FREEDB/data/inFREEDBa5.dbf' size 1000M autoextend on maxsize 2000M,<br>&nbsp;&nbsp;'/oradata/FREEDB/data/inFREEDBb6.dbf' size 1000M autoextend on maxsize 2000M<br>&nbsp;default storage<br>&nbsp;&nbsp;(initial 2M next 2M minextents 20 maxextents unlimited pctincrease 0);</p>
<p>create public rollback segment r01 tablespace PAS_RBS storage (optimal 20M);<br>create public rollback segment r02 tablespace PAS_RBS storage (optimal 20M);<br>create public rollback segment r03 tablespace PAS_RBS storage (optimal 20M);<br>create public rollback segment r04 tablespace PAS_RBS storage (optimal 20M);<br>create public rollback segment r05 tablespace PAS_RBS storage (optimal 20M);<br>create public rollback segment r06 tablespace PAS_RBS storage (optimal 20M);<br>alter rollback segment r01 online;<br>alter rollback segment r02 online;<br>alter rollback segment r03 online;<br>alter rollback segment r04 online;<br>alter rollback segment r05 online;<br>alter rollback segment r06 online;</p>
<p>alter user sys identified by "in core";<br>alter user system identified by "in core";</p>
<p>create user bill identified by "bill2002"<br>default tablespace PAS_BILL<br>temporary tablespace PAS_TMP<br>quota unlimited on PAS_BILL<br>quota unlimited on PAS_TMP;</p>
<p>create user xy identified by "xy2002"<br>default tablespace PAS_FREE<br>temporary tablespace PAS_TMP<br>quota unlimited on PAS_FREE<br>quota unlimited on PAS_TMP;</p>
<p>grant dba to bill with admin option;<br>alter user bill default role dba;</p>
<p><br>grant dba to xy with admin option;<br>alter user xy default role dba;<br>grant select any table to bill;&nbsp;</p>
<p>connect xy<br>grant select any table to bill;&nbsp;&nbsp;&nbsp;//for pl/sql</p>
<p>connect bill<br>grant select any table to xy;&nbsp;&nbsp;&nbsp;//for pl/sql</p>
<img src ="http://www.blogjava.net/superwei/aggbug/134629.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/superwei/" target="_blank">小辞猬</a> 2007-08-06 10:41 <a href="http://www.blogjava.net/superwei/articles/134629.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux环境安装oracle</title><link>http://www.blogjava.net/superwei/articles/134625.html</link><dc:creator>小辞猬</dc:creator><author>小辞猬</author><pubDate>Mon, 06 Aug 2007 02:37:00 GMT</pubDate><guid>http://www.blogjava.net/superwei/articles/134625.html</guid><wfw:comment>http://www.blogjava.net/superwei/comments/134625.html</wfw:comment><comments>http://www.blogjava.net/superwei/articles/134625.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/superwei/comments/commentRss/134625.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/superwei/services/trackbacks/134625.html</trackback:ping><description><![CDATA[<div class=t_msgfont id=message499033>载自：<a href="http://bbs.chinaunix.net/">http://bbs.chinaunix.net</a><br><br>一点心得：<br>本身就对linux环境不熟悉，又加上是第一次安装oracle，所以在安装过程中，找了不少相关文档，但是每个文档的内容都有所不同，而且不太全面，所以把自己的安装过程记下来。希望能帮助以下其他第一次安装oracle的朋友们！<br><br>这几天，也是一直麻烦本讨论区的几位朋友了！<br><br>特此感谢：pydwh、 yxq、&nbsp; &nbsp;kingbird<br><br>相关技术支持连接<br>http://www.neweasier.com/article/2003-01-16/1042702987.htmlhttp://www.csdn.net/develop/article/17/17305.shtm<br>http://www.csdn.net/develop/article/17/17306.shtm<br>http://www.csdn.net/develop/article/17/17307.shtm<br>http://fanqiang.com/a2/b2/20020303/080000115.html<br>http://www.linuxeden.com/forum/showthread.php?s=&amp;threadid=53703<br>http://www.linuxeden.com/forum/showthread.php?s=&amp;threadid=53866<br>http://www.linuxeden.com/forum/showthread.php?s=&amp;threadid=51689<br>http://www.linuxeden.com/forum/showthread.php?s=&amp;threadid=44614<br><br><br><br><br>一：准备工作：<br><br>binutils-2.10.0.18-1.src.rpm (这个很重要，安装完成后要还原)<br>compat-egcs-6.2-1.1.2.16.i386.rpm<br>compat-glibc-6.2-2.1.3.2.i386.rpm<br>compat-libs-6.2-3.i386.rpm<br>compat-libstdc++-6.2-2.9.0.16.i386.rpm<br>jdk118_v3-glibc-2.1.3.tar.bz2<br><br><br>lnx_920_disk1.cpio.gz<br>lnx_920_disk2.cpio.gz<br>lnx_920_disk3.cpio.gz<br><br>硬件方便，我就不多说了，这个我想大家都知道了！<br><br><br>二：安装<br><br>1）安装JDK118_v3 <br><br>解压缩，安装在/usr/local <br>bunzip2 jdk118_v3-glibc-2.1.3.tar.bz2<br>tar -xvf jdk118_v3-glibc-2.1.3.tar <br>ln -s jdk118_v3 java <br><br>2）安装binutils-2.10.0.18-1.i386.rpm<br>rpm -Uvh --force --nodeps binutils-2.10.0.18-1.i386.rpm <br><br>3）<br>rpm -Uvh compat-glibc-6.2-2.1.3.2.rpm <br>rpm -Uvh compat-libs-6.2-3.rpm <br>rpm -Uvh --force --nodeps compat-egcs-6.2-1.1.2.14.rpm <br>rpm -Uv compat-libstdc++-6.2-2.9.0.16.i386.rpm&nbsp;&nbsp;（好多时候都是没装这个包,oracle不能进行安装）<br><br>4)<br>解开压缩文件：<br>gunzip lnx_920_disk1.cpio.gz lnx_920_disk2.cpio.gz lnx_920_disk3.cpio.gz<br><br>解开打包文件：<br>cpio -idmv &lt; lnx_920_disk1.cpio.gz <br>cpio -idmv &lt; lnx_920_disk2.cpio.gz <br>cpio -idmv &lt; lnx_920_disk3.cpio.gz <br><br>5)<br>交换空间 <br><br>Oracle 推荐的交换空间大小为物理内存的两倍或者最少 512MB，采用两者之中大的那个值。我建议使用更多的交换空间，特别是你有其他的程序运行在 Oracle 服务器上时，我的 PC 有 256MB 内存，我使用了 600MB 的交换空间。如果在安装 Oracle 时没有足够的交换空间，特别是在建库时，将会导致系统几分钟没有任何反应。 <br><br>检查交换空间： <br>cat /proc/swaps <br><br>增加交换空间： <br>dd if=/dev/zero of=tmpswap bs=1k count=300000 <br>chmod 600 tmpswap <br>mkswap tmpswap <br>swapon tmpswap <br><br>6)<br>建立 Oracle 用户 <br><br>groupadd dba <br>groupadd oinstall <br>useradd -g oinstall -G dba oracle <br>passwd oracle <br><br>建立 Oracle 目录 <br><br>mkdir /opt/oracle <br>mkdir /opt/oracle/product <br>mkdir /opt/oracle/product/9.2.0 <br>chown -R oracle.oinstall /opt/oracle <br>mkdir /var/opt/oracle <br>chown oracle.dba /var/opt/oracle <br>chmod 755 /var/opt/oracle <br><br>7)<br>以 Oracle 用户进入，建立 $HOME/.bash_profile：<br># Oracle Environment <br>export ORACLE_BASE=/opt/oracle <br>export ORACLE_HOME=/opt/oracle/product/9.2.0<br>export ORACLE_SID=ora <br>export ORACLE_TERM=xterm <br>#export TNS_ADMIN= 设置这个变量，如果 sqlnet.ora, tnsnames.ora等不在$ORACLE_HOME/network/admin 目录下。 <br>export NLS_LANG=AMERICAN; <br>export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data <br>LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/openwin/lib <br>LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/td/lib:/usr/ucblib:/usr/local/lib <br>export LD_LIBRARY_PATH <br># Set shell search paths: <br>PATH=/bin:/usr/bin:/usr/sbin:/etc:/opt/bin:/usr/ccs/bin:/usr/openwin/bin:/opt/local/GNU/bin <br>PATH=$PATH:/opt/local/bin:/opt/NSCPnav/bin<img alt="" src="http://bbs.chinaunix.net/images/smilies/shy.gif" border=0 smilieid="8">ORACLE_HOME/bin <br>PATH=$PATH:/usr/local/samba/bin:/usr/ucb: <br>export PATH <br># CLASSPATH must include the following JRE locations: <br>CLASSPATH=$ORACLE_HOME/JRE<img alt="" src="http://bbs.chinaunix.net/images/smilies/shy.gif" border=0 smilieid="8">ORACLE_HOME/jlib<img alt="" src="http://bbs.chinaunix.net/images/smilies/shy.gif" border=0 smilieid="8">ORACLE_HOME/rdbms/jlib <br>CLASSPATH=$CLASSPATH<img alt="" src="http://bbs.chinaunix.net/images/smilies/shy.gif" border=0 smilieid="8">ORACLE_HOME/network/jlib <br>LC_ALL=en_US<br>export LC_ALL<br>LANG=en_US<br>export LANG <br>TMPDIR=/tmp<br>exprot TMPDIR<br>umask 022<br><br>保存退出，重新登陆oracle用户<br><br><br><br><img alt="" src="http://bbs.chinaunix.net/images/smilies/icon_cool.gif" border=0 smilieid="44"><br>启动 runInstaller <br>#Disk1/runInstaller<br>开始安装<br><br>出现oralce的图形安装界面<br><br>安装过程中：<br>（1）系统提示要在/tmp下以Root身份运行orainstRoot.sh，打开终端窗口，以Root身份运行/tmp/orainstRoot.sh，然后点Continue。<br><br>（2）文件拷贝完成后系统提示运行Root.sh脚本，打开终端，以Root身份运行Root.sh<br><br>（3）安装文件拷贝没有问题，linking时出一个错误（only one哦，如果你出的错误很多的话，我也没有办法），是关于ins_ctx.mk的，开另一个konsole，修改$ORACLE_HOME/ctx/lib/env_ctx.mk，在INSO_LINK =......一大串的最后加上$(LDLIBFLAG)dl，然后返回到安装界面，retry，安装就可以成功完成<br><br>安装成功<br><br>9）<br>修改shmmax:echo xxxxxxx &gt;; /proc/sys/kernel/shmmax，xxxxxx值为内存的一半(看ORACLE的文档，也不要告诉我你不会)，这是为创建数据库做准备的<br><br>我个人的做法是：<br>以root用户，修改/proc/sys/kernel/shmmax的内容为4294967295<br># vi /proc/sys/kernel/shmmax<br>修改shmmax的内容为4294967295<br>保存退出<br><br><br>10)做一点小的修改<br>为了方便使用，我们现在做中文管理截面的设置<br>修改oracle用户目录下的.bash_profile文件<br>修改以下内容：<br>LC_ALL=en_US<br>export LC_ALL=en_US <br>LANG=en_US<br>export LANG=en_US <br>修改为以下：<br>LC_ALL=zh_CN<br>export LC_AL <br>LANG=zh_CN<br>export LANG<br><br><br>11)建立数据库<br>以oracle用户登陆 <br>启动Oracle 9i监听程序<br># lsnrctl start<br>开始建立数据库<br># dbca<br>按照需要建立数据库，注意修改sys和system的密码<br>数据库完成后<br># oemapp studio<br>出现界面后：<br>启动独立数据库连接<br>选择：工具=》服务管理=》oracle net manager<br>添加&#8220;服务命名&#8221; 完成配置后，进行测试！<br>测试通过后，选择 文件=》保存网络配置 <br>关闭oracle net manager 回到studio界面<br>文件=》将数据库添加到树<br>从弹出窗口中选择 &#8220;从本地的insnames.ora文件中添加已选数据库&#8221; ，从中选择刚才添加的服务名，&#8220;确定&#8221;退出<br><br>到此就ok了！</div>
<img src ="http://www.blogjava.net/superwei/aggbug/134625.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/superwei/" target="_blank">小辞猬</a> 2007-08-06 10:37 <a href="http://www.blogjava.net/superwei/articles/134625.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>liunx下安装ORACLE(转载)</title><link>http://www.blogjava.net/superwei/articles/134619.html</link><dc:creator>小辞猬</dc:creator><author>小辞猬</author><pubDate>Mon, 06 Aug 2007 02:32:00 GMT</pubDate><guid>http://www.blogjava.net/superwei/articles/134619.html</guid><wfw:comment>http://www.blogjava.net/superwei/comments/134619.html</wfw:comment><comments>http://www.blogjava.net/superwei/articles/134619.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/superwei/comments/commentRss/134619.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/superwei/services/trackbacks/134619.html</trackback:ping><description><![CDATA[<p>下载 9i:<br>&nbsp;<a href="http://otn.oracle.com/software/products/oracle9i/htdocs/linuxsoft.htm"><u><font color=#0000ff>http://otn.oracle.com/software/products/oracle9i/htdocs/linuxsoft.htm</font></u></a> </p>
<p>&nbsp;$ md5sum Linux9i_Disk1.cpio.gz Linux9i_Disk2.cpio.gz Linux9i_Disk3.cpio.gz <br>&nbsp;f1a99eb8c8aca1d69a9eeaa8858570d7 Linux9i_Disk1.cpio.gz <br>&nbsp;f2444c0fa53c898e7d2f78c184829d7d Linux9i_Disk2.cpio.gz <br>&nbsp;ec655402d8bc547ed031f14122da574b Linux9i_Disk3.cpio.gz </p>
<p>解包： <br>&nbsp;gunzip Linux9i_Disk1.cpio.gz Linux9i_Disk2.cpio.gz Linux9i_Disk3.cpio.gz <br>&nbsp;<br>&nbsp;cpio -idmv &lt; Linux9i_Disk1.cpio<br>&nbsp;cpio -idmv &lt; Linux9i_Disk2.cpio <br>&nbsp;cpio -idmv &lt; Linux9i_Disk3.cpio </p>
<p>刻盘:<br>&nbsp;mkisofs -r Disk1 | cdrecord -v --eject dev=0,0,0 speed=4 - <br>&nbsp;mkisofs -r Disk2 | cdrecord -v --eject dev=0,0,0 speed=4 - <br>&nbsp;mkisofs -r Disk3 | cdrecord -v --eject dev=0,0,0 speed=4 - <br>注：设备号可以通过执行 cdrecord -scanbus 得到 </p>
<p>交换空间: 物理内存的两倍或者至少512MB<br>&nbsp;cat /proc/swaps <br>增加交换空间： <br>&nbsp;dd if=/dev/zero of=tmpswap bs=1k count=300000 <br>&nbsp;chmod 600 tmpswap <br>&nbsp;mkswap tmpswap <br>&nbsp;swapon tmpswap </p>
<p>共享内存配置: 写入/etc/rc.d/rc.local或者/etc/rc.d/rc5.d/S78oradb:<br>&nbsp;echo 65536 &gt; /proc/sys/fs/file-max&nbsp;&nbsp;&nbsp;&nbsp;#set max descriptors<br>&nbsp;echo 131072 &gt; /proc/sys/kernel/shmmax&nbsp;&nbsp;&nbsp;#half of the physical memory<br>&nbsp;echo 4096 &gt; /proc/sys/kernel/shmmni&nbsp;&nbsp;&nbsp;<br>&nbsp;echo 2097152 &gt; /proc/sys/kernel/shmall<br>&nbsp;echo 100 32000 100 100 &gt; /proc/sys/kernel/sem&nbsp;&nbsp;#semmsl semmns&nbsp; semopm semmni<br>&nbsp;echo 1024 65000 &gt; /proc/sys/net/ipv4/ip_local_port_range</p>
<p>环境配置：写入oracle用户的.cshrc<br>&nbsp;ulimit -u 16384&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#maximun processes<br>&nbsp;ulimit -n 66536&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#maximum descriptors </p>
<p><br>"binutils" RPM 版本的问题 <br>7.1 和 7.2 随带的 binutils RPM 包不兼容9i 的 Universial Installer，有两个解决方案： <br>&nbsp;a. &#8220;降级&#8221; Oracle 服务器上的 binutil ： <br>&nbsp;&nbsp;<a href="ftp://ftp.redhat.com/pub/redhat/linux/7.0/en/os/i386/RedHat/RPMS/binutils-2.10.0.18-1.i386.rpm"><u><font color=#0000ff>ftp://ftp.redhat.com/pub/redhat/linux/7.0/en/os/i386/RedHat/RPMS/binutils-2.10.0.18-1.i386.rpm</font></u></a> <br>&nbsp;&nbsp;#rpm -Uvh --force --nodeps binutils-2.10.0.18-1.i386.rpm&nbsp;&nbsp; #安装<br>&nbsp;注：安装完 Oracle 后，别忘了把 binutil 升级回去。 <br>&nbsp;b. 在安装中等待出现下面的错误，然后手工修复： <br>&nbsp;&nbsp;"Error invoking target install of makefile /opt/oracle/product/9.0.1/plsql/lib/ins_plsql.mk" <br>&nbsp;&nbsp;请参考 Running Oracle Installation 以及 Oracle Installation Errors ，我推荐使用第二种方法。 </p>
<p>安装 JDK <br>&nbsp;bzip2 -dc jdk118_v3-glibc-2.1.3.tar.bz2 | tar xf - -C /usr/local <br>&nbsp;ln -s /usr/local/jdk118_v3 /usr/local/java </p>
<p>建立 Oracle 用户 <br>&nbsp;mkdir /home/oracle<br>&nbsp;groupadd -g 1001 dba <br>&nbsp;useradd -g 1001 -u 1001 -d /home/oracle oracle <br>&nbsp;passwd oracle <br>&nbsp;chown -R oracle:dba /home/oracle<br>注: 记得为oracle用户指定tcsh</p>
<p>建立相关目录 <br>&nbsp;mkdir /home/tmp<br>&nbsp;chmod 777 /home/tmp<br>&nbsp;<br>&nbsp;mkdir /home/oracle_app <br>&nbsp;chown -R oracle:dba /home/oracle_app<br>&nbsp;mkdir /home/oradata<br>&nbsp;mkdir /home/oradata/FREEDB<br>&nbsp;mkdir /home/oradata/FREEDB/admin<br>&nbsp;mkdir /home/oradata/FREEDB/admin/bdump<br>&nbsp;mkdir /home/oradata/FREEDB/admin/cdump<br>&nbsp;mkdir /home/oradata/FREEDB/admin/udump<br>&nbsp;mkdir /home/oradata/FREEDB/archive<br>&nbsp;mkdir /home/oradata/FREEDB/config<br>&nbsp;mkdir /home/oradata/FREEDB/control<br>&nbsp;mkdir /home/oradata/FREEDB/data<br>&nbsp;mkdir /home/oradata/FREEDB/redo<br>&nbsp;chown -R oracle:dba /home/oradata<br>&nbsp;ln -s /home/oradata /oradata<br>&nbsp;<br>&nbsp;mkdir /var/opt/oracle <br>&nbsp;chown oracle:dba /var/opt/oracle <br>&nbsp;chmod 755 /var/opt/oracle </p>
<p>设置 Oracle 环境 <br>以 Oracle 用户进入，建立 $HOME/.bashrc或者.cshrc <br>&nbsp;export ORACLE_BASE=/home/oracle_app <br>&nbsp;export ORACLE_HOME=/home/oracle_app <br>&nbsp;export ORACLE_SID=XFDB<br>&nbsp;export ORACLE_TERM=xterm <br>&nbsp;#export TNS_ADMIN= 设置这个变量，如果 sqlnet.ora, tnsnames.ora等不在$ORACLE_HOME/network/admin 目录下。 <br>&nbsp;export NLS_LANG=american_america.ZHS16GBK; <br>&nbsp;export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data <br>&nbsp;LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/openwin/lib <br>&nbsp;LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/td/lib:/usr/ucblib:/usr/local/lib <br>&nbsp;export LD_LIBRARY_PATH <br>&nbsp;# Set shell search paths: <br>&nbsp;PATH=/bin:/usr/bin:/usr/sbin:/etc:/opt/bin:/usr/ccs/bin:/usr/openwin/bin:/opt/local/GNU/bin <br>&nbsp;PATH=$PATH:/opt/local/bin:/opt/NSCPnav/bin:$ORACLE_HOME/bin <br>&nbsp;PATH=$PATH:/usr/local/samba/bin:/usr/ucb: <br>&nbsp;export PATH <br>&nbsp;# CLASSPATH must include the following JRE locations: <br>&nbsp;CLASSPATH=$CLASSPATH:$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib <br>&nbsp;CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib <br>&nbsp;For RedHat 9.0:<br>&nbsp;export JAVA_HOME=/usr/local/java_1.4.1_or_above&nbsp;&nbsp;#否则runinstaller会挂死<br>&nbsp;export LD_ASSUME_KERNEL=2.4.1&nbsp;&nbsp;#make sure to use java GUI tools such as netca, etc. when using Oracle.</p>
<p>启动 runInstaller <br>Oracle 不再支持字符模式的安装，因此必须设置 DISPLAY 变量。<br>&nbsp;a&gt;&nbsp;yourdesktop:user$ xhost +oracleserver <br>&nbsp;b&gt;&nbsp;从 oracleserver 的控制台上以 Oracle 用户执行： <br>&nbsp;&nbsp;oracleserver:oracle$ export DISPLAY=yourdesktop:0.0 <br>&nbsp;c&gt;&nbsp;从第一张 CD 或者从下载点（Disk1/RunInstaller）执行 runInstaller <br>&nbsp;&nbsp;oracleserver:oracle$ mount /mnt/cdrom <br>&nbsp;&nbsp;oracleserver:oracle$ /mnt/cdrom/runInstaller <br>&nbsp;注：不要 cd 到 /mnt/cdrom 去执行runInstaller，因为 unmount 不能把挂接着的 CD 卸下来<br>&nbsp;<br>安装确认信息: <br>&nbsp;The base directory (Inventory Location): /home/oracle_app/oraInventory <br>&nbsp;UNIX Group Name (permission for updating Oracle software): dba <br>&nbsp;Full path name of the Oracle Home: /home/oracle_app<br>&nbsp;JDK Home Directory: /usr/local/java</p>
<p>忘记设置 DISPLAY 环境变量或者忘记在桌面 PC 上运行 xhost +oracleserver，将得到下面的错误： <br>&nbsp;Xlib: connection to ":0.0" refused by server <br>&nbsp;Xlib: Client is not authorized to connect to Server </p>
<p>对7.1，7.2，如果没有&#8220;降级&#8221; binutils 包，安装到第三张 CD 时会发生如下错误： <br>&nbsp;"Error invoking target install of makefile /opt/oracle/product/9.0.1/plsql/lib/ins_plsql.mk" <br>&nbsp;"Error invoking target install of makefile /opt/oracle/product/9.0.1/precomp/lib/ins-precomp.mk" <br>&nbsp;"Error invoking target install of makefile /opt/oracle/product/9.0.1/precomp/lib/ins-net-client" <br>&nbsp;"Error invoking target install of makefile /opt/oracle/product/9.0.1/precomp/lib/ins-oemagent" <br>解决方法：<br>&nbsp;编辑 $ORACLE_HOME/bin/genclntsh 把 LD_SELF_CONTAINED="-z defs" 改成： LD_SELF_CONTAINED="" <br>&nbsp;然后运行脚本：$ORACLE_HOME/bin/genclntsh<br>&nbsp;retry</p>
<p>ins_ctx.mk错误的解决方法： <br>&nbsp;edit $ORACLE_HOME/ctx/lib/env_ctx.mk. <br>&nbsp;add $(LDLIBFLAG)dl into the line INSO_LINK=-L$(CTXLIB) $(LDLIBFLAG)m right at the position. <br>&nbsp;retry.&nbsp; </p>
<p>Error in setting permissions of file/directory /home/oracle_app/jre/1.1.8/bin/i686/native_threads/.extract_args. <br>&nbsp;手工找到并从安装 jre 的目录下拷贝文件 .extract_args 到 runInstaller 提示文件丢失的地方。 </p>
<p>For RedHat 9.0: <br>&nbsp;You will get make errors for oemadmin and a few others.&nbsp; Simply ignore.</p>
<p>其他注意事项：<br>&nbsp;当 runInstaller 开始配置工具时，"Oracle Net Configuration Assistant" 会挂起。简单的解决办法是停止其配置，重新配置或者继续安装，当其他安装结束后，再来一次&#8220;Retry"。 <br>&nbsp;如果在安装中系统停止了反应，可能是没有足够的交换空间。如果发生这样的事情，只能等待到系统反应为止。 <br>&nbsp;Oracle 的安装还需要运行 make 等程序，在生产环境中，你或许没有安装编译器和其他开发工具，所以，需要临时安装下面的几个包： cpp, egcs, egcs-c++, glibc-devel, kernel-headers 。 </p>
<p>如果不能成功安装 9i 而需要重来的话，需要清除下面的文件和目录： <br>&nbsp;rm -rf /etc/oraInst.loc /etc/oratab /tmp/OraInstall <br>&nbsp;rm -rf $ORACLE_BASE/*&nbsp; </p>
<p>启动 Oracle 9i 数据库 <br>9i 中已经没有 svrmgrl 了，所有的管理工作都通过 sqlplus 来完成： <br>&nbsp;dba$ sqlplus /nolog <br>&nbsp;SQL&gt; connect / as sysdba <br>&nbsp;SQL&gt; startup </p>
<p>补丁： <br><a href="http://otn.oracle.com/support/patches.htm"><u><font color=#0000ff>http://otn.oracle.com/support/patches.htm</font></u></a>: 察看最新的patch set. <br>metalink.oracle.com: 下载patch, 需要csi注册账号，文件名为p&lt;patch-id&gt;_&lt;oracle_ver&gt;_&lt;platform&gt;.zip<br></p>
<img src ="http://www.blogjava.net/superwei/aggbug/134619.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/superwei/" target="_blank">小辞猬</a> 2007-08-06 10:32 <a href="http://www.blogjava.net/superwei/articles/134619.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>