Apache 日志分割轮巡

[不指定 2004/12/15 23:56 | by ipaddr ]


Apache默认情况下,是把日志写入一整个文件的,随着防问量增加,这个文件会很大,给备份和轮巡带来了麻烦,可以使用 cronolog来自动分割和轮巡。

1.下载:
到官方网站上下载 1.6.2 版

2.编译:

#tar -xzf cronolog-1.6.2.tar.gz
#cd cronolog-1.6.2
#./configure
#make


3.安装
Copy 到 Apache 的 bin 目录:
#cp src/cronolog /usr/local/apache2/bin/

4.配置
修改Apache 的 httpd.conf文件完成配置:
#vi /usr/local/apache2/conf/httpd.conf
将CustomLog那行改为:
CustomLog "|/usr/local/apache2/bin/cronolog /var/log/httpd/access%y%m%d.log" combined
重启Apache使配置生效
(注意,Custom引号内前面有一个"|",另外,日志是放在/var/log/httpd目录)

5.OK.
所有日志,以access年月日.log(access041216.log)的形式,保存到/var/log/httpd/下面。

Linux下PHP+Oracle乱码解决

[不指定 2004/12/15 23:55 | by ipaddr ]
1.安装好服务器,设置好服务端的字符集(比如:ZHS16GBK为中文)

2.查看客户端查看服务端的语言,

 sql>select * from V$NLS_PARAMETERS Where PARAMETER='NLS_LANGUAGE';

  比如是"SIMPLIFIED CHINESE"

 sql>select * from V$NLS_PARAMETERS Where PARAMETER='NLS_TERRITORY';

  比如是"CHINA"

 sql>select * from V$NLS_PARAMETERS Where PARAMETER='NLS_CHARACTERSET';

  比如是"ZHS16GBK"

3.在Apache启动脚本里加入环境变量:

export NLS_LANG="SIMPLIFIED CHINESE"_CHINA_CHS16GBK

(在/etc/init.d/httpd里加入,源代码安装的Apache写一个脚本调用apachectl)

4.OK.

5.注意:
a.如果是简体中文环境,请用上面的参数
b.NLS_LANG是在客户端设置,由"语言_国家.字符集"组成,中文对应为:""SIMPLIFIED CHINESE"_CHINA_CHS16GBK",由于中间有空格,所以用引号.
c.如果只设置了export NLS_LANG="SIMPLIFIED CHINESE",很多繁体字无法识别。

---- 在国内外大中型数据库管理系统中,把ORACLE作为数据库管理平台的用户比较多。ORACLE 不论是数据库管理能力还是安全性都是无可非议的,但是,它在汉字信息的显示方面着实给中国用户带来不少麻烦,笔者多年从事ORACLE数据库管 理,经常收到周围用户和外地用户反映有关ORACLE数据库汉字显示问题的求援信,主要现象是把汉字显示为不可识别的乱码,造成原来大量信息无法使用。本文将就这一问题产生的原因和解决办法进行一些探讨,供存在这方面问题的用户朋友参考。  
---- 1、原因分析  
 
---- 通过对用户反映情况的分析,发现字符集的设置不当是影响ORACLE数据库汉字显示的关键问题。那么字符集是怎么一会事呢?字符集是ORACLE 为适应不同语言文字显示而设定的。用于汉字显示的字符集主要有ZHS16CGB231280,US7ASCII,WE8ISO8859P1等。字符集不仅需在服务器端存在,而且客户端也必须有字符集注册。服务器端,字符集是在安装ORACLE时指定的,字符集登记信息存储在ORACLE数据库字典的V$NLS_PARAMETERS表中;客户端,字符集分两种情况,一种情况是sql*net 2.0以下版本,字符集是在windows的系统目录下的oracle.ini 文件中登记的;另一种情况是sql*net 2.0以上(即32位)版本,字符集是在 windows的系统注册表中登记的。要在客户端正确显示ORACLE 数据库汉字信息,首先必须使服务器端的字符集与客户端的字符集一致;其次是加载到ORACLE数据库的数据字符集必须与服务器指定字符集一致。因此,把用户存在的问题归纳分类,产生汉字显示异常的原因大致有以下几种:  
 
---- 1. 1服务器指定字符集与客户字符集不同,而与加载数据字符集一致。  
 
---- 这种情况是最常见的,只要把客户端的字符集设置正确即可,解决办法见
2.1。  
 
---- 1. 2服务器指定字符集与客户字符集相同,与加载数据字符集不一致。  
 
---- 这类问题一般发生在ORACLE版本升级或重新安装系统时选择了与原来服务器端不同的字符集,而恢复加载的备份数据仍是按原字符集卸出的场合,以及加载从其它使用不同字符集的ORACLE数据库卸出的数据的情况。这两种情况中,不管服务器端和客户端字符集是否一致都无法显示汉字。解决办法见2.2。  
 
---- 1.3服务器指定字符集与客户字符集不同,与输入数据字符集不一致。  
 
---- 这种情况是在客户端与服务器端字符集不一致时,从客户端输入了汉字信息。输入的这些信息即便是把客户端字符集更改正确,也无法显示汉字。解决办法见2.3。  
 
---- 2.解决办法  
 
---- 下面将分别对上述三种情况给出解决办法。为了叙述方便,假设客户端使用WINDOWS95/98环境,并已成功地配置了TCP/IP协议,安装了ORACLE的sql*net,sql*pluse产品。  
 
---- 2.1 设置客户端字符集与服务器端字符集一致  
 
---- 假设当前服务器端使用US7ASCII字符集。  
 
---- (1)查看服务器端字符集  
 
---- 通过客户端或服务器端的sql*plus登录ORACLE的一个合法用户,执行下列SQL语句:  
 
SQL > select * from V$NLS_PARAMETERS  
parameter value
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
.... ....
NLS_CHARACTERSET US7ASCII
NLS_SORT BINARY
NLS_NCHAR_CHARACTERSET US7ASCII
 
---- 从上述列表信息中可看出服务器端ORACLE数据库的字符集为'US7ASCII'。  
 
---- (2)按照服务器端字符集对客户端进行配置  
 
---- 配置方法有两种:  
 
安装ORACLE的客户端软件时指定  
---- 在安装ORACLE的客户端产品软件时,选择与ORACLE服务端一致的字符集(本例为US7ASCII)即可。  
 
修改注册信息的方法  
---- 根据ORACLE 客户端所选sql*net 的版本分为下列两种情况:  
 
---- a. 客户端为 sql*net 2.0 以下版本  
 
---- 进入Windows的系统目录,编辑oracle.ini文件,用US7ASCII替换原字符集,重新启动计算机,设置生效。  
 
---- b. 客户端为 sql*net 2.0 以上版本  
 
---- 在WIN98 下 运 行REGEDIT,第一步选HKEY_LOCAL_MACHINE,第二步选择SOFTWARE, 第三步选择 ORACLE, 第四步选择 NLS_LANG, 键 入 与服 务 器端 相 同 的 字 符 集(本例为:AMERICAN_AMERICAN.US7ASCII)。  
 
---- 2.2 强制加载数据字符集与服务器端字符集一致  
 
---- 假设要加载数据从原ORACLE数据库卸出时的字符集为US7ASCII,当前ORACLE服务器字符集为WE8ISO8859P1。  
 
---- 下面提供三种解决方法:  
 
---- (1) 服务器端重新安装ORACLE  
 
---- 在重新安装ORACLE 时选择与原卸出数据一致的字符集(本例为US7ASCII)。  
 
---- 加载原卸出的数据。  
 
---- 这种情况仅仅使用于空库和具有同一种字符集的数据。  
 
---- (2)强行修改服务器端ORACLE当前字符集  
 
---- 在用imp命令加载数据前,先在客户端用sql*plus登录system DBA用户,执行下列SQL语句进行当前ORACLE数据库字符集修改:  
 
SQL > create database character set US7ASCII
* create database character set US7ASCII
ERROR at line 1:
ORA-01031: insufficient privileges
 
---- 你会发现语句执行过程中,出现上述错误提示信息,此时不用理会,实际上ORACLE数据库的字符集已被强行修改为US7ASCII,接着用imp命令装载数据。等数据装载完成以后,shutdown 数据库,再startup 数据库,用合法用户登录ORACLE数据库,在sql>命令提示符下,运行select * from V$NLS_PARAMETERS,可以看到ORACLE数据库字符集已复原,这时再查看有汉字字符数据的表时,汉字已能被正确显示。  
 
---- (3)利用数据格式转储,避开字符集限制  
 
---- 这种方法主要用于加载外来ORACLE数据库的不同字符集数据。其方法如下:  
 
---- 先将数据加载到具有相同字符集的服务器上,然后用转换工具卸出为foxbase 格式或access格式数据库,再用转换工具转入到不同字符集的ORACLE数据库中,这样就避免了ORACLE字符集的困扰。目前数据库格式转换的工具很多,象Power builder5.0以上版本提供的pipeline,Microsoft Access数据库提供的数据导入/导出功能等。转换方法参见有关资料说明。.  
 
---- 2.3匹配字符集替换汉字  
 
---- 对于1.3提到的情况,没有很好的办法,只能先把客户端与服务器端字符集匹配一致后,根据原输入汉字的特征码替换汉字字符部分。

如何在RHEL3原带的PHP包上面加装Oracle支持

前提,在Linux下安装好了Oracle,或Oracle Client

RHEL3自带了PHP4,并且,对各种东东支持都很完整,如果你需要功能完整的PHP,又要加上Oracle支持的话,可以这样做:
1.将phpinfo()输出信息里的"configure command"全部拷贝到一个文件php.sh,并且,把所有单引号去掉。
2. RHEL3自带的PHP4支持GD库,IMAP,PCRE之类的,所以,如果你要在新安装的PHP里也支持这些,需要安装以下几个包:
freetype-devel-2.1.4-4.0.i386.rpm
libpng-devel-1.2.2-25.i386.rpm
libjpeg-devel-6b-30.i386.rpm
imap-devel-2002d-9.i386.rpm
pcre-devel-3.9-10.i386.rpm
这些,一般都在RHEL3光盘里可以找到
3.
tar zxvf php-4.3.9.tar.gz
cd php-4.3.9
#copy php.sh to this directory
cp /root/php.sh ./
bash php.sh
执行配置一下,看还有没有什么错误,如果没有错误,说明可以通过了,如果有错误,按提示安装相应的RPM包,一般都在RHEL光盘里有。
4.修改php.sh
在--without-oci8改成:--with-oci8=$ORACLE_HOME --with-oracle=$ORACLE_HOME
5.设置环境变量ORACLE_HOME LD_LIBRARY_PATH
6.再将修改过的php.sh执行一次:
bash php.sh
应该没有错误了,有错误按提示装其它包
7.
make
make install
8.
将/etc/httpd/conf.d/php.conf中的LoadModule注释掉,因为编译安装的PHP也会自动加上这句,两句会重复。

9.修改Apache启动脚本,增加ORACLE_HOME LD_LIBRARY_PATH环境变量
10./etc/init.d/httpd restart
完成。 (一般去掉pcre,ODBC支持)


文章来源: http://www.oracle.com/technology/global/cn/tech/opensource/php/php_troubleshooting_faq.html

PHP+Oracle整合

[不指定 2004/12/15 23:53 | by ipaddr ]
安装了Oracle后,才可以与PHP整合
a.设置好ORACLE_HOME环境变量(Oracle的安装目录)
b.Apache以DSO方式安装 ./configure --enable-module=so
c.重装编译安装PHP,并加上--with-oci8=$ORACLE_HOME
d.注意,还要设置LD_LIBRARY_PATH环境变量 引用:

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH  

另外,如果运行时如果要用到这个变量,可以加入到/etc/ld.so.conf中。比如,在/etc/ld.so.conf中加入
/opt/oracle/product/9.2.0/lib
e.改Apache的启动脚本
Apache启动的时候,要有环境变量ORACLE_HOME,如果是RHEL3自带的Apache,则需要在/etc/init.d/httpd里,加入如下两句:
引用:
在/etc/init.d/httpd的31行后,加入:
#在这句之后
# RETVAL=0
ORACLE_HOME=/opt/oracle/product/9.2
ORACLE_SID=koook
#ORACLE_SID可以不用设置,但登录是要指定SID
export ORACLE_HOME ORACLE_SID  

另外,如果是自安装的Apache,用apachectl启动的话,可以写一个脚本,如下:
引用:(oracle-apache-ctl)
#!/bin/sh
ORACLE_HOME=/opt/oracle/product/9.2
ORACLE_SID=koook
export ORACLE_HOME ORACLE_SID
echo "Oracle Home: $ORACLE_HOME"
echo "Oracle SID: $ORACLE_SID"
echo Starting Apache
./apachectl start  

(另外,可能还需加入NLS_LANG环境变量,防止乱码)





以下是测试:


$db_conn = ocilogon( "system", "syspassword","koookdb");

//koookdb在Netca里设置,或修改tnsnames.ora文件

$cmdstr = "select ename, sal from scott.emp";

$parsed = ociparse($db_conn, $cmdstr);
ociexecute($parsed);

$nrows = ocifetchstatement($parsed, $results);

echo "";
echo "

Oracle PHP Test

";
echo "\n \n";
echo " Name \n Salary \n
\n";

for ($i = 0; $i < $nrows; $i++ )
{
   echo "
\n";
   echo " " . $results["ENAME"][$i] . " ";
   echo " $ " . number_format($results["SAL"][$i],   2). " ";
   echo "
\n";

}

echo "
Number of Rows: $nrows
";
echo "
If you see data, then it works!

\n";


?>


Oracle9i数据库的启动和停止

[不指定 2004/12/15 23:52 | by ipaddr ]
Oracle9I开始,取消了服务器管理器(svrmgl)和internal用户,数据库的启动和停止都是通过sql*plus来完成!Oracle10g可以通过浏览器来启动和停止数据库服务!这里主要说说9I下的启动和停止服务,下面的命令在8i下也可以使用
要启动或者停止服务,必须拥有sysdba的权限。可以使用两中方式连接
第一种,以sys用户连接
c:>sqlplus sys/change_on_install as sysdba;
进入sql*plus环境;
(注意,ORACLE9I在安装的时候需要你自己设定sys和system的口令,并且不能才用ORACLE9I以前这两个用户的默认口令,这主要是为了保证数据库系统的安全,我为了好记忆,在安装完成后立刻恢复了默认的口令)
第二种:
C:>sqlplus /nolog

SQL*Plus: Release 9.2.0.1.0 - Production on 星期一 4月 26 09:42:00 2004

Copyright (c) 1982, 2002[/img][/img], Oracle Corporation.  All rights reserved.

SQL> connect /as sysdba
已连接。
SQL>
在进入后就可以进行下面的操作了!
先说关闭数据库
shutdown有四个参数,四个参数的含义如下:
Normal 需要等待所有的用户断开连接
Immediate 等待用户完成当前的语句
Transactional 等待用户完成当前的事务
Abort 不做任何等待,直接关闭数据库
normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接
immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。
transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。
abort 执行强行断开连接并直接关闭数据库。
前三种方式不回丢失用户数据。第四种在不的已的情况下,不建议采用!
数据库的启动
数据库启动使用startup命令,它有三种情况
第一种:不带参数,启动数据库实例并打开数据库,以便用户使用数据库,在多数情况下,使用这种方式!
第二种:带nomount参数,只启动数据库实例,但不打开数据库,在你希望创建一个新的数据库时使用,或者在你需要这样的时候使用!
第三种:带mount参数,在进行数据库更名的时候采用。这个时候数据库就打开并可以使用了!


另外,在Linux环境下,需要DBA组里的用户登录Sqlplus,再启动或停止,比如:
#su oracle
$cd $ORACLE_HOME/bin
$sqlplus '/ as sysdba'
sql>startup
sql>shutdown



RHEL3下安装Oracle

[不指定 2004/12/15 23:51 | by ipaddr ]
CU中的renxiao2003写的RHEL3下安装Oracle9R2,收集。(有些地方做了些小小的改动)


1、从网上下载redhat Enterprise Linux Advanced Server3的四个安装文件,安装时swap分区设置为内存的二倍。不要采用DHCP设置主机名和IP地址,而是"手工设置"。否则会在安装oracle的时候出现如下错误:
引用:
Thrown when the IP address of a host cannot be determined

出现这个错误将使Oracle不能安装成功。安装RHAS3,可以刻录到光盘安装,也可以从硬盘安装,从硬盘安装RHAS3,请参考:http://bbs.chinaunix.net/forum/viewtopic.php?p=2416942#2416942
2、系统要求:内存最低256(我的就是这么大),建议512M,硬盘空间4G,如果Oracle安装文件存在硬盘,建议5G(在安装操作系统后的剩余空间)。
可以查看内存的大小,用到的命令是:grep MemTotal /proc/meminfo
swap分区在安装操作系统的时候就设定好了,为内存的2倍,当内存达到1G以上时,和内存大小相同就可以了啊。相看交换分区命令是:/sbin/swapon -s
3、检查是否安装以下包:
引用:
#su - root
#rpm -qa|grep compat
compat-db-4.0.14-5.i386
compat-gcc-7.3-2.96.122.i386
compat-gcc-c++-7.3-2.96.122.i386
compat-libstdc++-7.3-2.96.122.i386
compat-libstdc++-devel-7.3-2.96.122.i386
#rpm -qa|grep openmotif21
openmotif21-2.1.30-8.i386
#rpm -qa|grep setarch
setarch-1.3-1.i386
#rpm -qa|grep tcl
tcl-8.3.5-92.i386


上面显示的内容是在笔者已经安装了具体的RPM包之后的结果。它们对应的软件包是: 引用:

compat-db-4.0.14-5.i386.rpm
compat-gcc-7.3-2.96.122.i386.rpm
compat-gcc-c++-7.3-2.96.122.i386.rpm
compat-libstdc++-7.3-2.96.122.i386.rpm
compat-libstdc++-devel-7.3-2.96.122.i386.rpm
openmotif21-2.1.30-8.i386.rpm
setarch-1.3-1.i386.rpm
tcl-8.3.5-92.i386.rpm


一般情况下,你的系统上的输出结果和这个不同。如果个别包没有安装,把系统安装光盘mount上,找到具体的软件包(大多数在第三张光盘上),然后利用如下的命令来安装相应的包:
# rpm -ivh compat.....rpm
因为我没有把RHAS3刻录到光盘,所以我用下面的命令来挂载iso文件
引用:
mount -o loop /mnt/e/rhas3/rhel-3-i386-as-disc3.iso /mnt/cdrom

要额外注意的是,这些软件包之间是有依赖性的,先后的顺序要找好。否则会报告不能安装的错误。在安装软件包的时候,如果出现软件包的依赖性,就先安装有有依赖的包。我相信大家会看明白软件包之间的依赖性的。
还需要将gcc、g++更换为2.96的版本.
方法如下:
引用:
#su - root
mv /usr/bin/gcc /usr/bin/gcc323
ln -s /usr/bin/gcc296 /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++323 # if g++ doesn't exist, then gcc-c++ was not installed(这里是注释哦)
ln -s /usr/bin/g++296 /usr/bin/g++


3、设置内核参数:
这个版本的默认的glibc 很合适,免去了不少麻烦。
用grep MemTotal /proc/meminfo查看内存总量
出现 MemTotal XXXXXKB,其中的XXXXX就是内存总量。
修改两个文件,如下:
引用:

#vi /etc/sysctl.conf
加入:
kernel.shmmax = xxxxx*1024*2(为内存的2倍,切换到字节。要是超过这个值,在运行dbca时会出现Ora-27123:Unable to attach to shared memeroy segment)
kernel.shmmni=4096
kernel.shmall=2097152
kernel.sem=250 32000 100 128
fs.file-max=65536
net.ipv4.ip_local_port_range=1024 65000
#vi /etc/security/limits.conf
加入:
oracle hard nofile 65536
oracle soft nofile 65536
oracle hard nproc 16384
oracle soft nproc 16384


4、建立用户、设置环境变量
建立用户的命令是以root用户运行的。
引用:
#groupadd oinstall
#groupadd dba
#useradd -g oinstall -G dba oracle
#passwd oracle


设置环境变量:
以oracle用户登录,
引用:
vi $HOME/.bash_profile
插入下面的内容
# Set the LD_ASSUME_KERNEL environment variable only for Red Hat 9 and
# for Red Hat Enterprise Linux Advanced Server 3 (RHEL AS 3) !!
# Use the "Linuxthreads with floating stacks" implementation instead of NPTL:
export LD_ASSUME_KERNEL=2.4.1

# Oracle Environment
export ORACLE_BASE=/opt/oracle
#注释,以上由/home/oracle改成/opt/oracle,原作者有笔误
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0
export ORACLE_SID=test
export ORACLE_TERM=xterm
# export TNS_ADMIN= Set if sqlnet.ora, tnsnames.ora, etc.
# are not in $ORACLE_HOME/network/admin
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

# Set shell search paths
export PATH=$PATH:$ORACLE_HOME/bin


然后注销重新登录,用set|more查看环境变量是否生效。如下:
引用:
#su - root
#mkdir /opt/oracle
#mkdir /opt/oracle/product
#mkdir /opt/oracle/product/9.2.0
#chown -R oracle.oinstall /opt/oracle

#mkdir /var/opt/oracle
#chown oracle.dba /var/opt/oracle
#chmod 755 /var/opt/oracle


这时ORACLE_BASE的值就是/opt/oracle。
5、开始安装
从http://www.oracle.com下载三个安装文件,
ship_9204_linux_disk1.cpio.gz
ship_9204_linux_disk2.cpio.gz
ship_9204_linux_disk3.cpio.gz
用zcat ship_9204_linux_disk1.cpio.gz|cpio -idmv
zcat ship_9204_linux_disk2.cpio.gz|cpio -idmv
zcat ship_9204_linux_disk3.cpio.gz|cpio -idmv
生成三个文件夹Disk1,Disk2,Disk3;
你也可以用
gunzip ship_9204_linux_disk1.cpio.gz
cpio -idmv 这样的命令来生成三个目录,可以用下面的命令刻录到光盘,也可以保存在硬盘。 引用:

mkisofs -r Disk1 | cdrecord -v --eject dev=0,0,0 speed=15 -
mkisofs -r Disk2 | cdrecord -v --eject dev=0,0,0 speed=15 -
mkisofs -r Disk3 | cdrecord -v --eject dev=0,0,0 speed=15 -


进入Disk1目录运行runInstaller之前,注意两点:
a、export LANG=en_us(否则安装界面出来就会出现"□",因为Oracle9i不支持中文界面。)
b、安装p3006854_9204_LINUX.zip补丁,否则会出现如下错误:
引用:
Error occurred during initialization of VM
Unable to load native library: /tmp/OraInstall2003-10-25_03-14-57PM/jre/lib/i386/libjava.so:
symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference


从http://metalink.oracle.com下载p3006854_9204_LINUX.zip补丁。安装此补丁的方法: 引用:

su - root
# unzip p3006854_9204_LINUX.zip
Archive: p3006854_9204_LINUX.zip
creating: 3006854/
inflating: 3006854/rhel3_pre_install.sh
inflating: 3006854/README.txt

# cd 3006854
# sh rhel3_pre_install.sh
Applying patch...
Patch successfully applied
#
注意:如果运行 rhel3_pre_install.sh出现下面的错误
rhel3_pre_install.sh: line 36: gcc: command not found
是因为你忘了安装gcc,同样要是出现下面的错误:
# ls
ls: error while loading shared libraries: /etc/libcwait.so: cannot open shared object file: No such file or directory
# rm /etc/ld.so.preload
rm: error while loading shared libraries: /etc/libcwait.so: cannot open shared object file: No such file or directory
#
请不要退出bash,用下面的方法来修复(我开始遇到,后来没有遇到了,可能是因为我把gcc降级到了296吧)
# echo "" > /etc/ld.so.preload
rm /etc/ld.so.preload
And start over again.



现在运行./runInstaller &(必须进入到Disk1目录,或者从光盘运行,从光盘安装不要进入/mnt/cdrom后运行runInstaller,而是这样运行./mnt/cdrom/runInstaller) (先运行startx,再运行runInstaller,比较方便)
  呵呵,高兴了吧,期待以久的GUI界面终于出来了啊。这是欢迎界面。显示了Oracle安装的源文件所在目录,还有要安装到的产品目录。我们点"Next";
接着出现的下一个界面是Inventory路径,我们点"Next";
  现在要求用户输入UNIX组名,我们用Oracle用户所在的组"oinstall",然后点"Next",如果你是第一次安装Oracle产品,则要你运行一个sh文件。文件是/tmp/orainstRoot.sh,我们打开一个shell窗口,切换到root用户,如下:
引用:
su root
sh /tmp/orainstRoot.sh


运行完毕我们返回Oracle安装界面,点"Continue";
  选择文件存放的目录,我们选择默认值。然后"Next";
  安装的产品是"Oracle9i Database 9.2.0.4.0",点"Next";
  选择安装类型是"通用",默认选项。点"Next";
  输入全局数据库名,然后"Next";
  数据文件的存放位置,我采用的是默认位置,点"Next";
  出现安装组件的选择结果,这时点"Install",开始安装,复制文件,进度条在一点一点的增加,当安装并link完后,出现配置工具界面,agent服务不能配置成功,忽略不用管,在下面修复。DBCA,NETCA,HTTP都正确配置完毕哦。呵呵。下面开始修复错误。其实要是把各个界面抓取下来就更好了。
6、安装p3238244_9204_LINUX.zip补丁
此补丁也是从http://metalink.oracle.com下下载,同时要下载一个opatch软件包:p2617419_220_GENERIC.zip,它主要是用来悠agent服务不能启动的错误。
过程如下: 引用:
su - oracle
$ cp p2617419_210_GENERIC.zip /tmp
$ cd /tmp
$ unzip p2617419_210_GENERIC.zip
$ export PATH=$PATH:/tmp/OPatch
$ export PATH=$PATH:/sbin # the patch needs "fuser" which is located in /sbin
$ unzip p3238244_9204_LINUX.zip
$ cd 3238244
$ opatch apply


补丁修复完成,需要relinked一个.mk文件。
$ cd $ORACLE_HOME/network/lib
$ make -f ins_oemagent.mk install
现在在运行agentctl start,看是不是可以成功运行agent服务了啊,可以用stop、status来停止此服务或者检查服务的状态。
在这个成功之后,居然不能启动Oracle,说是不能找到初始化文件,没办法,我用dbca先删除了原来安装时建立的库,再重新建立了数据库。
7、运行dbca来创建数据库。呵呵,一路畅通,完成数据库的安装。
希望你也能成功安装。


renxiao2003 写得如些详细,按这个步骤安装一般是不会出问题的。

在Windows下管理Oracle9i服务

[不指定 2004/12/15 23:51 | by ipaddr ]
Windows 操作系统下安装Oracle 9i时会安装很多服务——并且其中一些配置为在Windows 启动时启动。在Oracle 运行在Windows 下时,它会消耗很多资源,并且有些服务可能我们并不总是需要。你会发现不使用Windows 图形界面就可以快速、完全地关闭数据库会很有用。
只要拥有管理员权限就可以通过net start 启动一个服务,或者通过net stop 命令停止一个服务,从而控制以下服务中的任何一个。在Windows XP 中,可以通过在控制面板的服务中改变想要禁用的服务(OracleOraHome...)的启动类型(Startup Type)参数,双击某个服务查看其属性,然后将启动类型属性从自动改为手动。

使数据库在本地工作唯一需要运行的服务是OracleServiceORCL 服务(其中ORCL 是SID)。这个服务会自动地启动和停止数据库(使用shutdown 中断)。如果安装了一个数据库,它的缺省启动类型为自动。如果主要是访问一个远程数据库,那么可以把启动类型由自动改为手动。

OracleOraHome92HTTPServer 服务(OraHome92 是Oracle Home 的名称)是在安装Oracle 时自动安装的Apache 服务器。一般情况下我们只用它来访问Oracle Apache 目录下的Web 页面,比如说JSP 或者modplsql 页面。

OracleOraHome92TNSListener 服务只有在数据库需要远程访问时才需要(无论是通过另外一台主机还是在本地通过 SQL*Net 网络协议都属于远程访问)。不用这个服务就可以访问本地数据库。

OracleOraHome92ClientCache 服务缓存用于连接远程数据库的Oracle Names 数据。正常情况下该服务的启动类型是配置为手动的。然而,除非有一台Oracle Names 服务器,否则没有必要运行这个服务。

有四个服务是Oracle 企业管理器所必须的(Oracle Enterprise Manager),这个服务分别为:OracleOraHome92Agent(智能代理),该服务监视数据库和企业管理器请求,缺省启动类型为自动。OracleOraHome92SNMPPeerEncapsulator 和OracleOraHome92SNMPPeerMasterAgent,处理安全网络管理协议服务。OracleOraHome92PagingServer 通过一个使用调制解调器的数字传呼机或者电子邮件发出警告。

OracleMTSRecoveryService 是可选的,该服务允许数据库充当一个微软事务服务器、COM/COM+对象和分布式环境下的事务的资源管理器。

如果只是偶尔使用一下数据库,那么可以创建一个简单的脚本任务来启动和关闭服务器,这样每次只要双击脚本就可以了,可以不使用图形界面。

1.        保存一个快捷方式自动地装载这些文件。

2.        将Oracle 服务设为手动避免在Windows 启动时启动。

REM "dbstart.cmd"
@echo off
set ORAHOME="OraHome92"
set ORASID="ORCL"
net start OracleService%ORASID%
REM net start Oracle%ORAHOME%HTTPServer
REM net start Oracle%ORAHOME%TNSListener
REM net start Oracle%ORAHOME%ClientCache
REM net start Oracle%ORAHOME%Agent
REM net start Oracle%ORAHOME%SNMPPeerEncapsulator
REM net start Oracle%ORAHOME%SNMPPeerMasterAgent
REM net start Oracle%ORAHOME%PagingServer
REM net start OracleMTSRecoverService

REM "dbshut.cmd"
@echo off
set ORAHOME="OraHome92"
set ORASID="ORCL"
net stop OracleService%ORASID%
REM net stop Oracle%ORAHOME%HTTPServer
REM net stop Oracle%ORAHOME%TNSListener
REM net stop Oracle%ORAHOME%ClientCache
REM net stop Oracle%ORAHOME%Agent
REM net stop Oracle%ORAHOME%SNMPPeerEncapsulator
REM net stop Oracle%ORAHOME%SNMPPeerMasterAgent
REM net stop Oracle%ORAHOME%PagingServer
REM net stop OracleMTSRecoverService

RHEL3下安装Java环境

[不指定 2004/12/15 23:50 | by ipaddr ]
1.需要的文件

j2sdk-1_4_2_06-linux-i586-rpm.bin

2.步骤

chmod o+x j2sdk-1_4_2_06-linux-i586-rpm.bin

./j2sdk-1_4_2_06-linux-i586-rpm.bin

rpm -ivh j2sdk-1_4_2_06-linux-i586.rpm

mv /usr/java/jdk-xxxxxx /usr/java/jdk

3.配置

vi /etc/profile

JAVA_HOME=/usr/java/jdk
CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

注意要修改$PATH变量

4.移除原RHEL3带的java链接

rm /usr/bin/java
rm /usr/bin/javac

以上两个文件是RHEL3自带的,是有个空的Java。

分页: 1/2 第一页 1 2 下页 最后页 [ 显示模式: 摘要 | 列表 ]