<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>温室小花.技术.博客 --纯粹的unix技术博客 &#187; oracle</title>
	<atom:link href="http://www.evanjiang.net.cn/archives/category/database/oracle/feed" rel="self" type="application/rss+xml" />
	<link>http://www.evanjiang.net.cn</link>
	<description>红颜弹指老，刹那芳华，与其天涯思君，恋恋不舍，莫若相忘于江湖！</description>
	<lastBuildDate>Sun, 05 Sep 2010 14:51:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>在Solaris10系统上安装Oracle10g数据库</title>
		<link>http://www.evanjiang.net.cn/archives/1277.html</link>
		<comments>http://www.evanjiang.net.cn/archives/1277.html#comments</comments>
		<pubDate>Tue, 11 Aug 2009 16:17:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[sun unix]]></category>

		<guid isPermaLink="false">http://www.evanjiang.net.cn/?p=1277</guid>
		<description><![CDATA[<p>


 <p>1、安装solaris10过程略
1. 修改内核</p>
<p>vi /etc/system</p>
<p>set shmsys:shminfo_shmmax=268435456（本机内存为512M）</p>
<p>set shmsys:shminfo_shmmin=1</p>
<p>set shmsys:shminfo_shmmni=100</p>
<p>set shmsys:shminfo_shmseg=10</p>
<p>set semsys:seminfo_semmni=110</p>
<p>set semsys:seminfo_semmns=310</p>
<p>2. 创建用户和组</p>
<p># groupadd dba</p>
<p>#useradd –g dba –d /export/home/oracle –m oracle</p>
<p>#passwd oracle </p>
<p>3.设定oracle用户的环境参数</p>
<p>#su – oracle</p>
<p>$vi .profile        # 加入内容：</p>
<p>ORACLE_BASE=/export/home/oracle </p>
<p>ORACLE_HOME=$ORACLE_BASE/product/10.0 </p>
<p>ORACLE_SID=ora10g

NLS_LANG=AMERICAN_AMERICA.ZHS16GBK </p>
<p>PATH=$ORACLE_HOME/bin:/bin:/sbin:/usr/ccs/bin:/usr/local/bin </p>
<p>LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/lib:/usr/local/lib:/usr/lib </p>
<p>TMPDIR=/var/tmp </p>
<p>export ORALCE_BASE ORACLE_HOME ORACLE_SID NLS_LANG PATH </p>
<p>LD_LIBRARY_PATH  DISPLAY TMPDIR </p>
<p>umask 022</p>
<p># DISPLAY=192.168.0.178:0.0   俺在安装时会报错，后来就注释</p>
<p>4.解压oracle 10g安装包</p>
<p>将长长的文件名改为sol10g.cpio.gz</p>
<p>#cp [...]]]></description>
			<content:encoded><![CDATA[<p style="float: left;margin: 4px;"><script type="text/javascript"><!--
google_ad_client = "pub-8438729971248494";
/* 160x600, 创建于 10-2-7 */
google_ad_slot = "8970910006";
google_ad_width = 160;
google_ad_height = 600;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p> <p>1、安装solaris10过程略<br />
1. 修改内核</p>
<p>vi /etc/system</p>
<p>set shmsys:shminfo_shmmax=268435456（本机内存为512M）</p>
<p>set shmsys:shminfo_shmmin=1</p>
<p>set shmsys:shminfo_shmmni=100</p>
<p>set shmsys:shminfo_shmseg=10</p>
<p>set semsys:seminfo_semmni=110</p>
<p>set semsys:seminfo_semmns=310</p>
<p>2. 创建用户和组</p>
<p># groupadd dba</p>
<p>#useradd –g dba –d /export/home/oracle –m oracle</p>
<p>#passwd oracle </p>
<p>3.设定oracle用户的环境参数</p>
<p>#su – oracle</p>
<p>$vi .profile        # 加入内容：</p>
<p>ORACLE_BASE=/export/home/oracle </p>
<p>ORACLE_HOME=$ORACLE_BASE/product/10.0 </p>
<p>ORACLE_SID=ora10g<br />
<span id="more-1277"></span><br />
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK </p>
<p>PATH=$ORACLE_HOME/bin:/bin:/sbin:/usr/ccs/bin:/usr/local/bin </p>
<p>LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/lib:/usr/local/lib:/usr/lib </p>
<p>TMPDIR=/var/tmp </p>
<p>export ORALCE_BASE ORACLE_HOME ORACLE_SID NLS_LANG PATH </p>
<p>LD_LIBRARY_PATH  DISPLAY TMPDIR </p>
<p>umask 022</p>
<p># DISPLAY=192.168.0.178:0.0   俺在安装时会报错，后来就注释</p>
<p>4.解压oracle 10g安装包</p>
<p>将长长的文件名改为sol10g.cpio.gz</p>
<p>#cp sol10g.cpio.gz /export/home</p>
<p>在解压 #gunzip sol10g.cpio.gz</p>
<p>#cpio –ivmd < 10g.cpio</p>
<p>修改/export/home/Disk1/install里，修改oraparam.ini  oraparam.var 的版本声明Solaris=5.6,5.7,5.8,5.9,</p>
<p>5.安装</p>
<p>以oracle帐号进行安装</p>
<p>./runInstaller  后面的步骤就简单</p>
<p> 在solaris10上安装oracle10g过程及问题简单记录<br />
下载的文件为solarisx86_DB_10_1_0_3_Disk1.cpio.gz<br />
1、首先解gz文件<br />
      #gunzip solarisx86_DB_10_1_0_3_Disk1.cpio.gz<br />
2、解cpio文件<br />
      #cpio -idmv < solarisx86_DB_10_1_0_3_Disk1.cpio<br />
3、安装时提示：<br />
      Checking operating system version: must be 5.6, 5.7, 5.8 or 5.9. Actual 5.10<br />
      Failed <<<<<br />
      问题解决：<br />
在&#8230;&#8230;../Disk1/install里，修改oraparam.ini oraparam.var</p>
<p>修改如下：<br />
vi oraparam.ini</p>
<p>#You can customise error message shown for failure through CERTIFIED_VERSION_FAI<br />
LURE_MESSAGE<br />
Solaris=5.6,5.7,5.8,5.9,5.10 （就是添加5.10）<br />
Linux=redhat-2.1AS<br />
#HPUX=B.11.00<br />
Decunix=V5.1A,V5.1<br />
AIX=5.1.0.0</p>
<p>vi oraparam.var</p>
<p>#You can customise error message shown for failure through CERTIFIED_VERSION_FAI<br />
LURE_MESSAGE<br />
Solaris=5.8,5.9,5.10 （就是添加5.10）<br />
Windows=4.0,5.0,5.1,5.2<br />
Linux=redhat-2.1AS<br />
HPUX=B.11.11<br />
Decunix=V5.1A,V5.1<br />
AIX=5.1.0.0</p>
<p>保存，再执行./runInstaller 。</p>
<p>Oracle10g EM乱码之快速解决<br />
如果安装时,我们系统环境变量设置的是中文环境,那么就不会有这个问题.这个问题根本原因在于安装时,JDK/JRE字符集的自动选择.<br />
在 $ORACLE_HOME/jdk/jre/lib 和 $ORACLE_HOME/jre/1.4.2/lib/ 目录下都有多种字符集字体配置文件:</p>
<p>[oracle@danaly ~]$ cd $ORACLE_HOME/jdk/jre/lib<br />
[oracle@danaly lib]$ ls font*zh_CN*<br />
font.properties.zh_CN.Redhat  font.properties.zh_CN.Redhat2.1<br />
font.properties.zh_CN.Sun  font.properties.zh_CN_UTF8.Sun<br />
[oracle@danaly lib]$ cd $ORACLE_HOME/jre/1.4.2/lib/<br />
[oracle@danaly lib]$ ls font*zh_CN*<br />
font.properties.zh_CN.Redhat  font.properties.zh_CN.Redhat2.1<br />
font.properties.zh_CN.Sun  font.properties.zh_CN_UTF8.Sun<br />
我们只要用合适的中文字符集文件替换缺省文件即可,我选择使用font.properties.zh_CN.Redhat来替换缺省字体定义文件:<br />
[oracle@danaly lib]$ cp font.properties.zh_CN.Redhat font.properties<br />
替换之后需要清理一下Cache,重启EM即可.<br />
Cache路径通常位于:<br />
$ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs<br />
清除所有gif文件即可.然后重新启动EM:<br />
[oracle@danaly zhs]$ emctl stop dbconsole<br />
TZ set to PRC<br />
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0<br />
Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.</p>
<p>http://danaly.hurrray.com.cn:1158/em/console/aboutApplication</p>
<p>Stopping Oracle Enterprise Manager 10g Database Control &#8230;<br />
 &#8230;  Stopped.<br />
[oracle@danaly zhs]$ emctl start dbconsole<br />
TZ set to PRC<br />
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0<br />
Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.</p>
<p>http://danaly.hurrray.com.cn:1158/em/console/aboutApplication</p>
<p>Starting Oracle Enterprise Manager 10g Database Control &#8230;&#8230;&#8230;&#8230;.. started.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Logs are generated in directory<br />
/opt/oracle/product/10.2.0/danaly.hurrray.com.cn_danaly/sysman/log<br />
现在登陆Web页面,EM显示就可以正常显示中文.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanjiang.net.cn/archives/1277.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DEBIAN 下安装 ORACLE10</title>
		<link>http://www.evanjiang.net.cn/archives/1261.html</link>
		<comments>http://www.evanjiang.net.cn/archives/1261.html#comments</comments>
		<pubDate>Sun, 02 Aug 2009 14:06:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[debian linux]]></category>
		<category><![CDATA[oracle]]></category>

		<guid isPermaLink="false">http://www.evanjiang.net.cn/?p=1261</guid>
		<description><![CDATA[<p style="float: right;margin: 4px;">


</p> <p>
1 安装准备
1.1 系统的准备
  本文是在Debian linux下Oracle10g的安装笔记。我假设您已经成功的安装并配置Debian Linux。
1.2 依赖包的安装
  在开始Oracle的安装之前，请您确保您至少已经安装以下软件包。
  make gcc g++ libc6-dev
  注意：我不确 定，您是否只需要安装以上软件包，但我可以确定的是，您必须安装以上软件包。软件包的安装： apt-get install make gcc g++ libc6-dev
1.3 创建用户和组
  oracle安装需要两个unix用户组和一个运行时的oracle用户。
  以root登录：
[root@james]# groupadd dba
[root@james]# groupadd oinstall
[root@james]# useradd -g oinstall -G dba -m oracle
[root@james]# passwd oracle
1.4 创建目录
  有很多文档，建议您将oracle安装到一个独立的分区上面。比如：/opt。请您根据您的需要选择合适自己的安装目录。在本文档中，我们假设 oracle的安装目录为/usr/local/ora10。
  确保有至少3.5G的可用空间。
[root@james]# mkdir -p /usr/local/ora10/product/10.1.0
[root@james]# [...]]]></description>
			<content:encoded><![CDATA[<p>
1 安装准备<br />
1.1 系统的准备<br />
  本文是在Debian linux下Oracle10g的安装笔记。我假设您已经成功的安装并配置Debian Linux。<br />
1.2 依赖包的安装<br />
  在开始Oracle的安装之前，请您确保您至少已经安装以下软件包。<br />
  make gcc g++ libc6-dev<br />
  注意：我不确 定，您是否只需要安装以上软件包，但我可以确定的是，您必须安装以上软件包。软件包的安装： apt-get install make gcc g++ libc6-dev<br />
1.3 创建用户和组<br />
  oracle安装需要两个unix用户组和一个运行时的oracle用户。<br />
  以root登录：<br />
[root@james]# groupadd dba<br />
[root@james]# groupadd oinstall<br />
[root@james]# useradd -g oinstall -G dba -m oracle<br />
[root@james]# passwd oracle<br />
1.4 创建目录<br />
  有很多文档，建议您将oracle安装到一个独立的分区上面。比如：/opt。请您根据您的需要选择合适自己的安装目录。在本文档中，我们假设 oracle的安装目录为/usr/local/ora10。<br />
  确保有至少3.5G的可用空间。<br />
[root@james]# mkdir -p /usr/local/ora10/product/10.1.0<br />
[root@james]# mkdir /var/opt/oracle<br />
[root@james]# chown oracle.dba /var/opt/oracle<br />
[root@james]# chown -R oracle.dba /usr/local/ora10<br />
[root@james]# chmod 755 /var/opt/oracle<br />
  您生成oracle的运行时路径，并且授写权限给oracle用户，执行权限给dba组。<br />
1.5 设置内核参数<br />
1.5.1 修改sysctl.conf<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</p>
<p>  注：shmmax是一个很重要参数，根据您的机器的内存来设定。如果您设置不合适的话，在创建数据库到约76%的时候就会挂掉。祝您好运。^_^<br />
1.5.2 修改limits.conf<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 />
<span id="more-1261"></span><br />
1.5.3 让修改生效<br />
  修改以上文件后，您必须让其生效，您重启系统，或者用以下的方式改变内核运行参数：<br />
[root@james]# echo 250 32000 100 128 > /proc/sys/kernel/sem<br />
[root@james]# echo 536870912 > /proc/sys/kernel/shmmax<br />
[root@james]# echo 4096 > /proc/sys/kernel/shmmni<br />
[root@james]# echo 2097152 > /proc/sys/kernel/shmall<br />
[root@james]# echo 65536 > /proc/sys/fs/file-max<br />
[root@james]# echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range<br />
1.6 设置Oracle用户环境<br />
  以oracle用户登录：<br />
%su – oracle<br />
  修改~/.bash_profile文件，去掉下列三行的注释符，使.bashrc文件生效：<br />
#if [ -f ~/.bashrc ]; then<br />
#   . ~/.bashrc<br />
#fi<br />
  添加下列行到~/.bashrc:<br />
# oracle 10g<br />
export ORACLE_BASE=/usr/local/ora10<br />
export ORACLE_HOME=/usr/local/ora10/product/10.1.0<br />
export PATH=$ORACLE_HOME/bin/ORACLE_HOME/Apache/Apache/bin/PATH<br />
export ORACLE_OWNER=oracle<br />
export ORACLE_SID=compiere<br />
export ORACLE_TERM=xterm</p>
<p># Edit paths<br />
export LD_LIBRARY_PATH=/usr/local/ora10/product/10.1.0/lib/LD_LIBRARY_PATH<br />
export PATH=/usr/local/ora10/product/10.1.0/bin/PATH</p>
<p># Set DISPLAY<br />
export DISPLAY=&#8221;127.0.0.1:0.0&#8243;<br />
  我是将上面的内容保存到另一个文件中，.bash_oracle，然后在.bashrc中使用source .bash_oracle进行调用 的。您可以根据您的好恶进行设置。您需要注意的是，ORACLE_BASE和ORACLE_HOME的设置一定得和您在前面创建的目录相符。 ORACLE_SID是默认数据库的名称，在本文档中，我们假设默认的数据库名叫compiere，如果您想用其他的名字，请您作相应的修改。<br />
  在有些文档中，还建议您需要设置一些其他的内核参数。但是我在安装的时候，没有设置。我的内核是2.6.8。<br />
  差别忘记，您还得把. bash_profile文件中的umask=022这一行前的注释符去掉。<br />
1.7 设置DISPLAY<br />
  我想您肯定是不想以Oracle用户登录，启动X窗口来进行安装的啦。如果您想直接以oracle用户启动X，进行安装，您可以忽略这一步。<br />
  我们假设我们以一个普通用户james来启动gnome。那么，如果您要以oracle用户的身份来进行安装，则您必须首先启用X的TCP/IP连接。<br />
  Debian下默认关闭TCP/IP连接，所以首先要打开X的TCP/IP连接。<br />
  在/etc/X11/xinit/xserverrc文件中，您将会看到下面这一行：<br />
exec /usr/bin/X11/X -dpi 100 -nolisten tcp<br />
  去掉其中的nolisten，然后重启就OK。<br />
  作为普通用户，打开TCP/IP连接后可能连不上X服务器。需要在用户的.bashrc(/home/james/)中添加下面这一行：<br />
alias startx=&#8217;startx &#8212; -deferglyphs 16&#8242;<br />
  然后，您切换到root用户下，添加127.0.0.1的X连接权限：<br />
shell$sudo su -<br />
shell#xhost +127.0.0.1<br />
  然后，您就可以继续下一步啦。<br />
  请注意：如果您重启系统后，必须 再次执行<br />
xhost +127.0.0.1<br />
2 执行安装<br />
2.1 交换分区的调整<br />
  差点忘，为安装Oracle 10g,oracle推荐至少512M内存和至少400M交换空间。内存，好象不够关系也不大，但是交换分区 呢，您还是大方一点吧。如果您的交换分区不够400M，那么您还是先看看这一步吧。<br />
重设交换分区可以使用如下操作：<br />
shell# dd if=/dev/zero of=tmp_swap bs=1k count=900000<br />
shell# chmod 600 tmp_swap<br />
shell# mkswap tmp_swap<br />
shell# swapon tmp_swap<br />
  完成安装以后，可以释放这个空间：<br />
shell# swapoff tmp_swap<br />
shell# rm tmp_swap<br />
  count值是根据您需要调整的交换分区大小而定。<br />
2.1 运行Installer<br />
  终于可以安装。我们假设下载的安装文件位于/home/oracle下，名称为ship.db.cpio.gz<br />
shell#su &#8211; oracle<br />
shell>gunzip ship.db.cpio.gz # 目录下会生成ship.db.cpio文件<br />
shell>cpio -idmv < ship.db.cpio # 执行完以后，会生成Disk1目录<br />
shell>cd Disk1<br />
shell>./runInstaller -ignoreSysPrereqs   # 因为我们是在debian下，所以必须忽略系统检测<br />
  接下的一般选择默认设置就可以。<br />
  注意：<br />
  A.安装过程中，会提示让您以root用户执行相应的脚本，请您必须选以root身份执行完脚本，然后继续安装。<br />
  B.创建数据时请选择编码需要选“Unicode standard UTF-8 AL32UTF8”。如果您不设定 UTF 8的编码格式，则您在后面汉化Compiere的时候将会出错。<br />
3 数据库设置<br />
  数据库要正常启动，包括两个方面：启动数据库实例，启动侦听。<br />
  您可以手动的启动数据库实例，但是我们推荐您用dbstart命令来启动数据库实例。<br />
  以dbstart启动数据库实例需要做如下两步操作：<br />
A、需要修改/etc/oratab，将想自动启动的数据库(compiere)所在行的“N”修改为“Y”。<br />
B、cp $ORACLE_BASE/admin/compiere/pfile/initcompiere.oraXXX   $ORACLE_HOME/dbs/initcompiere.ora<br />
其中XXX为一长串字符串，随机产生。<br />
  然后执行dbstart就可以自动启动。然后使用lsnrctl启动侦听。<br />
4 常见问题<br />
  暂无<br />
后注：<br />
  本文只是我在Debian Linux下安装Oracle数据的笔记。如果您使用的是其它发行版的Linux，其中的具体步骤可能会有一些差别。请您注意。如果您对本文档有任何建 议，或者您按本文档而不可以完成安装，您可以给我发邮件。shiguo.qin@sw-linux.com</p>
<p>在Debian上安装Oracle Database XE<br />
原作者： redice li<br />
来源：http://rediceli.blogspot.com/200 &#8230; le-database-xe.html</p>
<p>OracleXE 简介</p>
<p>甲骨文2005年宣布向中国市场推出的可免费下载的Oracle Database 10g Express Edition (Oracle Database XE) ，供专业人员在学习及应用开发的起步阶段使用。Oracle Database XE建立在Oracle数据库10g第二版的代码库之上，与Oracle数据库产品系列完全兼容。Oracle Database XE可用于32位Linux和Windows操作系统，在功能上，Oracle Database XE版相当于Oracle Standard Edition One。但由于是免费版本，在硬件上受到一定的限制，如：</p>
<p>至多使用1个CPU或1个双核CPU的处理能力；<br />
最多可使用1GB内存;<br />
每个服务器只限于一个CPU;<br />
最多存储4GB的用户数据。<br />
安装Oracle XE</p>
<p>测试环境建立于Debian系统上，系统具备4Gb的磁盘空间用于建立数据库，500M以上的空间用于安装数据库。要数据库真正运行起来，那么你最好为你的系统配置1Gb的内存。下一步，我们将配置Debian的sources.list，加入oracle安装包的站点：</p>
<p>root@debian ~# echo &#8220;deb http://oss.oracle.com/debian/ unstable main non-free&#8221; >> /etc/apt/sources.list<br />
root@debian ~# apt-get update<br />
安装oracle database XE只需要简单的安装两个包即可，安装过程如下：</p>
<p>root@debian ~# apt-get install oracle-xe-client<br />
root@debian ~# apt-get install oracle-xe<br />
完成后，安装过程就完成。安装过程会更新一些核心的配置参数，可以通过查看/etc/sysctl.conf来查看这些变化，如果你不想重启系统就启动oracle数据库，那么需要先应用这些配置。下面我们直接应用Oracle database XE的默认配置，如用户账号：</p>
<p>root@debian ~# sh /etc/init.d/oracle-sh configure<br />
Oracle Database XE启动后，将打开服务端口1521，可以通过命令lsof来查看(lsof -n -i TCP:1521)，默认安装的情况下，我们还可以通过Web管理接口在本机进行数据库管理（http://127.0.0.1:8080/apex）。我们可以通过 /etc/default/oracle-xe 文件来查看和更新当前 oracle 数据库的配置。</p>
<p>Oracle database XE的运行除要求有一定数量的物理内存外，对交换空间也有一定的要求。Oracle Database 10g Express Edition 要求系统有1006MB的交换空间。如果不希望重启系统，你可以通过创建一个文件交换来达到这一要求：</p>
<p>root@debian ~# dd if=/dev/zero of=/MY_SWP_FILE bs=1M count=1000<br />
root@debian ~# mkswp /MY_SWP_FILE<br />
root@debian ~# swapon /MY_SWP_FILE<br />
要启用或禁止Oracle database XE在开机时自动启动，可以通过 update-rc.d 工具来完成，或者修改文件/etc/default/oracle-xe文件，将其中 ORACLE_DBENABLED=true改为ORACLE_DBENABLED=false。</p>
<p>对于如何使用Oracle database XE不是本文所涉及的内容，就不多讲。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanjiang.net.cn/archives/1261.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ORACLE 数据库管理员的职责</title>
		<link>http://www.evanjiang.net.cn/archives/1137.html</link>
		<comments>http://www.evanjiang.net.cn/archives/1137.html#comments</comments>
		<pubDate>Sat, 30 May 2009 17:36:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[oracle]]></category>

		<guid isPermaLink="false">http://www.evanjiang.net.cn/?p=1137</guid>
		<description><![CDATA[<p>ORACLE数据库管理员应按如下方式对 ORACLE 数据库系统做定期监控：
(1). 每天对 ORACLE 数据库的运行状态 , 日志文件 , 备份情况 , 数据
库的空间使用情况 , 系统资源的使用情况进行检查 , 发现并解决
问题。
(2). 每周对数据库对象的空间扩展情况 , 数据的增长情况进行监控 , 对数据库做健康检查 , 对数据库对象的状态做检查。
(3). 每月对表和索引等进行 Analyze, 检查表空间碎片 , 寻找数据库
性能调整的机会 , 进行数据库性能调整 , 提出下一步空间管理
计划。对 ORACLE 数据库状态进行一次全面检查。
每天的工作
(1). 确认所有的 INSTANCE 状态正常
登陆到所有数据库或例程 , 检测 ORACLE 后台进程 :
$ps –ef&#124;grep ora
(2). 检查文件系统的使用（剩余空间）。如果文件系统的剩余空间小于 20% ，需删除不用的文件以释放空间。
$df –k
(3). 检查日志文件和 trace 文件记录 alert 和 trace 文件中的错误。
连接到每个需管理的系统
? [...]]]></description>
			<content:encoded><![CDATA[<p>ORACLE数据库管理员应按如下方式对 ORACLE 数据库系统做定期监控：<br />
(1). 每天对 ORACLE 数据库的运行状态 , 日志文件 , 备份情况 , 数据<br />
库的空间使用情况 , 系统资源的使用情况进行检查 , 发现并解决<br />
问题。<br />
(2). 每周对数据库对象的空间扩展情况 , 数据的增长情况进行监控 , 对数据库做健康检查 , 对数据库对象的状态做检查。<br />
(3). 每月对表和索引等进行 Analyze, 检查表空间碎片 , 寻找数据库<br />
性能调整的机会 , 进行数据库性能调整 , 提出下一步空间管理<br />
计划。对 ORACLE 数据库状态进行一次全面检查。<br />
每天的工作<br />
(1). 确认所有的 INSTANCE 状态正常<br />
登陆到所有数据库或例程 , 检测 ORACLE 后台进程 :<br />
$ps –ef|grep ora<br />
(2). 检查文件系统的使用（剩余空间）。如果文件系统的剩余空间小于 20% ，需删除不用的文件以释放空间。<br />
$df –k<br />
(3). 检查日志文件和 trace 文件记录 alert 和 trace 文件中的错误。<br />
连接到每个需管理的系统<br />
? 使用&#8217; telnet &#8216;<br />
? 对每个数据库 ,cd 到 bdump 目录 , 通常是 $ORACLE_BASE/<SID>/bdump<br />
? 使用Unix‘tail&#8217; 命令来查看 alert_<SID>.log 文件<br />
? 如果发现任何新的 ORA- 错误 , 记录并解决<br />
(4). 检查数据库当日备份的有效性。<br />
对RMAN备份方式 :<br />
检查第三方备份工具的备份日志以确定备份是否成功<br />
对 EXPORT 备份方式 :<br />
检查exp日志文件以确定备份是否成功<br />
对其他备份方式 :<br />
检查相应的日志文件<br />
(5). 检查数据文件的状态记录状态不是“ online” 的数据文件，并做恢复。<br />
Select file_name from dba_data_files where status=&#8217;OFFLINE&#8217;<br />
(6). 检查表空间的使用情况<br />
<span id="more-1137"></span><br />
SELECT tablespace_name, max_m, count_blocks free_blk_cnt, sum_free_m,to_char(100*sum_free_m/sum_m, &#8217;99.99&#8242;) || &#8216;%&#8217; AS pct_free<br />
FROM ( SELECT tablespace_name,sum(bytes)/1024/1024 AS sum_m FROM dba_data_files GROUP BY tablespace_name),<br />
( SELECT tablespace_name AS fs_ts_name, max(bytes)/1024/1024 AS max_m, count(blocks) AS count_blocks, sum(bytes/1024/1024) AS sum_free_m FROM dba_free_space GROUP BY tablespace_name )<br />
WHERE tablespace_name = fs_ts_name<br />
(7). 检查剩余表空间<br />
SELECT tablespace_name, sum ( blocks ) as free_blk ,<br />
trunc ( sum ( bytes ) /(1024*1024) ) as free_m,<br />
max ( bytes ) / (1024) as big_chunk_k, count (*) as num_chunks<br />
FROM dba_free_space GROUP BY tablespace_name;<br />
(8). 监控数据库性能<br />
运行 bstat/estat 生成系统报告<br />
或者使用 statspack 收集统计数据<br />
(9). 检查数据库性能，记录数据库的 cpu 使用、 IO 、 buffer 命中率等等<br />
使用 vmstat,iostat,glance,top 等命令<br />
(10). 日常出现问题的处理。<br />
每周的工作<br />
(1). 控数据库对象的空间扩展情况<br />
根据本周每天的检查情况找到空间扩展很快的数据库对象 , 并采取相<br />
应的措施<br />
&#8211; 删除历史数据<br />
&#8212; 扩表空间<br />
alter tablespace <name> add datafile ‘<file>&#8216; size <size><br />
&#8212; 调整数据对象的存储参数<br />
next extent<br />
pct_increase<br />
(2). 监控数据量的增长情况<br />
根据本周每天的检查情况找到记录数量增长很快的数据库对象 , 并采<br />
取相应的措施<br />
&#8211; 删除历史数据<br />
&#8212; 扩表空间<br />
alter tablespace <name> add datafile ‘<file>&#8216; size <size><br />
(3). 系统健康检查<br />
检查以下内容 :<br />
init<sid>.ora<br />
controlfile<br />
redologfile<br />
archiving<br />
sort area size<br />
tablespace(system,temporary,tablespace fragment)<br />
datafiles(autoextend,location)<br />
object(number of extent,next extent,index)<br />
rollback segment<br />
logging &#038;tracing(alert.log,max_dump_file_size,sqlnet)<br />
(4). 检查无效的数据库对象<br />
SELECT owner, object_name, object_type FROM dba_objects<br />
WHERE status= &#8216; INVALID &#8216;。<br />
(5). 检查不起作用的约束<br />
SELECT owner, constraint_name, table_name,<br />
constraint_type, status<br />
FROM dba_constraints<br />
WHERE status = &#8216;DISABLED&#8217; AND constraint_type = &#8216;P&#8217;<br />

<!-- Begin alimama Adserver code -->
<script type="text/javascript"><!--
google_ad_client = "pub-8438729971248494";
/* 728x90, ������ 10-2-7 */
google_ad_slot = "4752526529";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- End Alimama Adserver code -->
<br />
(6). 检查无效的 trigger<br />
SELECT owner, trigger_name, table_name, status<br />
FROM dba_triggers<br />
WHERE status = &#8216;DISABLED&#8217;<br />
每月的工作<br />
(1). Analyze Tables/Indexes/Cluster<br />
analyze table <name> estimate statistics sample 50 percent;<br />
(2). 检查表空间碎片<br />
根据本月每周的检查分析数据库碎片情况 , 找到相应的解决方法<br />
(3). 寻找数据库性能调整的机会<br />
比较每天对数据库性能的监控报告 , 确定是否有必要对数据库性能进 行调整<br />
(4). 数据库性能调整<br />
如有必要 , 进行性能调整<br />
(5). 提出下一步空间管理计划<br />
根据每周的监控 , 提出空间管理的改进方法<br />
OracleDBA日常管理<br />
目的：这篇文档有很详细的资料记录着对一个甚至更多的 ORACLE 数据库每天的，每月的，<br />
每年的运行的状态的结果及检查的结果，在文档的附录中你将会看到所有检查，修改的SQL<br />
和 PL/SQL 代码。<br />
目录<br />
1. 日常维护程序<br />
A ． 检查已起的所有实例<br />
B ． 查找一些新的警告日志<br />
C ． 检查 DBSNMP 是否在运行<br />
D ． 检查数据库备份是否正确<br />
E ． 检查备份到磁带中的文件是否正确<br />
F ． 检查数据库的性能是否正常合理，是否有足够的空间和资源<br />
G ． 将文档日志复制到备份的数据库中<br />
H ． 要常看 DBA 用户手册<br />
2. 晚间维护程序<br />
A ．收集 VOLUMETRIC 的数据<br />
3. 每周维护工作<br />
A ． 查找那些破坏规则的 OBJECT<br />
B ． 查找是否有违反安全策略的问题<br />
C ． 查看错误地方的 SQL*NET 日志<br />
D ． 将所有的警告日志存档<br />
E ． 经常访问供应商的主页<br />
4. 月维护程序<br />
A ． 查看对数据库会产生危害的增长速度<br />
B ． 回顾以前数据库优化性能的调整<br />
C ． 查看 I/O 的屏颈问题<br />
D ． 回顾 FRAGMENTATION<br />
E ． 将来的执行计划<br />
F ． 查看调整点和维护<br />
5. 附录<br />
A ． 月维护过程<br />
B ． 晚间维护过程<br />
C ． 周维护过程<br />
6. 参考文献<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
一．日维护过程<br />
A ．查看所有的实例是否已起<br />
确定数据库是可用的，把每个实例写入日志并且运行日报告或是运行测试<br />
文件。当然有一些操作我们是希望它能自动运行的。<br />
可选择执行：用 ORACLE 管理器中的‘ PROBE&#8217; 事件来查看<br />
B ．查找新的警告日志文件<br />
1. 联接每一个操作管理系统<br />
2. 使用‘ TELNET&#8217; 或是可比较程序<br />
3. 对每一个管理实例，经常的执行 $ORACLE_BASE/<SID>/bdump 操<br />
作，并使其能回退到控制数据库的 SID 。<br />
4. 在提示下，使用 UNIX 中的‘ TAIL &#8216;命令查看 alert_<SID>.log ，或是<br />
用其他方式检查文件中最近时期的警告日志<br />
5. 如果以前出现过的一些 ORA_ERRORS 又出现，将它记录到数据库<br />
恢复日志中并且仔细的研究它们，这个数据库恢复日志在〈 FILE 〉中<br />
C ．查看 DBSNMP 的运行情况<br />
检查每个被管理机器的‘ DBSNMP&#8217; 进程并将它们记录到日志中。<br />
在 UNIX 中，在命令行中，键入 ps –ef | grep dbsnmp, 将回看到 2 个<br />
DBSNMP 进程在运行。如果没有，重启 DBSNMP 。<br />
D ．查数据库备份是否成功<br />
E ．检查备份的磁带文档是否成功<br />
F ．检查对合理的性能来说是否有足够的资源<br />
1. 检查在表空间中有没有剩余空间。<br />
对每一个实例来说，检查在表空间中是否存在有剩余空间来满足当天<br />
的预期的需要。当数据库中已有的数据是稳定的，数据日增长的平均<br />
数也是可以计算出来，最小的剩余空间至少要能满足每天数据的增 长。<br />
A ） 运行‘ FREE.SQL&#8217; 来检查表空间的剩余空间。<br />
B ） 运行‘ SPACE.SQL&#8217; 来检查表空间中的剩余空间百分率<br />
2. 检查回滚段<br />
回滚段的状态一般是在线的，除了一些为复杂工作准备的专用 段，它一般状态是离线的。<br />
a) 每个数据库都有一个回滚段名字的列表。<br />
b) 你可以用 V$ROLLSTAT 来查询在线或是离线的回滚段的现在状 态 .<br />
c) 对于所有回滚段的存储参数及名字， 可用<br />
DBA_ROLLBACK_SEGS 来查询。但是它不如 V$ROLLSTAT 准确。<br />
3. 识别出一些过分的增长<br />
查看数据库中超出资源或是增长速度过大的段，这些段的存储参 数需要调整。<br />
a ） 收集日数据大小的信息， 可以用<br />
‘ ANALYZE5PCT.SQL &#8216;。如果你收集的是每晚的信息， 则可跳过这一步。<br />
b ） 检查当前的范围，可用‘ NR.EXTENTS.SQL&#8217; 。<br />
c ） 查询当前表的大小信息。<br />
d ） 查询当前索引大小的信息。<br />
e ） 查询增长趋势。<br />
4. 确定空间的范围。<br />
如果范围空间对象的 NEXT_EXTENT 比表空间所能提供的最大范<br />
围还要大，那么这将影响数据库的运行。如果我们找到了这个目标，可<br />
以用‘ ALTER TABLESPACE COALESCE&#8217; 调查它的位置，或加另外 的数据文件。<br />
A ）运行‘ SPACEBOUND.SQL&#8217; 。如果都是正常的，将不返回任何行。<br />
5. 回顾 CPU ，内存，网络，硬件资源论点的过程<br />
A ）检查 CPU 的利用情况，进到 x:\web\phase2\default.htm =>system<br />
metrics=>CPU 利用页， CPU 的最大限度为 400 ，当 CPU 的占用保持<br />
在 350 以上有一段时间的话，我们就需要查看及研究出现的问题。<br />
G ．将存档日志复制到备用数据库中<br />
如果有一个备用数据库，将适当的存档日志复制到备用数据库的期望<br />
位置，备用数据库中保存最近期的数据。<br />
H. 经常查阅 DBA 用户手册<br />
如果有可能的话，要广泛的阅读，包括 DBA 手册，行业杂志，新闻 组或是邮件列表。<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
二．晚间维护过程<br />
大部分的数据库产品将受益于每晚确定的检查进程的运行。<br />
A. 收集 VOLUMETRIC 数据<br />
1. 分析计划和收集数据<br />
更准确的分析计算并保存结果。<br />
a ） 如果你现在没有作这些的话，用‘ MK VOLFACT.SQL&#8217; 来创建测定体积的 表。<br />
b ） 收集晚间数据大小的信息，用‘ ANALYZE COMP.SQL&#8217; 。<br />
c ） 收集统计结果，用‘ POP VOL.SQL&#8217; 。<br />
d ） 在空闲的时候检查数据，可能的话，每周或每个月进行。<br />
我是用 MS EXCEL 和 ODBC 的联接来检查数据和图表的增长<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
三．每周维护过程<br />
A ． 查找被破坏的目标<br />
1. 对于每个给定表空间的对象来说， NEXT_EXTENT 的大小是相同的，如<br />
12/14/98 ，缺省的 NEXT_EXTENT 的 DATAHI 为 1G ， DATALO 为 500MB ，<br />
INDEXES 为 256MB 。<br />
A ） 检查 NEXT_EXTENT 的设置，可用‘ NEXTEXT 。 SQL&#8217; 。<br />
B ） 检查已有的 EXTENTS ，可用‘ EXISTEXT 。 SQL&#8217; 。<br />
2. 所有的表都应该有唯一的主键<br />
a ） 查看那些表没有主键，可用‘ NO_PK.SQL&#8217; 。<br />
b ） 查找那些主键是没有发挥作用的，可用‘ DIS_PK.SQL&#8217; 。<br />
c ） 所有作索引的主键都要是唯一的，可用‘ NONUPK 。 SQL&#8217; 来检 查。<br />
3. 所有的索引都要放到索引表空间中。运行‘ MKREBUILD_IDX 。 SQL&#8217;<br />
4. 不同的环境之间的计划应该是同样的，特别是测试环境和成品环境之间的 计划应该相同。<br />
a ） 检查不同的 2 个运行环境中的数据类型是否一致，可用<br />
‘ DATATYPE.SQL &#8216;。<br />
b ） 在 2 个不同的实例中寻找对象的不同点， 可用<br />
‘ OBJ_COORD.SQL &#8216;。<br />
c ） 更好的做法是，使用一种工具，象寻求软件的计划管理器那样的 工具。<br />
B ． 查看是否有危害到安全策略的问题。<br />
C ． 查看报错的 SQL*NET 日志。<br />
1. 客户端的日志。<br />
2. 服务器端的日志。<br />
D ． . 将所有的警告日志存档<br />
E ． . 供应商的主页<br />
1. ORACLE 供应商</p>
<p>http://www.oracle.com</p>
<p>http://technet.oracle.com</p>
<p>http://www.oracle.com/support</p>
<p>http://www.oramag.com</p>
<p>2. Quest Software</p>
<p>http://www.quests.com</p>
<p>3. Sun Microsystems</p>
<p>http://www.sun.com</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
四．月维护过程<br />
A ．查看对数据库会产生危害的增长速度<br />
1. 从以前的记录或报告中回顾段增长的变化以此来确定段增长带来危害<br />
B ． 回顾以前数据库优化性能的调整<br />
1. 回顾一般 ORACLE 数据库的调整点，比较以前的报告来确定有害的发展 趋势。<br />
C ． 查看 I/O 的屏颈问题<br />
1. 查看前期数据库文件的活动性，比较以前的输出来判断有可能导致屏颈 问题的趋势。<br />
D ． 回顾 FRAGMENTATION<br />
E ． 计划数据库将来的性能<br />
1. 比较 ORACLE 和操作系统的 CPU ，内存，网络，及硬盘的利用率以此<br />
来确定在近期将会有的一些资源争夺的趋势<br />
2. 当系统将超出范围时要把性能趋势当作服务水平的协议来看<br />
F ． 完成调整和维护工作<br />
1. 使修改满足避免系统资源的争夺的需要，这里面包括增加新资源或使预期 的停工。<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
五．附录<br />
A. 日常程序<br />
&#8211; free.sql<br />
&#8211;To verify free space in tablespaces<br />
&#8211;Minimum amount of free space<br />
&#8211;document your thresholds:<br />
&#8211;<br />
<tablespace_name> = <amount> m<br />
SELECT tablespace_name, sum ( blocks ) as free_blk , trunc ( sum ( bytes ) /<br />
(1024*1024) ) as free_m, max ( bytes ) / (1024) as big_chunk_k, count (*) as num_chunks<br />
FROM dba_free_space GROUP BY tablespace_name<br />
1. Space.sql<br />
&#8211; space.sql<br />
&#8211; To check free, pct_free, and allocated space within a tablespace<br />
&#8211; 11/24/98<br />
SELECT tablespace_name, largest_free_chunk<br />
, nr_free_chunks, sum_alloc_blocks, sum_free_blocks<br />
, to_char(100*sum_free_blocks/sum_alloc_blocks, &#8217;09.99&#8242;) || &#8216;%&#8217;<br />
AS pct_free<br />
FROM ( SELECT tablespace_name , sum(blocks) AS sum_alloc_blocks<br />
FROM dba_data_files GROUP BY tablespace_name )<br />
, ( SELECT tablespace_name AS fs_ts_name<br />
, max(blocks) AS largest_free_chunk<br />
, count(blocks) AS nr_free_chunks<br />
, sum(blocks) AS sum_free_blocks FROM dba_free_space<br />
GROUP BY tablespace_name ) WHERE tablespace_name = fs_ts_name<br />
2. analyze5pct.sql<br />
&#8211; analyze5pct.sql<br />
&#8211; To analyze tables and indexes quickly, using a 5% sample size<br />
&#8211; (do not use this scrīpt if you are performing the overnight<br />
&#8211; collection of volumetric data)<br />
&#8211; 11/30/98<br />
BEGIN<br />
dbms_utility.analyze_schema ( &#8216;&#038;OWNER&#8217;, &#8216;ESTIMATE&#8217;, NULL, 5 ) ;<br />
END ;<br />
/<br />
3. nr_extents.sql<br />
&#8211; nr_extents.sql<br />
&#8211; To find out any object reaching
<threshold>
&#8211; extents, and manually upgrade it to allow unlimited<br />
&#8211; max_extents (thus only objects we *expect* to be big<br />
&#8211; are allowed to become big)<br />
&#8211; 11/30/98<br />
SELECT e.owner, e.segment_type , e.segment_name , count(*) as nr_extents ,<br />
s.max_extents<br />
, to_char ( sum ( e.bytes ) / ( 1024 * 1024 ) , &#8217;999,999.90&#8242;) as MB<br />
FROM dba_extents e , dba_segments s<br />
WHERE e.segment_name = s.segment_name<br />
GROUP BY e.owner, e.segment_type , e.segment_name , s.max_extents<br />
HAVING count(*) > &#038;THRESHOLD<br />
OR ( ( s.max_extents &#8211; count(*) ) < &#038;&#038;THRESHOLD )<br />
ORDER BY count(*) desc<br />
4. spacebound.sql<br />
-- spacebound.sql<br />
-- To identify space-bound objects. If all is well, no rows are returned.<br />
-- If any space-bound objects are found, look at value of NEXT extent<br />
-- size to figure out what happened.<br />
-- Then use coalesce (alter tablespace <foo> coalesce .<br />
&#8211; Lastly, add another datafile to the tablespace if needed.<br />
&#8211; 11/30/98<br />
SELECT a.table_name, a.next_extent, a.tablespace_name<br />
FROM all_tables a,<br />
( SELECT tablespace_name, max(bytes) as big_chunk<br />
FROM dba_free_space<br />
GROUP BY tablespace_name ) f<br />
WHERE f.tablespace_name = a.tablespace_name<br />
AND a.next_extent > f.big_chunk<br />
B. 每晚处理程序<br />
1. mk_volfact.sql<br />
&#8211; mk_volfact.sql (only run this once to set it up; do not run it nightly!)<br />
&#8211; &#8212; Table UTL_VOL_FACTS<br />
CREATE TABLE utl_vol_facts (<br />
table_name VARCHAR2(30),<br />
num_rows NUMBER,<br />
meas_dt DATE )<br />
TABLESPACE platab<br />
STORAGE (<br />
INITIAL 128k<br />
NEXT 128k<br />
PCTINCREASE 0<br />
MINEXTENTS 1<br />
MAXEXTENTS unlimited<br />
)<br />
/<br />
&#8211; Public Synonym<br />
CREATE PUBLIC SYNONYM utl_vol_facts FOR &#038;OWNER..utl_vol_facts<br />
/<br />
&#8211; Grants for UTL_VOL_FACTS<br />
GRANT SELECT ON utl_vol_facts TO public<br />
/<br />
2. analyze_comp.sql<br />
&#8211;<br />
&#8211; analyze_comp.sql<br />
&#8211;<br />
BEGIN<br />
sys.dbms_utility.analyze_schema ( &#8216;&#038;OWNER&#8217;,'COMPUTE&#8217;);<br />
END ;<br />
/<br />
3. pop_vol.sql<br />
&#8211;<br />
&#8211; pop_vol.sql<br />
&#8211;<br />
insert into utl_vol_facts<br />
select table_name<br />
, NVL ( num_rows, 0) as num_rows<br />
, trunc ( last_analyzed ) as meas_dt<br />
from all_tables &#8212; or just user_tables<br />
where owner in (&#8216;&#038;OWNER&#8217;) &#8212; or a comma-separated list of owners<br />
/<br />
commit<br />
/<br />
C. 每周处理程序<br />
1. nextext.sql<br />
&#8211;<br />
&#8211; nextext.sql<br />
&#8211;<br />
&#8211; To find tables that don&#8217;t match the tablespace default for NEXT extent.<br />
&#8211; The implicit rule here is that every table in a given tablespace should<br />
&#8211; use the exact same value for NEXT, which should also be the tablespace&#8217;s<br />
&#8211; default value for NEXT.<br />
&#8211;<br />
&#8211; This tells us what the setting for NEXT is for these objects today.<br />
&#8211;<br />
&#8211; 11/30/98<br />
SELECT segment_name, segment_type, ds.next_extent as Actual_Next<br />
, dt.tablespace_name, dt.next_extent as Default_Next<br />
FROM dba_tablespaces dt, dba_segments ds<br />
WHERE dt.tablespace_name = ds.tablespace_name<br />
AND dt.next_extent !=ds.next_extent<br />
AND ds.owner = UPPER ( &#8216;&#038;OWNER&#8217; )<br />
ORDER BY tablespace_name, segment_type, segment_name<br />
2. existext.sql<br />
&#8211;<br />
&#8211; existext.sql<br />
&#8211;<br />
&#8211; To check existing extents<br />
&#8211;<br />
&#8211; This tells us how many of each object&#8217;s extents differ in size from<br />
&#8211; the tablespace&#8217;s default size. If this report shows a lot of different<br />
&#8211; sized extents, your free space is likely to become fragmented. If so,<br />
&#8211; this tablespace is a candidate for reorganizing.<br />
&#8211;<br />
&#8211; 12/15/98<br />
SELECT segment_name, segment_type<br />
, count(*) as nr_exts<br />
, sum ( DECODE ( dx.bytes,dt.next_extent,0,1) ) as nr_illsized_exts<br />
, dt.tablespace_name, dt.next_extent as dflt_ext_size<br />
FROM dba_tablespaces dt, dba_extents dx<br />
WHERE dt.tablespace_name = dx.tablespace_name<br />
AND dx.owner = &#8216;&#038;OWNER&#8217;<br />
GROUP BY segment_name, segment_type, dt.tablespace_name, dt.next_extent<br />
3. No_pk.sql<br />
&#8211;<br />
&#8211; no_pk.sql<br />
&#8211;<br />
&#8211; To find tables without PK constraint<br />
&#8211;<br />
&#8211; 11/2/98<br />
SELECT table_name<br />
FROM all_tables<br />
WHERE ōwner = &#8216;&#038;OWNER&#8217;<br />
MINUS<br />
SELECT table_name<br />
FROM all_constraints<br />
WHERE ōwner = &#8216;&#038;&#038;OWNER&#8217;<br />
AND constraint_type = &#8216;P&#8217;<br />
4. disPK.sql<br />
&#8211;<br />
&#8211; disPK.sql<br />
&#8211;<br />
&#8211; To find out which primary keys are disabled<br />
&#8211;<br />
&#8211;<br />

<!-- Begin alimama Adserver code -->
<script type="text/javascript"><!--
google_ad_client = "pub-8438729971248494";
/* 728x90, ������ 10-2-7 */
google_ad_slot = "4752526529";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- End Alimama Adserver code -->
<br />
SELECT owner, constraint_name, table_name, status<br />
FROM all_constraints<br />
WHERE ōwner = &#8216;&#038;OWNER&#8217; AND status = &#8216;DISABLED&#8217; AND constraint_type = &#8216;P&#8217;<br />
5. nonuPK.sql<br />
&#8211;<br />
&#8211; nonuPK.sql<br />
&#8211;<br />
&#8211; To find tables with nonunique PK indexes. Requires that PK names<br />
&#8211; follow a naming convention. An alternative query follows that<br />
&#8211; does not have this requirement, but runs more slowly.<br />
&#8211;<br />
&#8211;<br />
SELECT index_name, table_name, uniqueness<br />
FROM all_indexes<br />
WHERE index_name like &#8216;&#038;PKNAME%&#8217;<br />
AND ōwner = &#8216;&#038;OWNER&#8217; AND uniqueness = &#8216;NONUNIQUE&#8217;<br />
SELECT c.constraint_name, i.tablespace_name, i.uniqueness<br />
FROM all_constraints c , all_indexes i<br />
WHERE c.owner = UPPER ( &#8216;&#038;OWNER&#8217; ) AND i.uniqueness = &#8216;NONUNIQUE&#8217;<br />
AND c.constraint_type = &#8216;P&#8217; AND i.index_name = c.constraint_name<br />
6. mkrebuild_idx.sql<br />
&#8211;<br />
&#8211; mkrebuild_idx.sql<br />
&#8211;<br />
&#8211; Rebuild indexes to have correct storage parameters<br />
&#8211;<br />
&#8211;<br />
SELECT &#8216;alter index &#8216; || index_name || &#8216; rebuild &#8216;<br />
, &#8216;tablespace INDEXES storage &#8216;<br />
|| &#8216; ( initial 256 K next 256 K pctincrease 0 ) ; &#8216;<br />
FROM all_indexes<br />
WHERE ( tablespace_name != &#8216;INDEXES&#8217;<br />
OR next_extent != ( 256 * 1024 )<br />
)<br />
AND ōwner = &#8216;&#038;OWNER&#8217;<br />
/<br />
7. datatype.sql<br />
&#8211;<br />
&#8211; datatype.sql<br />
&#8211;<br />
&#8211; To check datatype consistency between two environments<br />
&#8211;<br />
&#8211;<br />
SELECT<br />
table_name,<br />
column_name,<br />
data_type,<br />
data_length,<br />
data_precision,<br />
data_scale,<br />
nullable<br />
FROM all_tab_columns &#8212; first environment<br />
WHERE ōwner = &#8216;&#038;OWNER&#8217;<br />
MINUS<br />
SELECT<br />
table_name,<br />
column_name,<br />
data_type,<br />
data_length,<br />
data_precision,<br />
data_scale,<br />
nullable<br />
FROM all_tab_columns@&#038;my_db_link &#8212; second environment<br />
WHERE ōwner = &#8216;&#038;OWNER2&#8242;<br />
order by table_name, column_name<br />
8. obj_coord.sql<br />
&#8211;<br />
&#8211; obj_coord.sql<br />
&#8211;<br />
&#8211; To find out any difference in objects between two instances<br />
&#8211;<br />
&#8211;<br />
SELECT object_name, object_type<br />
FROM user_objects<br />
MINUS<br />
SELECT object_name, object_type<br />
FROM user_objects@&#038;my_db_link</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanjiang.net.cn/archives/1137.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle10gR2 on SUSE Linux 10安装笔记</title>
		<link>http://www.evanjiang.net.cn/archives/1097.html</link>
		<comments>http://www.evanjiang.net.cn/archives/1097.html#comments</comments>
		<pubDate>Mon, 25 May 2009 10:00:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[suse linux]]></category>

		<guid isPermaLink="false">http://www.evanjiang.net.cn/?p=1097</guid>
		<description><![CDATA[<p>系统要求：
内存：推荐1G
Swap分区：设为内存的2倍
/tmp磁盘空间：400MB以上
磁盘空间：软件3.5G 数据1.2G</p>
<p>所需软件：
SUSE Linux10 for x86
Oracle database 10gR2 for linux32
Orarun-1.8-109.15.i586.rpm软件包，可以从http://ftp.novell.com/partners/oracle/sels-9下载</p>
<p>安装步骤：
1、安装SUSE
安装SUSE一定确保安装“C/C++Compiler and Tools”软件包。
# gcc –version 查看是否安装该软件包</p>
<p>2、安装所需软件包
安装orarun软件包
#rpm –ivh orarun-1.8-109.15.i586.rpm
安装libaio和libaio-devel软件包，这两个软件包可以在SUSE Linux DISK4中找到
#rpm –ivh orarun-1.8-109.15.i586.rpm
#rpm –ivh libaio-devel-0.3.104-3.i586.rpm</p>
<p>3、Oracle用户设置
当orarun软件包安装时，会自动建立名为oracle的用户，和一个oinstall组。我们只需要将该用户设置为enable，把shell从/bin/false改为/binbash。而且orarun软件包将ORACLE_HOME文件夹自动生成，减少了很多麻烦。

4、设置Oracle环境变量
修改/ect/profile.d/oracle.sh文件,ORACLE_HOME、ORACLE_SID等环境变量可以根据需要自行修改。
例如：
ORACLE_HOME=$ORACLE_BASE/product/10gR2
ORACLE_SID=ORCL
其中默认NLS_LANG＝AMERICAN，如果在中文OS下安装界面会产生乱码。建议在英文环境下安装。








5、安装Oracle10gR2
注销root用户，以oracle用户重新登录到KDE。注意不要在root用户下使用su – oracle来切换到oracle用户进行安装，那样系统图形界面不能启动。
运行./runInstaller –ignoresysprereqs 开始安装Oracle, –ignoresysprereqs忽略对操作系统的认证，Oracle10g默认不能安装在SUSE Linux10上。当然也可以将安装文件拷贝到硬盘，修改database/install/oraparam.ini文件，将其中添加SuSE-10，这样可以不使用–ignoresysprereqs参数。








下面在图形界面就可以一路顺利安装，安装时没有发现任何错误。
企业管理器地址为http://localhost:1158/em在这里可以设置数据库。</p>
<p>感觉在SUSE Linux10上安装Oracle非常方便，不用过多的设置各种参数。而且SUSE Linux10界面也非常漂亮,大家有兴趣可以试一下。</p>
]]></description>
			<content:encoded><![CDATA[<p>系统要求：<br />
内存：推荐1G<br />
Swap分区：设为内存的2倍<br />
/tmp磁盘空间：400MB以上<br />
磁盘空间：软件3.5G 数据1.2G</p>
<p>所需软件：<br />
SUSE Linux10 for x86<br />
Oracle database 10gR2 for linux32<br />
Orarun-1.8-109.15.i586.rpm软件包，可以从http://ftp.novell.com/partners/oracle/sels-9下载</p>
<p>安装步骤：<br />
1、安装SUSE<br />
安装SUSE一定确保安装“C/C++Compiler and Tools”软件包。<br />
# gcc –version 查看是否安装该软件包</p>
<p>2、安装所需软件包<br />
安装orarun软件包<br />
#rpm –ivh orarun-1.8-109.15.i586.rpm<br />
安装libaio和libaio-devel软件包，这两个软件包可以在SUSE Linux DISK4中找到<br />
#rpm –ivh orarun-1.8-109.15.i586.rpm<br />
#rpm –ivh libaio-devel-0.3.104-3.i586.rpm</p>
<p>3、Oracle用户设置<br />
当orarun软件包安装时，会自动建立名为oracle的用户，和一个oinstall组。我们只需要将该用户设置为enable，把shell从/bin/false改为/binbash。而且orarun软件包将ORACLE_HOME文件夹自动生成，减少了很多麻烦。<br />
<span id="more-1097"></span><br />
4、设置Oracle环境变量<br />
修改/ect/profile.d/oracle.sh文件,ORACLE_HOME、ORACLE_SID等环境变量可以根据需要自行修改。<br />
例如：<br />
ORACLE_HOME=$ORACLE_BASE/product/10gR2<br />
ORACLE_SID=ORCL<br />
其中默认NLS_LANG＝AMERICAN，如果在中文OS下安装界面会产生乱码。建议在英文环境下安装。<br />

<!-- Begin alimama Adserver code -->
<script type="text/javascript"><!--
google_ad_client = "pub-8438729971248494";
/* 728x90, ������ 10-2-7 */
google_ad_slot = "4752526529";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- End Alimama Adserver code -->
<br />
5、安装Oracle10gR2<br />
注销root用户，以oracle用户重新登录到KDE。注意不要在root用户下使用su – oracle来切换到oracle用户进行安装，那样系统图形界面不能启动。<br />
运行./runInstaller –ignoresysprereqs 开始安装Oracle, –ignoresysprereqs忽略对操作系统的认证，Oracle10g默认不能安装在SUSE Linux10上。当然也可以将安装文件拷贝到硬盘，修改database/install/oraparam.ini文件，将其中添加SuSE-10，这样可以不使用–ignoresysprereqs参数。<br />

<!-- Begin alimama Adserver code -->
<script type="text/javascript"><!--
google_ad_client = "pub-8438729971248494";
/* 728x90, ������ 10-2-7 */
google_ad_slot = "4752526529";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- End Alimama Adserver code -->
<br />
下面在图形界面就可以一路顺利安装，安装时没有发现任何错误。<br />
企业管理器地址为http://localhost:1158/em在这里可以设置数据库。</p>
<p>感觉在SUSE Linux10上安装Oracle非常方便，不用过多的设置各种参数。而且SUSE Linux10界面也非常漂亮,大家有兴趣可以试一下。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanjiang.net.cn/archives/1097.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>db2与oracle 与informix与sybase数据库的比较</title>
		<link>http://www.evanjiang.net.cn/archives/916.html</link>
		<comments>http://www.evanjiang.net.cn/archives/916.html#comments</comments>
		<pubDate>Thu, 16 Apr 2009 12:43:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[db2]]></category>
		<category><![CDATA[informix]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[sybase]]></category>
		<category><![CDATA[db2与oracle 与informix数据库的比较]]></category>

		<guid isPermaLink="false">http://www.evanjiang.net.cn/?p=916</guid>
		<description><![CDATA[<p>DB2与Oracle比较
特性        DB2        Oracle
开放性/可移植性        IBMDB2UDB在各层面，从网络协议的支持到应用开发程序的编程接口，数据库存储程序及触发器，服务器之间的分布式运作，都是基于最新的国际标准，以 确保其开放性及移植性。        ORACLE的许多功能都是使用其私有的，非开放性的技术。例如：ORACLEPL/SQL语言是ORACLE私有的。其存储程序语句也不符合 ANSISQL及ISOSQL的标准，客户机/服务器的编程接口，ORACLE的SQL*NET也不是根据标准定义的。
处理性能        IBM发明了关系型数据库以及其优化技术，并不断发展，所以DB2在各种性能测试中均占领先地位。IBM有信心能在各种标准的测试环境下超越 ORACLE。DB2在高端应用具有过硬的技术，有众多超过1Tera-bytes数据量的用户实例。        由于ORACLE限制用户在未经许可的情况下不能公布他们所作的性能测试，故一般用户不易取得ORACLE的比较资料。Oracle超过1Tera- bytes数据量的客户实例很少。
并行能力   [...]]]></description>
			<content:encoded><![CDATA[<p>DB2与Oracle比较<br />
特性        DB2        Oracle<br />
开放性/可移植性        IBMDB2UDB在各层面，从网络协议的支持到应用开发程序的编程接口，数据库存储程序及触发器，服务器之间的分布式运作，都是基于最新的国际标准，以 确保其开放性及移植性。        ORACLE的许多功能都是使用其私有的，非开放性的技术。例如：ORACLEPL/SQL语言是ORACLE私有的。其存储程序语句也不符合 ANSISQL及ISOSQL的标准，客户机/服务器的编程接口，ORACLE的SQL*NET也不是根据标准定义的。<br />
处理性能        IBM发明了关系型数据库以及其优化技术，并不断发展，所以DB2在各种性能测试中均占领先地位。IBM有信心能在各种标准的测试环境下超越 ORACLE。DB2在高端应用具有过硬的技术，有众多超过1Tera-bytes数据量的用户实例。        由于ORACLE限制用户在未经许可的情况下不能公布他们所作的性能测试，故一般用户不易取得ORACLE的比较资料。Oracle超过1Tera- bytes数据量的客户实例很少。<br />
并行能力        DB2的并行版支持位图索引和对象关系，因此，DB2有更好的扩展性和性能；        Oracle触发器无法支持并行：在一些特殊的引用完整性(referentialintegrity)的限制下，并行也无法运用：如果表格中有大对象， 由于前述的限制(表不能分割)，并行也无法运用。总之，Oracle在并行系统中没有实现位图索引和对象关系，<br />
分布式数据库        DB2分布式数据库的处理(如两阶段提交)及连接功能是建立在DB2的核心中，不需要使用其它的产品附件。性能好，易使用，减少开支。        ORACLE的分布式功能需要另外购买DistributedOption以及SQL*NET等产品才能实现分布式数据库的连接。<br />
异构平台支持        在异构的环境中，IBM数据库方案简单、更加无缝而且比Oracle的成本低；        Oracle的异构网关性能差，当访问异构数据库时，Oracle缺乏全局的优化，导致了过多的数据及网络传输。<br />
复制能力        DB2提供业界最佳效率的和最开放的复制方案；DB2提供自动冲突检测和解决方法。        Oracle只提供自动冲突检测和解决方法的例子程序，用户须对例子程序做定制后来解决复制冲突<br />
对电子商务支持        IBM的Java技术为业界所公认，DB2公认为电子商务基石。DB2提供的JDBC接口，还可用Java语言写储存过程和用户自定义函数        Oracle的Java技术仅局限于数据库和ERP应用。<br />
对商业智能支持        DB2OLAPServer远比Express更易使用和实现。DB2OLAPServer提供读/写能力-这对一些关键性的多维分析扩展应用如：预测和 预算，是非常有用的(Express只支持读)。IBM的商业智能解决方案中，拥有数据挖掘(IntelligentMiner)工具。        OracleExpress只支持读的能力，不利于支持预测和预算。Oracle缺乏数据挖掘方面的工具。<br />
软件质量与可靠性        DB2的软件开发实验室早在1994年便已通过ISO9000国际质量管理标准的验证与认可。故DB2的软件质量是所有数据库厂家中可靠性最高，故障率最 低的数据库。        ORACLE版本6及版本7在推出后皆需经过无数次修订版升级才能达到一定程度的可用度，这给用户带来极大的不便，并且严重影响到投产系统的可用性及可靠 性。<br />
<span id="more-916"></span></p>
<p>DB2与Sybase比较</p>
<p>特性        DB2        Sybase<br />
开放性/可移植性        IBMDB2的编程接口遵照ANSI、X/OPEN标准的CLI(CallLevelInterface)及ANSISQL的嵌入式SQL等开放标准。 IBMDB2的存储程序和触发器机制则使用最新的SQL国际标准并支持标准的开放语言如C/C++。在DB2CommonServerV2.1.2 (1996)以及DB2UDB(1997)中更加入了用Java语言开发存储程序和触发器的功能。        1.编程接口：SYBASE使用的编程接口不是开放的，因为他使用的是自己的OpenClient/OpenServer接口，而不是基于某一标准的接 口。2.存储程序(StoredProcedure)：由于SYBASE的CLIENT/SERVER技术是80年代开发的，没有使用SQL92等相关的 标准，因此编制存储程序和触发器所用的Transact-SQL也是它们自己专用的。<br />
处理性能        IBM发明了关系型数据库以及其优化技术，并不断发展，所以DB2在各种性能测试中均占领先地位。DB2在高端应用具有过硬的技术，有众多超过1Tera -bytes数据量的用户实例。        SYBASE的优化器(OPTIMIZER)不能有效的支持复杂的查询(ComplexQueries)。应用程序中稍微复杂一些的SQL语句， SYBASE的优化器就无法妥善优化处理。SYBASE刚刚进入海量多处理器MPP的领域，缺乏这方面的经验及先例，Sybase大于一个TB数据量的客 户实例很少。<br />
并行能力        DB2的并行版支持位图索引和对象关系，因此，DB2有更好的扩展性和性能；        SYBASE数据库核心结构较陈旧，尤其在多处理器(SMP)的服务器上无法做到软硬件相配合的延伸与扩展(scale)，无法发挥多处理器的优势。其单 进程多线索的结构就无法象DB2的多进程多线索的结构更能有效地在SMP等机器上运行。<br />
高可用性        DB2可以用数据库及表空间两种粒度(granularity)对数据作备份与恢复(BACKUP及RESTORE)，并且备份可以在联机方式 (ONLINE)下进行，不影响多用户的同时使用。这使得DB2能真正地满足一天24小时、一星期七天的全天候使用。        SYBASE在BACKUP数据库及RESTORE数据库时，需要将系统转为单一用户模式以保证数据库中数据的完整性及一致性，并且在BACKUP之后， 要运行DBCC检查数据的一致性，这使得SYBASE数据库在可用性方面受到限制。<br />
数据完整与可管理性        IBMDB2中数据库可自动的维持两表间的一致性，无需再由DBA编程。        SYBASE在其数据库技术中引入RI(ReferentialIntegrity数据引用完整性)较晚，而且功能有限。例如，当表A中的列A是另一个表 B中列B的ForeignKey时，若要删掉表A中的一个记录，在SYBASE中是不允许的，只有通过触发器(Trigger)及存储过程 (StoredProcedure)，才能删掉表A中的一个记录，同时删掉表B中的相关记录，或把其值设置为NULL。<br />
异构平台支持        在异构的环境中，IBM数据库方案简单、更加无缝而且成本低；        Oracle的异构网关性能差，当访问异构数据库时，Oracle缺乏全局的优化，导致了过多的数据及网络传输。<br />
复制能力        DB2提供业界最佳效率的和最开放的复制方案；DB2支持对数据做预处理后再复制到远端，更有效率且网络流量少。        Sybase是立即复制交易，数据和网络流量大，据用户反映，Sybase的复制难以实施。SybaseAdaptiveServerAnywhere和 AdaptiveServerEnterprise之间的数据复制不是无缝连接，且要求整合工作。<br />
对电子商务支持        IBM的Java技术为业界所公认，DB2公认为电子商务基石。DB2提供的JDBC接口，还可用Java语言写储存过程和用户自定义函数        Oracle的Java技术仅局限于数据库和ERP应用。<br />
对商业智能支持        DB2WarehouseManager内置了数据仓库管理功能。IBM的商业智能解决方案中，拥有数据挖掘(IntelligentMiner)工具。         Sybase数据集市(datamart)没有提供仓库(Warehouse)管理与自动化的功能。<br />
软件质量与可靠性        DB2的软件开发实验室早在1994年便已通过ISO9000国际质量管理标准的验证与认可。故DB2的软件质量是所有数据库厂家中可靠性最高，故障率最 低的数据库。数据在IBM系统内被腐化(corrupted)不但是前所未闻，也是IBM传统用户所不可能忍受的。        SYBASE中的数据需要小心的维护，因为数据在数据库中有可能被“腐化(corrupted)”而无法继续使用。在没有事先修补的情形下，若这些数据被 备份了，则它们无法再被使用。为此SYBASE不得不为客户提供一个检查程序(DBCC)。<br />

<!-- Begin alimama Adserver code -->
<script type="text/javascript"><!--
google_ad_client = "pub-8438729971248494";
/* 728x90, ������ 10-2-7 */
google_ad_slot = "4752526529";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- End Alimama Adserver code -->
</p>
<p>DB2与Informix比较</p>
<p>特性        DB2        Informix<br />
开放性/可移植性        IBMDB2UDB在各层面，从网络协议的支持到应用开发程序的编程接口，数据库存储程序及触发器，服务器之间的分布式运作，都是基于最新的国际标准，以 确保其开放性及移植性。        INFORMIX私有4GL编写的程序只能局限在INFORMIX上运行。<br />
处理性能        IBM发明了关系型数据库以及其优化技术，并不断发展，所以DB2在各种性能测试中均占领先地位。DB2在高端应用具有过硬的技术，有众多超过1Tera -bytes数据量的用户实例。        由于INFORMIX是以小型数据库起家，所以其产品设计到目前为止仍有许多小型数据库的限制。许多用户都曾遇到INFORMIX在数据存储、日志管理、 备份、恢复等方面的问题。Informix的扩展并行选项在支持多用户并发访问时存在困难。INFORMIX由于缺乏对大量数据的管理经验，所以其优化器 技术也不能针对大量数据做优化。<br />
并行能力        DB2EEE能利用HACMP自动接替故障节点正常工作，Informix做不到。DB2EEE已经有多年的历史，颁布了最高的TPC-D和TPC-H基 准测试值。DB2EEE支持动态位图索引完成Star-jion，从而既提高了性能又不增加数据库系统管理员的维护量。        在并行机SP上，当SP的高性能开关(switch)不能通讯时，InformixXPS数据库将处于瘫痪状态.当并行机的节点出现故障时， InformixXPS数据库将处于瘫痪状态，停机时间为4到24小时；InformixXPS没有备份和恢复。InformixXPS没有对查询的监控 机制，有可能某一个用户的一个查询耗尽系统的所有资源而不让其他用户使用。<br />
分布式数据库        DB2则是通过核心直接支持XA接口，并且提供许多其它厂商所没有的XA先进功能，例如工商银行山东分行的DB2应用就大量地使用了DB2XA接口，实现 了与CICS结合的大型联机事物处理系统(OLTP)来支持全省通存通兑等应用。        INFORMIX对异构分布式数据库的支持是通过X/OPEN、XA实现的。虽然INFORMIX声称它能够支持X/OPEN、XA接口，但只是在某几个 版本通过附加选件完成。并且在这方面，INFORMIX很少有使用先例，也没有这方面的技术支持。<br />
异构平台支持        在异构的环境中，IBM数据库方案简单、更加无缝而且成本低；        INFORMIX在数据库与数据库之间的连接方面很弱。例如INFORMIX没有连接其他数据库如bbORACLE、SYBASE等数据库的产品.<br />
复制能力        DB2提供业界最佳效率的和最开放的复制方案；DB2提供自动冲突检测和解决方法。        Informix只支持Informix数据库间的复制，若要同其它数据库相互复制，则必须购买第三方支持软件。<br />

<!-- Begin alimama Adserver code -->
<script type="text/javascript"><!--
google_ad_client = "pub-8438729971248494";
/* 728x90, ������ 10-2-7 */
google_ad_slot = "4752526529";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- End Alimama Adserver code -->
<br />
成功案例<br />
DB2在国内、国际的用户群<br />
DB2的用户不胜枚举。它在全球有一百万以上的License和超过四千万的用户，它在全世界有一万一千个企业级用户。全世界70％公司的数据储存在IBM的数据库里。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanjiang.net.cn/archives/916.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian lenny/etch 安装Oracle 9i (简要)指南</title>
		<link>http://www.evanjiang.net.cn/archives/900.html</link>
		<comments>http://www.evanjiang.net.cn/archives/900.html#comments</comments>
		<pubDate>Thu, 09 Apr 2009 13:43:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[debian linux]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[debian  安装 oracle9i]]></category>

		<guid isPermaLink="false">http://www.evanjiang.net.cn/?p=900</guid>
		<description><![CDATA[<p>本(简要)指南基于X86系列,以debian 5.0为模板。 虚拟环境(ESXi 3.5)</p>
<p>前言：</p>
<p>由于项目需要，不得不在安装Oracle 9i 而不是10g .</p>
<p>内容：</p>
<p>1.基本条件.
安装debian 5.0 base-system, 然后安装gnome-desktop-environment. (KDE 也测试通过)</p>
<p>2.准备工作
  1)调整系统内核参数.
   根据ORACLE 官网的教程进行调整:
   ;</p>
<p>#############################################
cat >> /etc/sysctl.conf 





        2) 链接文件找不到的错误
        然后创建 /usr/lib/libstdc++-libc6.1-1.so.2 -> libstdc++-libc6.2-2.so.3 的链接
        否则出现1.error while loading [...]]]></description>
			<content:encoded><![CDATA[<p>本(简要)指南基于X86系列,以debian 5.0为模板。 虚拟环境(ESXi 3.5)</p>
<p>前言：</p>
<p>由于项目需要，不得不在安装Oracle 9i 而不是10g .</p>
<p>内容：</p>
<p>1.基本条件.<br />
安装debian 5.0 base-system, 然后安装gnome-desktop-environment. (KDE 也测试通过)</p>
<p>2.准备工作<br />
  1)调整系统内核参数.<br />
   根据ORACLE 官网的教程进行调整:<br />
   <http://www.oracle.com/technology/pub/articles/smiley_10gdb_install.html>;</p>
<p>#############################################<br />
cat >> /etc/sysctl.conf <<EOF<br />
        kernel.shmall = 2097152<br />
        kernel.shmmax = 536870912<br />
        kernel.shmmni = 4096<br />
        kernel.sem = 250 32000 100 128<br />
        fs.file-max = 65536 #debian 5.0 在ESXi下默认101858 当然是大点好阿<br />
        net.ipv4.ip_local_port_range = 1024 65000<br />
        net.core.rmem_default=262144<br />
        net.core.wmem_default=262144<br />
        net.core.rmem_max=262144<br />
        net.core.wmem_max=262144<br />
        EOF</p>
<p>        /sbin/sysctl -p #让其立即生效<br />
##############################################</p>
<p>   2)添加用户和组<br />
##############################################<br />
        /usr/sbin/groupadd oinstall<br />
        /usr/sbin/groupadd dba<br />
        /usr/sbin/useradd -m -g oinstall -G dba oracle</p>
<p>    passwd oracle  ##为用户oracle 设置密码<br />
    然后修改/etc/passwd 中oracle 使用bash  默认的使用sh.</p>
<p>##############################################<br />
<span id="more-900"></span><br />
        3)设置环境变量<br />
    添加以下内容到oracle的.bashrc中<br />
##############################################<br />
        export LC_ALL=en_US.UTF-8<br />
        export ORACLE_BASE=/u01/app/oracle<br />
        export ORACLE_HOME=$ORACLE_BASE/OEM #我们设置放置的位置。<br />
        export ORACLE_TERM=xterm #此处可修改为gnome-terminal 或其他你喜好的终端<br />
        export ORACLE_SID=test  #修改此处为你要设置的SID<br />
        export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib<br />
        export PATH=$PATHORACLE_HOME/bin<br />
        export CLASSPATH=$ORACLE_HOME/JREORACLE_HOME/jlibORACLE_HOME/rdbms/jlibORACLE_HOME/network/jlib<br />
        #export LD_PRELOAD=/usr/lib/libcwait.so<br />
##############################################<br />
   4)下载Oracle 9i for linux 的安装盘.<br />
      保存于文件夹属性为oracleinstall 的文件夹下。<br />
      例如： /home/oracle/<br />
3. 解决安装过程中可能出现的问题.<br />
        1) 安装编译环境. gcc make 等<br />
        Oracle 9i 基于 gcc 2.95 需要<br />
    安装gcc-2.95 和 g++-2.95<br />
        把默认的gcc 的链接修改为 到gcc-2.95的链接<br />
        添加etch 的源，update.<br />
##############################################<br />
        aptitude install gcc-2.95 g++-2.95<br />
        ln -s /usr/bin/gcc-2.95 /usr/bin/gcc<br />
##############################################<br />

<!-- Begin alimama Adserver code -->
<script type="text/javascript"><!--
google_ad_client = "pub-8438729971248494";
/* 728x90, ������ 10-2-7 */
google_ad_slot = "4752526529";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- End Alimama Adserver code -->
<br />
        2) 链接文件找不到的错误<br />
        然后创建 /usr/lib/libstdc++-libc6.1-1.so.2 -> libstdc++-libc6.2-2.so.3 的链接<br />
        否则出现1.error while loading shared libraries:<br />
        libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory<br />
##############################################<br />
        ln -s /usr/lib/libstdc++-libc6.2-2.so.3  /usr/lib/libstdc++-libc6.1-1.so.2<br />
##############################################<br />
        3)libdb1-compat 这个是必须的否则会在安装过程中出错<br />
##############################################<br />
        aptitude install libdb1-compat<br />
##############################################<br />
        4)在vmware中安装的时候注意：把hostname 加到 /etc/hosts 中，不要用dhcp,否则出现个<br />
                Parameter &#8220;nodeinfo&#8221; = NO_VALUE 错误 (vmware server 1.x)<br />
        5)Unable to load native library: /tmp/OraInstallxxxx/jre/lib/i386/libjava.so: symbol __libc_wait, version GLIBC_2.0 not defined in                         file libc.so.6 with link time reference<br />
##############################################<br />
        取消/home/oracle/.bashrc中<br />
        #export LD_PRELOAD=/usr/lib/libcwait.so<br />
    处的&#8221;#&#8221;号<br />
    把附件中的libcwait.so.zip 解压然后 把libcwait.so文件拷贝到&#8221;/usr/lib/&#8221;中<br />
##############################################</p>
<p>4 安装<br />
   以用户oracle 的身份登录桌面.<br />
   进入放置Oracle 9i 的安装盘进行安装。<br />
   安装路径放在我们预先设置好的/u01/app/oracle/OEM 处即$ORACLE_HOME<br />
5 创建数据库</p>
<p>  我们用dbca 来创建数据库。<br />
  首先解决建库过程中出现的错误。</p>
<p>        1. rm $ORACLE_HOME/JRE (此JRE目录是1.1.8 的符号链接)<br />
        2. ln -s $ORACLE_BASE/jre/1.3.1 $ORACLE_HOME/JRE<br />
        3. cd $ORACLE_BASE/jre/1.3.1/bin<br />
        4. ln -s java jre<br />
        5. cd i386/native_threads/<br />
        6.ln -s java jre</p>
<p>  期间会需要给root权限给 root.sh 当你留空升级组的时候.<br />
  设置你的数据库名称，SID 我们设置为test.（合前面的SID相吻合）<br />
  忽略ORA-29807 ORA-01430 错误。<br />
  解决方法见：http://blog.csdn.net/grant85612/archive/2008/03/14/2182882.aspx</p>
<p>        访问数据库:<br />
        开个终端, sqlplus &#8220;sys/system as sysdba&#8221; 现在你已经能访问你的数据库了。<br />
    根据$ORACLE_HOME/network/admin/sample 中的范例设置你的监听端口等等。</p>
<p>        Web 方式:<br />
    启用web方式 $ORACLE_HOME/Apache/Apcache/bin/./apachectl start<br />
        $ORACLE_HOME/Apache/Apache/bin/http</p>
<p>http://hpserv01:7777/isqlplus</p>
<p>http://hpserv01:7777/isqlplusdba</p>
<p>        首先需要初始化用户密码:<br />
        $ cd $ORACLE_HOME/sqlplus/admin<br />
        $ORACLE_HOME/Apache/Apache/bin/htpasswd iplusdba.pw oracle</p>
<p>6.这次关于RAW 方面的没有测试， 已经在ESXi 3.5 上做了软的 Raw .<br />
先在把上次的 Etch 中添加raw 的一些东西贴出来，（未加整理）<br />

<!-- Begin alimama Adserver code -->
<script type="text/javascript"><!--
google_ad_client = "pub-8438729971248494";
/* 728x90, ������ 10-2-7 */
google_ad_slot = "4752526529";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- End Alimama Adserver code -->
<br />
创建裸设备<br />
首先确保有raw加载<br />
lsmod |grep raw<br />
如果无者加入： modprobe raw<br />
然后<br />
=============================================================================<br />
建立文件/etc/rawconfig，内容如下<br />
# This file and interface are deprecated.<br />
# Applications needing raw device access should open regular<br />
# block devices with O_DIRECT.<br />
# raw device bindings<br />
# format:  <rawdev> <major> <minor><br />
#          <rawdev> <blockdev><br />
# example: /dev/raw/raw1 /dev/sda1<br />
#          /dev/raw/raw2 8 5<br />
#/dev/raw/raw1 /dev/sdb1  #去掉&#8221;#&#8221; 修改成的需要的设备<br />
/dev/.static/dev/raw/raw1 /dev/sdb1<br />
#/dev/raw/raw2 /dev/sdb2<br />
#/dev/raw/raw3 /dev/sdb3<br />
#/dev/raw/raw4 /dev/sdb4<br />
=============================================================================<br />
建立文件/etc/init.d/rawdevices,内容如下：<br />
#!/bin/bash<br />
#<br />
# rawdevices       This shell script assignes rawdevices to block devices<br />
#<br />
# chkconfig: 345 56 44<br />
# description: This scripts assignes raw devices to block devices \<br />
#              (such as hard drive partitions). This is for the use \<br />
#              of applications such as Oracle. You can set up the \<br />
#              raw device to block device mapping by editing \<br />
#              the file /etc/sysconfig/rawdevices. Note that the use \<br />
#              of raw devices is deprecated, and applications should \<br />
#              open regular block devices with O_DIRECT instead.<br />
#<br />
# config: /etc/sysconfig/rawdevices</p>
<p>[ -f /sbin/raw ] || exit 0<br />
[ -f /etc/rawconfig ] || exit 0<br />
# Exit if the file just has the default comments.<br />
LC_ALL=C /bin/egrep -q -v &#8220;^ *#&#8221; /etc/rawconfig 2>/dev/null || exit 0</p>
<p>function assign_raw()<br />
{<br />
   LC_ALL=C egrep -v &#8216;^ *#&#8217; /etc/rawconfig |<br />
   while read RAW BLOCK; do<br />
     if [ -n "$RAW" -a -n "$BLOCK" ]; then<br />
         rawdirname=${RAW%/*}<br />
         if [ "$rawdirname" = "/dev" -a -d /dev/raw ]; then<br />
           echo $&#8221;  Please correct your /etc/rawconfig:&#8221;<br />
           echo $&#8221;     rawdevices are now located in the directory /dev/raw/ &#8221;<br />
           echo $&#8221;  If the command &#8216;raw&#8217; still refers to /dev/raw as a file.&#8221;<br />
           echo $&#8221;   you&#8217;ll have to upgrade your util-linux package&#8221;<br />
           exit 0<br />
         fi<br />
         if [ "$rawdirname" = "/dev/raw" -a -f /dev/raw ]; then<br />
           echo $&#8221;  Please correct your /etc/rawconfig:&#8221;<br />
           echo $&#8221;     rawdevices are now located in the directory /dev/raw/ &#8221;<br />
           echo $&#8221;  If the command &#8216;raw&#8217; still refers to /dev/raw as a file.&#8221;<br />
           echo $&#8221;   you&#8217;ll have to upgrade your util-linux package&#8221;<br />
           exit 0<br />
         fi</p>
<p>       echo &#8221;           $RAW  &#8211;>   $BLOCK&#8221;;<br />
       raw $RAW $BLOCK<br />
     fi<br />
   done<br />
}</p>
<p># See how we were called.<br />
case &#8220;$1&#8243; in<br />
  start)<br />
        # Assign devices<br />
        echo $&#8221;Assigning devices: &#8221;<br />
        assign_raw<br />
        echo $&#8221;done&#8221;<br />
        ;;<br />
  stop)<br />
        # No action to be taken here<br />
        ;;</p>
<p>  status)<br />
        ID=`id -u`<br />
        if [ $ID -eq 0 ]; then<br />
          raw -qa<br />
        else<br />
          echo $&#8221;You need to be root to use this command ! &#8221;<br />
        fi<br />
        ;;</p>
<p>  restart|reload)<br />
        $0 start<br />
        ;;</p>
<p>  *)<br />
        echo $&#8221;Usage: $0 {start|stop|status|restart}&#8221;<br />
        exit 1<br />
esac</p>
<p>exit 0<br />
================================================================================<br />
出现以下错误的解决方法<br />
Cannot open raw device &#8216;/dev/rawctl&#8217; (No such file or directory)<br />
mknod /dev/rawctl c 162 0<br />
cd /dev<br />
.MAKEDEV raw<br />
位置在这里/dev/.static/dev/raw/raw1 别弄错<br />
开机自动加载raw模块<br />
编辑/etc/modules<br />
添加raw</p>
<p>结语：<br />
    掌握是一个过程。</p>
<p>补充：<br />
出现该错误:<br />
/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory</p>
<p>安装 libxp6 即可解决～</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanjiang.net.cn/archives/900.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>L i n u x 字符环境下安装ORACLE之关键步骤</title>
		<link>http://www.evanjiang.net.cn/archives/878.html</link>
		<comments>http://www.evanjiang.net.cn/archives/878.html#comments</comments>
		<pubDate>Mon, 06 Apr 2009 11:32:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[redhat linux]]></category>
		<category><![CDATA[linux 字符界面 安装 oracle]]></category>

		<guid isPermaLink="false">http://www.evanjiang.net.cn/?p=878</guid>
		<description><![CDATA[<p> L i n u x 字符环境下安装之关健步骤 </p>
<p>编辑Response 文件
　　 这一步骤是字符界面装oracle的关键步骤
　　 到oracle 10g的安装目录下编辑response文件
　　 $cd /home/share/Oracle/Oracle10g_64bit/database/response/ 　　 可以看到oracle准备了6个response文件，实际上这些文件就是用来安装和配置oracle时的模板，分别是 custom.rsp dbca.rsp emca.rsp enterprise.rsp netca.rsp standard.rsp在这里挑了一个简单的response文件 enterprise.rsp，也可以根据实际情况去选用编辑其他几个response文件。
$cp custom.rsp myinst.rsp
　　 $vi myinst.rsp</p>
<p>修改几个地方，有几个不会改的，俺用## 两个#号注释，方便以后修改。</p>
<p>cd .. 转到安装文件所在目录
改好之后运行 ./runInstaller -silent -responseFile response/myinst.rsp
注意：最后面的 response/myinst.rsp 是相对路径。只要给出正确的应答文件就可以。</p>
<p>运行命令后 看到 屏幕上提示：
End of install （后面省略两百字，一共是四行），就表示文件已经复制完毕。按回车键，出现提示符。</p>
<p>然后，转到安装目录：
cd /opt/oracle/product/10.2.0/db_1
su
口令
./root.sh
根据提示按 Enter 就可以。
这样就在字符下成功安装。

后续工作
建数据库。</p>
<p>后 续 工 作</p>
<p>测试：
sqlplus： Oracle10g 数据库(手工)的开始和关闭</p>
<p>From diagnostic point of view it is [...]]]></description>
			<content:encoded><![CDATA[<p> L i n u x 字符环境下安装之关健步骤 </p>
<p>编辑Response 文件<br />
　　 这一步骤是字符界面装oracle的关键步骤<br />
　　 到oracle 10g的安装目录下编辑response文件<br />
　　 $cd /home/share/Oracle/Oracle10g_64bit/database/response/ 　　 可以看到oracle准备了6个response文件，实际上这些文件就是用来安装和配置oracle时的模板，分别是 custom.rsp dbca.rsp emca.rsp enterprise.rsp netca.rsp standard.rsp在这里挑了一个简单的response文件 enterprise.rsp，也可以根据实际情况去选用编辑其他几个response文件。<br />
$cp custom.rsp myinst.rsp<br />
　　 $vi myinst.rsp</p>
<p>修改几个地方，有几个不会改的，俺用## 两个#号注释，方便以后修改。</p>
<p>cd .. 转到安装文件所在目录<br />
改好之后运行 ./runInstaller -silent -responseFile response/myinst.rsp<br />
注意：最后面的 response/myinst.rsp 是相对路径。只要给出正确的应答文件就可以。</p>
<p>运行命令后 看到 屏幕上提示：<br />
End of install （后面省略两百字，一共是四行），就表示文件已经复制完毕。按回车键，出现提示符。</p>
<p>然后，转到安装目录：<br />
cd /opt/oracle/product/10.2.0/db_1<br />
su<br />
口令<br />
./root.sh<br />
根据提示按 Enter 就可以。<br />
这样就在字符下成功安装。<br />
<span id="more-878"></span><br />
后续工作<br />
建数据库。</p>
<p>后 续 工 作</p>
<p>测试：<br />
sqlplus： Oracle10g 数据库(手工)的开始和关闭</p>
<p>From diagnostic point of view it is very important to check sqlplus is<br />
functioning properly. If not then your installation is having problems.</p>
<p>从诊断的观点检查sqlplus是非常重要的，它在适当起作用。 如果不说明您的设置有问题。</p>
<p>oracle@sles10:~> sqlplus &#8220;connect /as sysdba&#8221;</p>
<p>Enter password:<br />
Connected to:<br />
&#8230;&#8230;&#8230;..<br />

<!-- Begin alimama Adserver code -->
<script type="text/javascript"><!--
google_ad_client = "pub-8438729971248494";
/* 728x90, ������ 10-2-7 */
google_ad_slot = "4752526529";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- End Alimama Adserver code -->
<br />
SQL> show rel<br />
SQL> show sga</p>
<p>SQL> exit<br />
oracle@sles10:~></p>
<p>1. To startup the database:<br />
sl10$ sqlplus /nolog<br />
SQL> connect / as sysdba<br />
SQL> startup<br />
2. To shutdown the database:<br />
sl10$ sqlplus /nolog<br />
SQL> connect / as sysdba<br />
SQL> shutdown</p>
<p>
<!-- Begin alimama Adserver code -->
<script type="text/javascript"><!--
google_ad_client = "pub-8438729971248494";
/* 728x90, ������ 10-2-7 */
google_ad_slot = "4752526529";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- End Alimama Adserver code -->
<br />
有时候安装不成功，想重新干净的安装，可以这么做：<br />
1 . 去除 /usr/local/bin 目录 下的 coraenv dbhome oraenv<br />
2 . 去除 /etc/oratab , /etc/oracle<br />
3 . 去掉安装 目录 /opt/oracle 目录下的 product admin oradata oralnventor 目录 。<br />
#####################################################################################################################</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanjiang.net.cn/archives/878.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bugzilla + Oracle + Linux 安装笔记</title>
		<link>http://www.evanjiang.net.cn/archives/809.html</link>
		<comments>http://www.evanjiang.net.cn/archives/809.html#comments</comments>
		<pubDate>Sat, 14 Mar 2009 12:11:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[It Tips]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[redhat linux]]></category>
		<category><![CDATA[Bugzilla + Oracle + Linux]]></category>

		<guid isPermaLink="false">http://www.evanjiang.net.cn/?p=809</guid>
		<description><![CDATA[<p>Bugzilla 3.2今天发布，该版本增加很多新的功能，其中重要的新功能包括Oracle数据库支持. 下面介绍Bugzilla + Oracle + Linux的安装过程笔记 </p>
<p>，详细请参照Bugzilla的安装文档. </p>
<p>== 准备工作 == </p>
<p>检查所需软件:
Perl 5.81 及以上
Oracle v10.02.0 及以上
Apache(httpd),sendmail等 </p>
<p>== Oracle的安装配置 == </p>
<p>Oracle需要v10.02.0以上版本支持，可以是企业版，也可以是XE版，具体用哪个版本，可以根据需要来确定. </p>
<p>Oracle安装文档到处都有，这里就不说，开始说Oracle的配置吧. </p>
<p>=== 1. 创建Tablespace(可选):=== </p>
<p>用sys 或者 system用户登陆sqlplus, 执行:
CREATE TABLESPACE bugs
    DATAFILE &#8216;/u01/oradata/bugzilla.dbf&#8217; SIZE 500M
    AUTOEXTEND ON NEXT 30M MAXSIZE UNLIMITED; </p>
<p>=== 2. 创建bugzilla用户: ===
用sys 或者 system用户登陆sqlplus, 执行(创建数据库用户bugs, 密码bugs):
CREATE USER [...]]]></description>
			<content:encoded><![CDATA[<p>Bugzilla 3.2今天发布，该版本增加很多新的功能，其中重要的新功能包括Oracle数据库支持. 下面介绍Bugzilla + Oracle + Linux的安装过程笔记 </p>
<p>，详细请参照Bugzilla的安装文档. </p>
<p>== 准备工作 == </p>
<p>检查所需软件:<br />
Perl 5.81 及以上<br />
Oracle v10.02.0 及以上<br />
Apache(httpd),sendmail等 </p>
<p>== Oracle的安装配置 == </p>
<p>Oracle需要v10.02.0以上版本支持，可以是企业版，也可以是XE版，具体用哪个版本，可以根据需要来确定. </p>
<p>Oracle安装文档到处都有，这里就不说，开始说Oracle的配置吧. </p>
<p>=== 1. 创建Tablespace(可选):=== </p>
<p>用sys 或者 system用户登陆sqlplus, 执行:<br />
CREATE TABLESPACE bugs<br />
    DATAFILE &#8216;/u01/oradata/bugzilla.dbf&#8217; SIZE 500M<br />
    AUTOEXTEND ON NEXT 30M MAXSIZE UNLIMITED; </p>
<p>=== 2. 创建bugzilla用户: ===<br />
用sys 或者 system用户登陆sqlplus, 执行(创建数据库用户bugs, 密码bugs):<br />
CREATE USER bugs<br />
    IDENTIFIED BY &#8220;bugs&#8221;<br />
    DEFAULT TABLESPACE bugs<br />
    TEMPORARY TABLESPACE TEMP<br />
    PROFILE DEFAULT;<br />
    &#8212; GRANT/REVOKE ROLE PRIVILEGES<br />
    GRANT CONNECT TO bugs;<br />
    GRANT RESOURCE TO bugs;<br />
    &#8212; GRANT/REVOKE SYSTEM PRIVILEGES<br />
    GRANT UNLIMITED TABLESPACE TO bugs;<br />
    GRANT EXECUTE ON CTXSYS.CTX_DDL TO bugs;<br />
<span id="more-809"></span><br />
===  Apache配置 ===<br />
配置ORACLE_HOME和LD_LIBRARY_PATH, 例如: </p>
<p>vi /etc/http/conf.d/bugzilla.conf </p>
<p>输入保存:<br />
# Set ORACLE_HOME and LD_LIBRARY_PATH<br />
SetEnv ORACLE_HOME /usr/lib/oracle/xe/app/oracle/product/10.2.0/server<br />
SetEnv LD_LIBRARY_PATH /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib </p>
<p>== 安装Bugzilla 3.2 ==<br />
=== 下载并解压 ===<br />
下载Bugzilla3.2, http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-3.2.tar.gz<br />
cd /var/www/html/<br />
wget [url=http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-3.2.tar.gz]http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-3.2.tar.gz<br />
tar zxvf bugzilla-3.2.tar.gz<br />
mv bugzilla-3.2 bugzilla </p>
<p>=== checksetup.pl ===<br />
接下来执行checksetup.pl<br />
cd bugzilla<br />
./checksetup.pl </p>
<p>根据提示安装必须的perl模块, 在此之前你需要安装perl-CPAN<br />
yum install perl-CPAN<br />
Linux下面安装Bugzilla所需的perl模块，最简单的方式是利用Bugzilla提供的install-module.pl工具, 执行:<br />
/usr/bin/perl install-module.pl &#8211;all<br />
遇到所有提示，默认即可 </p>
<p>安装DBD::Oracle </p>
<p>export ORACLE_HOME=&#8221;/usr/lib/oracle/xe/app/oracle/product/10.2.0/server&#8221;<br />
export LD_LIBRARY_PATH=&#8221;/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib&#8221;<br />
/usr/bin/perl install-module.pl DBD::Oracle </p>
<p>&#8221;说明: 如果Oracle数据库是在远程，则安装Bugzilla的机器上面必须安装[url=http://www.oracle.com/technology/software/tech/oci/instantclient/index.html]Oracle Instant Client或者Oracle Client，然后设置相应的ORACLE_HOME和LD_LIBRARY_PATH&#8221; </p>
<p>再次执行checksetup.pl, 产生localconfig文件:<br />
./checksetup.pl </p>
<p>编辑localconfig文件: </p>
<p>$db_driver = &#8216;oracle&#8217;;<br />
$db_host = &#8217;10.182.120.189&#8242;;              <-- 数据库IP<br />
$db_name = 'XE';                            <-- 数据库实例名SID<br />
$db_user = 'bugs';                        <-- 数据库用户名<br />
$db_pass = 'bugs'                         <-- 数据库密码 </p>
<p>配置完localconfig之后，再次运行checksetup.pl: </p>
<p>./checksetup.pl<br />
填入管理员信息: </p>
<p>Enter the e-mail address of the administrator: [email=admin@kk.com]admin@kk.com[/email]<br />
Enter the real name of the administrator: Admin<br />
Enter a password for the administrator account:<br />
Please retype the password to verify: </p>
<p>=== 配置Apache ===<br />
配置/etc/httpd/conf.d/bugzilla.conf, 加入 </p>
<p><Directory /var/www/html/bugzilla><br />
    AddHandler cgi-script .cgi<br />
    Options +Indexes +ExecCGI<br />
    DirectoryIndex index.cgi<br />
    AllowOverride Limit<br />
</Directory> </p>
<p>重新启动Apache<br />
service httpd restart </p>
<p>用管理员登陆 http://yourip/bugzilla/, 然后配置 urlbase </p>
<p>安装完成! </p>
<p>&#8221;说明：如果遇到类似下面的问题, 请关闭系统的selinux，然后重启系统：&#8221;<br />
&#8216;oracle&#8217; is not a valid choice for $db_driver in  localconfig: Can&#8217;t load &#8216;lib/i386-linux-thread-<br />
  multi/auto/DBD/Oracle/Oracle.so&#8217; for module DBD::Oracle:<br />
libclntsh.so.10.1: cannot enable executable stack as shared object requires: Permission denied at<br />
  /usr/lib/perl5/5.10.0/i386-linux-thread-<br />
multi/DynaLoader.pm line 203.<br />
at Bugzilla/DB/Oracle.pm line 41<br />
Compilation failed in require at Bugzilla/DB/Oracle.pm line 41.<br />
BEGIN failed&#8211;compilation aborted at Bugzilla/DB/Oracle.pm line 41.<br />
Compilation failed in require at (eval 30) line 3.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanjiang.net.cn/archives/809.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Centos 5.0安装Oracle9208笔记</title>
		<link>http://www.evanjiang.net.cn/archives/755.html</link>
		<comments>http://www.evanjiang.net.cn/archives/755.html#comments</comments>
		<pubDate>Fri, 06 Mar 2009 10:59:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[redhat linux]]></category>
		<category><![CDATA[Centos 5.0  安装  Oracle9208  笔记]]></category>

		<guid isPermaLink="false">http://www.evanjiang.net.cn/?p=755</guid>
		<description><![CDATA[<p>Linux as 2.6.18-8.EL5 #1 smp
一，解压缩Oracle9204的安装文件
1． Oracle 9iR2 (9.2.0)
(1) 简化过程（以oracle登录，释放安装文件,使用更少的磁盘空间，速度更快）
在安装LINUX时最好分一个区/orasetup,这样一来即使系统坏了,也只是重装系统,而无须重新拷贝数据库安装文件.
在Linux下使用ISO文件:
Mkdir /mnt/iso1 iso2 iso3
mount -t iso9660 -o loop linux_ora9_d1.iso /mnt/iso1/
mount -t iso9660 -o loop linux_ora9_d2.iso /mnt/iso2/
mount -t iso9660 -o loop linux_ora9_d3.iso /mnt/iso3/
umount /mnt/isoX
或
zcat ship_9204_linux_disk1.cpio.gz &#124; cpio –idmv &#38;&#38;
zcat ship_9204_linux_disk2.cpio.gz &#124; cpio –idmv &#38;&#38;
zcat ship_9204_linux_disk3.cpio.gz &#124; cpio –idmv
(2) 解包和解压过程中，自动创建了3个包含安装文件的目录：
Disk1
Disk2
Disk3
之后就可以安装Oracle9iR2了。
二，安装前的检查和准备工作；
1， 查看这些开发包是否已安装；
Centos 5.0完全安装.</p>
<p>安装需要的软件包和补丁包:
p4198954_21_linux.zip 在运行 runInstaller 之前打.
p3238244_9204_LINUX.zip 修复agent错误的补丁.
p2617419_210_GENERIC.zip 打3238244补丁所需要的补丁.
其中compat-oracle-rhel4和compat-libcwait可以在如下网站:</p>
<p>http://oss.oracle.com/projects/compat-oracle/files/RedHat/</p>
<p># rpm -qa [...]]]></description>
			<content:encoded><![CDATA[<p><span style="color: #000000;">Linux as 2.6.18-8.EL5 #1 smp<br />
一，解压缩Oracle9204的安装文件<br />
1． Oracle 9iR2 (9.2.0)<br />
(1) 简化过程（以oracle登录，释放安装文件,使用更少的磁盘空间，速度更快）<br />
在安装LINUX时最好分一个区/orasetup,这样一来即使系统坏了,也只是重装系统,而无须重新拷贝数据库安装文件.<br />
在Linux下使用ISO文件:<br />
Mkdir /mnt/iso1 iso2 iso3<br />
mount -t iso9660 -o loop linux_ora9_d1.iso /mnt/iso1/<br />
mount -t iso9660 -o loop linux_ora9_d2.iso /mnt/iso2/<br />
mount -t iso9660 -o loop linux_ora9_d3.iso /mnt/iso3/<br />
umount /mnt/isoX<br />
或<br />
zcat ship_9204_linux_disk1.cpio.gz | cpio –idmv &amp;&amp;<br />
zcat ship_9204_linux_disk2.cpio.gz | cpio –idmv &amp;&amp;<br />
zcat ship_9204_linux_disk3.cpio.gz | cpio –idmv<br />
(2) 解包和解压过程中，自动创建了3个包含安装文件的目录：<br />
Disk1<br />
Disk2<br />
Disk3<br />
之后就可以安装Oracle9iR2了。<br />
二，安装前的检查和准备工作；<br />
1， 查看这些开发包是否已安装；<br />
Centos 5.0完全安装.</span></p>
<p><span style="color: #000000;">安装需要的软件包和补丁包:<br />
p4198954_21_linux.zip 在运行 runInstaller 之前打.<br />
p3238244_9204_LINUX.zip 修复agent错误的补丁.<br />
p2617419_210_GENERIC.zip 打3238244补丁所需要的补丁.<br />
其中compat-oracle-rhel4和compat-libcwait可以在如下网站:</p>
<p>http://oss.oracle.com/projects/compat-oracle/files/RedHat/</p>
<p># rpm -qa | grep ‘compat’<br />
三，创建数据库安装的准备工作；<br />
1，创建user/group；<br />
#groupadd dba<br />
#groupadd oinstall<br />
#useradd oracle -g oinstall -G dba<br />
#passwd oracle<br />
2，建立oracle安装文件夹；<br />
# mkdir -pv /u01/app/oracle/product/9.2.0<br />
# chown -R oracle.dba /u01/app<br />
# chmod -R 755 /u01/app/</span><br />
<span id="more-755"></span><br />
<span style="color: #000000;"># mkdir –pv /u01/cwdata<br />
# chmod 755 /u01/cwdata<br />
# chown oracle.dba /u01/cwdata<br />
# chown –R oracle.dba /orasetup<br />
# chmod 755 /orasetup</span></p>
<p><span style="color: #000000;">#mkdir /var/opt/oracle<br />
#chown oracle.dba /var/opt/oracle<br />
#chmod 755 /var/opt/oracle<br />
#修改/etc/hosts 把x.x.x.x servername加入<br />
把权限分配好</span></p>
<p><span style="color: #000000;">2， 配置环境变量；<br />
以root用户登录，设置root用户的环境打开.bash_profile文件，将如下内容加入：<br />
export ORACLE_BASE=/u01/app/oracle<br />
export ORACLE_HOME=/u01/app/oracle/product/9.2.0<br />
export PATH=$PATH ORACLE_HOME/bin ORACLE_HOME/Apache/Apache/bin<br />
export ORACLE_OWNER=oracle<br />
export ORACLE_SID=oradb<br />
export ORACLE_TERM=xterm<br />
#export LD_ASSUME_KERNEL=2.4.19<br />
export THREADS_FLAG=native<br />
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH ORACLE_HOME/lib<br />
export ORACLE_OEM_JAVARUNTIME=/u01/app/oracle/jre1.3.1<br />
export NLS_LANG=”American_america.zhs16gbk”<br />
# export NLS_LANG=&#8221;SIMPLIFIED CHINESE_CHINA.ZHS16GBK&#8221;<br />
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data<br />
export DISPLAY=:0.0<br />
#export LANG=en_US<br />
#export GDM_LANG= en_US<br />
#export LC= en_US<br />
使用Oracle用户登陆:<br />
#su – oracle<br />
#cp /etc/sysconfig/i18n /home/oracle/.i18n 然后修改LANG=&#8221;en_US&#8221;<br />
$vi .bash_profile<br />
以下是配置文件的内容（其中红色字体为添加的内容）<br />
# .bash_profile</span></p>
<p><span style="color: #000000;"># Get the aliases and functions<br />
if [ -f ~/.bashrc ]; then<br />
. ~/.bashrc<br />
fi</span></p>
<p><span style="color: #000000;"># User specific environment and startup programs</span></p>
<p><span style="color: #000000;">PATH=$PATH HOME/bin<br />
#ORACLE_BASE 可以定位到盘阵上/data<br />
export ORACLE_BASE=/u01/app/oracle<br />
export ORACLE_HOME=/u01/app/oracle/product/9.2.0<br />
export PATH=$PATH ORACLE_HOME/bin ORACLE_HOME/Apache/Apache/bin<br />
export ORACLE_OWNER=oracle<br />
export ORACLE_SID=oradb<br />
export ORACLE_TERM=xterm<br />
#export LD_ASSUME_KERNEL=2.4.19<br />
export THREADS_FLAG=native<br />
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH ORACLE_HOME/lib<br />
export ORACLE_OEM_JAVARUNTIME=/u01/app/oracle/jre1.3.1<br />
export NLS_LANG=”American_america.zhs16gbk”<br />
# export NLS_LANG=&#8221;SIMPLIFIED CHINESE_CHINA.ZHS16GBK&#8221;<br />
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data<br />
export DISPLAY=:0.0<br />
export LANG=en_US<br />
export GDM_LANG= en_US<br />
export LC= en_US<br />
export PATH<br />
unset USERNAME<br />
4， 设置系统参数；<br />
要检查内存空间，在命令行方式（bash环境）下执行如下命令：<br />
#grep MemTotal /proc/meminfo<br />
要检查交换空间，在命令行下执行如下命令：<br />
# grep SwapTotal /proc/meminfo</p>
<p>#su – root切换到root用户<br />
a) 修改#vi /etc/sysctl.conf, 以下是配置文件的内容（其中红色字体为添加的内容）：<br />
# Kernel sysctl configuration file for Red Hat Linux<br />
#<br />
# For binary values, 0 is disabled, 1 is enabled. See sysctl( and<br />
# sysctl.conf(5) for more details.</span></p>
<p><span style="color: #000000;"># Controls IP packet forwarding<br />
net.ipv4.ip_forward = 0</span></p>
<p><span style="color: #000000;"># Controls source route verification<br />
net.ipv4.conf.default.rp_filter = 1</span></p>
<p><span style="color: #000000;"># Controls the System Request debugging functionality of the kernel<br />
kernel.sysrq = 0</span></p>
<p><span style="color: #000000;"># Controls whether core dumps will append the PID to the core filename.<br />
# Useful for debugging multi-threaded applications.<br />
kernel.core_uses_pid = 1<br />
#512M<br />
kernel.shmmax = 536870912<br />
# 268435456 (256M)<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 />
修改后运行#sysctl –p命令使得内核改变立即生效；<br />
译者注：一般情况下可以设置最大共享内存为物理内存的一半，如果物理内存是 2G，则可以设置最大共享内存为 1073741824，如上；如物理内存是 1G，则可以设置最大共享内存为 512 * 1024 * 1024 = 536870912；以此类推。）<br />
建议永久地增加 shmmax 设置。<br />
sem 4个参数依次为SEMMSL(每个用户拥有信号量最大数)；SEMMNS(系统信号量最大数)；SEMOPM(每次semopm系统调用操作数)；SEMMNI(系统辛苦量集数最大数).Shmmax 最大共享内存，官方文档建议是内存的1/2,Shmmni 最小共享内存 4096KB.Shmall 所有内存大小</span></p>
<p><span style="color: #000000;">B) 设置oracle对文件的要求：<br />
编辑文件：#vi /etc/security/limits.conf 加入以下语句：<br />
oracle 　　　soft 　　　nofile 　　 65536<br />
oracle 　　　hard 　　 nofile　　　65536<br />
oracle 　　　soft 　　　nproc 　　 16384<br />
oracle 　　　hard 　　 nproc 　　 16384</span></p>
<p><span style="color: #000000;">5，安装oracle补丁<br />
当你从 Oracle 9iR2 光盘执行 runInstaller 时，会出现错误信息：<br />
Error occurred during initialization of VM<br />
Unable to load native library:<br />
/tmp/OraInstall2003-10-25_03-14-57PM/jre/lib/i386<br />
/libjava.so symbol _libc_wait, version GLIBC_2.0 not<br />
defined in file libc.so.6 with link time reference<br />
为了解决 _libc_wait 符号问题，<br />
从http://oss.oracle.com/projects/compat-oracle/files/RedHat/ 下载补丁<br />
compat-libcwait-2.1-1.i386.rpm 为了应用这个补丁，可以运行：<br />
$su – root<br />
# cd /orasetup<br />
#ls compat*.rpm<br />
compat-libcwait-2.0-2.i386.rpm<br />
# rpm -Uvh compat*.rpm<br />
Preparing&#8230; ########################################### [100%]<br />
1: compat-libcwait-2.0-2.i386.rpm ##################################### [ 100%]</span></p>
<p><span style="color: #000000;">打p3006854_9204_LINUX.zip<br />
# unzip p3006854_9204_LINUX.zip<br />
# chmod +x 3006854/rhel3_pre_install.sh<br />
# 3006854/rhel3_pre_install.sh</span></p>
<p><span style="color: #000000;">创建链接<br />
# ln -s /usr/lib/libstdc++-libc6.2-2.so.3 /usr/lib/libstdc++-libc6.1-1.so.2</span></p>
<p><span style="color: #000000;">6,安装j2re<br />
Download the Java Runtime Enviroment (j2re-1_3_1_20-linux-i586.bin) from the Sun website. Keep in mind you need to download j2re1.3.1_11 or higher<br />
注意：下载jre jre1.3.1_2x 其中x为任意，但前面的版本不可改。</span></p>
<p><span style="color: #000000;">Login as root and make the the file executable and then execute it. When the JRE is exracted move the &#8220;jre1.3.1_20&#8243; di rectory to &#8220;/opt&#8221; directory.<br />
以root用户的登录执行下面的<br />
# chmod +x j2re-1_3_1_20-linux-i586.bin<br />
# ./j2re-1_3_1_20-linux-i586.bin<br />
# mv jre1.3.1_20 /u01/app/oracle/ jre1.3.1<br />
四，开始安装oracle9iR2<br />
（一）开始安装：<br />
1.以oracle用户登录系统，进行Oracle的安装：<br />
$ cd Disk1<br />
$ ./runInstaller过一会儿就会出现Oracle的安装界面，如下图所示：<br />
中间部分省略<br />
&#8230;&#8230;&#8230;<br />
16,安装完后打补丁：<br />
切换到root：#su – root 首先安装 opatch.<br />
#cd /orasetup<br />
#unzip p2617419_210_GENERIC.zip<br />
Archive: p2617419_210_GENERIC.zip<br />
creating: OPatch/<br />
creating: OPatch/docs/<br />
inflating: Opatch/docs/FAQ<br />
&#8230;&#8230;<br />
inflating: README.txt<br />
#export PATH=$PATH:/orasetup/ebf/OPatch:/sbin<br />
(修改PATH时要要包括解压缩出来的Opatch 和 sbin目录)<br />
# unzip p3238244_9204_LINUX.zip<br />
# cd 3238244<br />
# opatch apply<br />
PERL5LIB=/u01/app/oracle/product/9.2.0/Apache/perl/lib/5.00503:/soft/oracle9i/OPatch/perl_modules; export PERL5LIB<br />
/u01/app/oracle/product/9.2.0/Apache/perl/bin/perl /soft/oracle9i/OPatch/opatch.pl apply<br />

<!-- Begin alimama Adserver code -->
<script type="text/javascript"><!--
google_ad_client = "pub-8438729971248494";
/* 728x90, ������ 10-2-7 */
google_ad_slot = "4752526529";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- End Alimama Adserver code -->
<br />
OPatch Version 1.0.0.0.46<br />
Perl Version 5.00503</span></p>
<p><span style="color: #000000;">Oracle Home = /u01/app/oracle/product/9.2.0<br />
Location of Oracle Inventory = /u01/app/oracle/oraInventory<br />
Oracle Universal Installer shared library = /u01/app/oracle/oui/bin/linux/liboraInstaller.so<br />
Path to Java = /u01/app/oracle/jre/1.3.1/bin/java<br />
Location of Oracle Inventory Pointer = /etc/oraInst.loc<br />
Location of Oracle Universal Installer components = /u01/app/oracle/oui<br />
Required Jar File under Oracle Universal Installer = lib/OraInstaller.jar</span></p>
<p><span style="color: #000000;">Please shut down Oracle instances running out of this ORACLE_HOME<br />
(Oracle Home = /u01/app/oracle/product/9.2.0)<br />
Is this system ready for updating?<br />
Please respond Y|N &gt;<br />
y<br />
Patching&#8230;<br />
Updating inventory&#8230;<br />
/soft/oracle9i/OPatch/opatch.pl version: 1.0.0.0.46<br />
Copyright (c) 2001,2002,2003 Oracle Corporation. All Rights Reserved.</span></p>
<p><span style="color: #000000;">OPatch succeeded.<br />
如果提示HOME变量错误可执行语句：<br />
#export ORACLE_BASE=/u01/app/oracle<br />
#export ORACLE_HOME=/u01/app/oracle/product/9.2.0<br />
出现success的提示就全部安装成功.</span></p>
<p><span style="color: #000000;">补丁打完后，还要relinked一个.mk文件，切换到oracle用户窗口<br />
cd $ORACLE_HOME/network/lib<br />
make –f ins_oemagent.mk install<br />
之后就可以启动Agent服务了.</span></p>
<p><span style="color: #000000;">17, 最后执行 #dbca 建oracle数据库</span></p>
<p><span style="color: #000000;">当你执行 dbca 时，会出现错误信息：(参考 我的的Fedora 7最新安装Oracle9204手记)<br />
/u01/app/oracle/jre/1.1.8/bin/../lib/i686/green_threads/libzip.so: symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference (libzip.so)<br />
Unable to initialize threads: cannot find class java/lang/Thread<br />
Could not create Java VM<br />
可以运行：<br />
#su &#8211; oracle<br />
$cd /u01/app/oracle/product/9.2.0<br />
$rm JRE<br />
$ln -s /u01/app/oracle/jre1.3.1 JRE<br />
$su -<br />
# cd /u01/app/oracle/product/9.2.0/JRE/bin<br />
# ln -s java jre<br />
# cd i386/native_threads<br />
# ln -s java jre</span></p>
<p><span style="color: #000000;">&#8230;&#8230;..</span></p>
<p><span style="color: #000000;">21，点击OK，然后退出即可,正常登陆并启动数据库的操作。<br />
[oracle@oracle oracle]$ lsnrctl start<br />
[oracle@oracle oracle]$ sqlplus /nolog<br />
SQL*Plus: Release 9.2.0.0 &#8211; Production on Sat Mar 12 22:58:53 2005<br />
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.<br />
SQL&gt; connect / as sysdba<br />
Connected.<br />
SQL&gt; shutdown immediate 关闭数据库<br />
Database closed.<br />
Database dismounted.<br />
ORACLE instance shut down.<br />
SQL&gt; startup; 启动数据库<br />
ORACLE instance started.<br />
Total System Global Area 236000356 bytes<br />
Fixed Size 451684 bytes<br />
Variable Size 201326592 bytes<br />
Database Buffers 33554432 bytes<br />
Redo Buffers 667648 bytes<br />
Database mounted.<br />
Database opened.</span></p>
<p><span style="color: #000000;">22, 数据库创建完成后，修改/etc/oratab，把oradb那一行最后的N改成Y，然后执行dbstart启动数据库数据库可能无法启动，报告Can’t find init file …的错误，需要复制一个初始化文件:<br />
cp /u01/app/oracle/admin/oradb/pfile/ initoradb.ora* /u01/app/oracle/product/9.2.0/dbs/initoradb.ora<br />
重新执行dbstart就可以了。<br />
为了方便管理，可以写一个启动脚本ora9i：<br />
以root身份进入，编写以下脚本：</span></p>
<p><span style="color: #000000;">#!/bin/bash<br />
#start and stop the oracle instance<br />
# chkconfig –level 5 &#8211;add ora9i<br />
#chkconfig: 345 91 19<br />
# description: starts the oracle listener and instance</span></p>
<p><span style="color: #000000;">export ORACLE_HOME=&#8221;/u01/app/oracle/product/9.2.0&#8243;<br />
export PATH=$ORACLE_HOME/bin ORACLE_HOME/Apache/Apache/bin PATH<br />
export ORACLE_OWNER=&#8221;oracle&#8221;<br />
export ORACLE_SID=oradb</span></p>
<p><span style="color: #000000;">if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]<br />
then<br />
echo &#8220;oracle startup:cannot start&#8221;<br />
exit 1<br />
fi</span></p>
<p><span style="color: #000000;">case &#8220;$1&#8243; in<br />
start)<br />
#startup the listener and instance<br />
echo -n &#8220;oracle startup: &#8221;<br />
su &#8211; $ORACLE_OWNER -c &#8220;$ORACLE_HOME/bin/lsnrctl start&#8221;<br />
su &#8211; $ORACLE_OWNER -c $ORACLE_HOME/bin/dbstart<br />
touch /var/lock/subsys/oracle<br />
echo &#8220;finished&#8221;<br />
;;<br />
stop)<br />
# stop listener, apache and database<br />
echo -n &#8220;oracle shutdown:&#8221;<br />
su &#8211; $ORACLE_OWNER -c &#8220;$ORACLE_HOME/bin/lsnrctl stop&#8221;<br />
su &#8211; $ORACLE_OWNER -c $ORACLE_HOME/bin/dbshut<br />
rm -f /var/lock/subsys/oracle<br />
echo &#8220;finished&#8221;<br />
;;<br />
reload|restart)<br />
$0 stop<br />
$0 start<br />
;;<br />
*)<br />
echo &#8220;Usage: ora9i [start|stop|reload|restart]&#8221;<br />
exit 1</span></p>
<p><span style="color: #000000;">esac<br />
exit 0<br />
注意:如果 cat –v ora9i 可以看到文件每行结尾有^M<br />
去除^M的脚本为:<br />
#sed &#8216;s/.$//&#8217; ora9i &gt;ora9x<br />
#mv ora9x ora9i<br />
或</span></p>
<p><span style="color: #000000;">#mv ora9i ora9x<br />
# dos2unix ora9x ora9i<br />
存为ora9i后，然后用chmod a+x ora9,即可在以后以root身份运行/etc/rc.d/init.d/ora9i start |stop 来管理oracle的启动和停止了。如果要将这个脚本加入到系统中使其可开机运行，那么要运行以下命令：<br />
#chkconfig –add ora9i<br />
#chkconfig ora9i on<br />
#chkconfig –list ora9i</span></p>
<p><span style="color: #000000;">也可自启动oracle9i!<br />
或者可在/etc/rc.d/rc.local中加入如下：<br />
su &#8211; oracle -c &#8220;/u01/app/oracle/product/9.2.0/bin/lsnrctl start&#8221;<br />
su &#8211; oracle -c &#8220;/u01/app/oracle/product/9.2.0/bin/dbstart start&#8221;</span></p>
<p><span style="color: #000000;">添加listener.ora, tnsnames.ora<br />
#cd $ORACLE_HOME/network/admin<br />
#vi listener.ora &#8211;网络监听<br />
LISTENER =<br />
(DESCRIPTION =<br />
(ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))<br />
)</span></p>
<p><span style="color: #000000;">#vi tnsnames.ora &#8211;本地管理器所用<br />
ORADB_hostname =<br />
(DESCRIPTION =<br />
(ADDRESS_LIST =<br />
(ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))<br />
)<br />
(CONNECT_DATA =<br />
(SID = oradb)<br />
(SERVER = DEDICATED)<br />
)<br />
)</span></p>
<p><span style="color: #000000;">23,<br />
关于数据库删除重新安装的问题:<br />
把ORACLE安装目录删除及/etc/ora*.*删除就行了<br />
#rm –f /etc/ora*.*<br />
或#dbca 删除数据后,再建数据,如果重新启动后,不能自动启动oracle就<br />
#vi /etc/oratab<br />
修改<br />
*:/u01/app/oracle/product/9.2.0:Y<br />
oradb:/u01/app/oracle/product/9.2.0:Y<br />
24,关于在LINUX中运行管理软件<br />
25,升级oracle9i为9.2.0.8<br />
$ lsnrctl stop<br />
$dbshut<br />
# unzip p4547809_92080_LINUXfor_AS4.zip<br />
#cd Disk1<br />
$./runinstall<br />
Starting Oracle Universal Installer&#8230;<br />
Checking installer requirements&#8230;<br />
Checking operating system version: must be SuSE-7, redhat-2.1AS, redhat-2.1, UnitedLinux-1.0, redhat-3, redhat-4, SuSE-8 or SuSE-9<br />
Failed &lt;&lt;&lt;&lt;<br />
Exiting Oracle Universal Installer, log for this session can be found at /u01/app/oracle/oraInventory/logs/installActions2008-03-23_03-15-18PM.log $su – </span></p>
<p><span style="color: #000000;">#cd /Disk1/install<br />
#vi oraparam.ini (添加红色的)<br />
[Certified Versions]<br />
#You can customise error message shown for failure through CERTIFIED_VERSION_FAILURE_MESSAGE<br />
Solaris=5.6,5.7,5.8,5.9<br />
Linux=SuSE-7,redhat-2.1AS,redhat-2.1,UnitedLinux-1.0,redhat-3,redhat-4,redhat-5,SuSE-8,SuSE-9<br />
HPUX=B.11.11<br />
Decunix=V5.1A,V5.1<br />
AIX=5.1.0.0<br />

<!-- Begin alimama Adserver code -->
<script type="text/javascript"><!--
google_ad_client = "pub-8438729971248494";
/* 728x90, ������ 10-2-7 */
google_ad_slot = "4752526529";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- End Alimama Adserver code -->
<br />
[Linux-redhat-4.0-optional]<br />
TEMP_SPACE=80<br />
SWAP_SPACE=150<br />
MIN_DISPLAY_COLORS=256</span></p>
<p><span style="color: #000000;">[Linux-redhat-5.0-optional]<br />
TEMP_SPACE=80<br />
SWAP_SPACE=150<br />
MIN_DISPLAY_COLORS=256</span></p>
<p><span style="color: #000000;">&#8230;&#8230;.</span></p>
<p><span style="color: #000000;">升级后把 listener.ora .,tnsnames.ora拷贝到/u01/app/oracle/product/9.2.0/network/admin<br />
下,并修改对应的(HOST = hostname).</span></p>
<p><span style="color: #000000;">[root@mail 9.2.0]# service ora9i start<br />
oracle startup:<br />
LSNRCTL for Linux: Version 9.2.0.8.0 &#8211; Production on 18-JAN-2008 19:56:44<br />
Copyright (c) 1991, 2006, Oracle Corporation. All rights reserved.<br />
Starting /u01/app/oracle/product/9.2.0/bin/tnslsnr: please wait&#8230;<br />
TNSLSNR for Linux: Version 9.2.0.8.0 &#8211; Production<br />
System parameter file is /u01/app/oracle/product/9.2.0/network/admin/listener.ora<br />
Log messages written to /u01/app/oracle/product/9.2.0/network/log/listener.log<br />
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=mail.domain.com)(PORT=1521)))<br />
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=mail)(PORT=1521)))<br />
STATUS of the LISTENER<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Alias LISTENER<br />
Version TNSLSNR for Linux: Version 9.2.0.8.0 &#8211; Production<br />
Start Date 18-JAN-2008 19:56:44<br />
Uptime 0 days 0 hr. 0 min. 0 sec<br />
Trace Level off<br />
Security OFF<br />
SNMP OFF<br />
Listener Parameter File /u01/app/oracle/product/9.2.0/network/admin/listener.ora<br />
Listener Log File /u01/app/oracle/product/9.2.0/network/log/listener.log<br />
Listening Endpoints Summary&#8230;<br />
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=mail.domain.com)(PORT=1521)))<br />
The listener supports no services<br />
The command completed successfully</span></p>
<p><span style="color: #000000;">SQL*Plus: Release 9.2.0.8.0 &#8211; Production on Fri Jan 18 19:56:45 2008</span></p>
<p><span style="color: #000000;">Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.</span></p>
<p><span style="color: #000000;">SQL&gt; Connected to an idle instance.<br />
SQL&gt; ORACLE instance started.</span></p>
<p><span style="color: #000000;">Total System Global Area 235999648 bytes<br />
Fixed Size 450976 bytes<br />
Variable Size 201326592 bytes<br />
Database Buffers 33554432 bytes<br />
Redo Buffers 667648 bytes<br />
Database mounted.<br />
Database opened.<br />
SQL&gt; Disconnected from Oracle9i Enterprise Edition Release 9.2.0.8.0 &#8211; Production<br />
With the Partitioning, OLAP and Oracle Data Mining options<br />
JServer Release 9.2.0.8.0 &#8211; Production</span></p>
<p><span style="color: #000000;">Database &#8220;oradb&#8221; warm started.<br />
Finished</span></p>
<p><span style="color: #000000;">#oemapp<br />
Usage: oemapp<br />
The installed applications are: cpta, cp, ocm, worksheet, topsess, oemutil, dbastudio, console, lmviewer, esm, esmsrv, jdbctest, opm, txtmgr, sdoadvisor, ocmcli, pm, dataguard</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanjiang.net.cn/archives/755.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CentOS 4.4下安装Oracle 10g</title>
		<link>http://www.evanjiang.net.cn/archives/752.html</link>
		<comments>http://www.evanjiang.net.cn/archives/752.html#comments</comments>
		<pubDate>Fri, 06 Mar 2009 10:56:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[redhat linux]]></category>
		<category><![CDATA[CentOS 4.4下 安装 Oracle 10g]]></category>

		<guid isPermaLink="false">http://www.evanjiang.net.cn/?p=752</guid>
		<description><![CDATA[<p>一、下载软件
OracleDatabase10gRelease2 (10.2.0.1) </p>
<p>下载后可采用
解压命令：unzip 10201_database_linux32.zip </p>
<p>二、 设置核心参数
1、在/etc/sysctl.conf文件中加入下列行：
vi /etc/sysctl.conf </p>
<p>kernel.shmall =2097152
kernel.shmmax =2147483648
kernel.shmmni =4096
kernel.sem =25032000100128
fs.file-max =65536
net.ipv4.ip_local_port_range =102465000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144 </p>
<p>2、运行下列命令使修改后的内核参数生效
/sbin/sysctl –p

3、在/etc/security/limits.conf文件中加入下列行：
*softnproc2047
*hardnproc16384
*softnofile1024
*hardnofile65536 </p>
<p>4、在/etc/pam.d/login文件中加入下列行：
sessionrequired /lib/security/pam_limits.so </p>
<p>5、检查下列包： 若没有安装就要装上否则会安装错误无法继续
本人是采用DVD的都在一张盘上，如果你是使用CD 的话，这些包是分布在234三张盘上的</p>
<p>Rpm –qa &#124; grep compat</p>
<p>setarch-1.6-1.i386.rpm
compat-libstdc++-33-3.2.3-47.3.i386.rpm
make-3.80-5.i386.rpm
glibc-2.3.4-2.i386.rpm
openmotif-2.2.3-6.RHEL4.2.i386.rpm
compat-db-4.1.25-9.i386.rpm
libaio-0.3.102-1.i386.rpm
gcc-3.4.3-9.EL4.i386.rpm
compat-gcc-32-3.2.3-47.3.i386.rpm
compat-gcc-32-c++-3.2.3-47.3.i386.rpm </p>
<p>三、创建下列组和用户








groupaddoinstall
groupadddba
groupaddoper
useradd -goinstall -Gdbaoracle
passwdoracle </p>
<p>2.创建安装oracle的目录
mkdir -p /u01/app/oracle/product/10.2.0/db_1
mkdir -p /u02/oradata
chown -Roracle.oinstall /u01 /u02/oradata </p>
<p>说明：/u01/app/oracle/product/10.2.0/db_1 是用于放置程序文件的位置。
　　　/u02/oradata 用于放置数据库文件的位置，在安装的时候一定要确认安装的位置正确。 </p>
<p>四、设置oracle用户的环境变量 </p>
<p>上面的工作都是在root下进行，下面的就要在oracle 下操作。
注销root 使用oracle 登陆操作。</p>
<p>.bash_profile文件末尾,注意把其中ORACLE_SID换成自己的实例名：
vi /home/oracle/.bash_profile
加上一下内容
#OracleSettings
TMP=/tmp;
exportTMP
TMPDIR=$TMP;
exportTMPDIR </p>
<p>ORACLE_BASE=/u01/app/oracle;
exportORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1;
exportORACLE_HOME
ORACLE_SID=TEST;
exportORACLE_SID
ORACLE_TERM=xterm;
exportORACLE_TERM
PATH=/usr/sbin:$PATH;
exportPATH
PATH=$ORACLE_HOME/bin:$PATH;
exportPATH </p>
<p>LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
exportLD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
exportCLASSPATH
#LD_ASSUME_KERNEL=2.4.1;
exportLD_ASSUME_KERNEL </p>
<p>if [ $USER = \"oracle\" ];then
if [ $SHELL [...]]]></description>
			<content:encoded><![CDATA[<p><span style="color: #000000;">一、下载软件<br />
OracleDatabase10gRelease2 (10.2.0.1) </span></p>
<p><span style="color: #000000;">下载后可采用<br />
解压命令：unzip 10201_database_linux32.zip </span></p>
<p><span style="color: #000000;">二、 设置核心参数<br />
1、在/etc/sysctl.conf文件中加入下列行：<br />
vi /etc/sysctl.conf </span></p>
<p><span style="color: #000000;">kernel.shmall =2097152<br />
kernel.shmmax =2147483648<br />
kernel.shmmni =4096<br />
kernel.sem =25032000100128<br />
fs.file-max =65536<br />
net.ipv4.ip_local_port_range =102465000<br />
net.core.rmem_default=262144<br />
net.core.rmem_max=262144<br />
net.core.wmem_default=262144<br />
net.core.wmem_max=262144 </span></p>
<p><span style="color: #000000;">2、运行下列命令使修改后的内核参数生效<br />
/sbin/sysctl –p<br />
<span id="more-752"></span><br />
3、在/etc/security/limits.conf文件中加入下列行：<br />
*softnproc2047<br />
*hardnproc16384<br />
*softnofile1024<br />
*hardnofile65536 </span></p>
<p><span style="color: #000000;">4、在/etc/pam.d/login文件中加入下列行：<br />
sessionrequired /lib/security/pam_limits.so </span></p>
<p><span style="color: #000000;">5、检查下列包： 若没有安装就要装上否则会安装错误无法继续<br />
本人是采用DVD的都在一张盘上，如果你是使用CD 的话，这些包是分布在234三张盘上的</span></p>
<p><span style="color: #000000;">Rpm –qa | grep compat</span></p>
<p><span style="color: #000000;">setarch-1.6-1.i386.rpm<br />
compat-libstdc++-33-3.2.3-47.3.i386.rpm<br />
make-3.80-5.i386.rpm<br />
glibc-2.3.4-2.i386.rpm<br />
openmotif-2.2.3-6.RHEL4.2.i386.rpm<br />
compat-db-4.1.25-9.i386.rpm<br />
libaio-0.3.102-1.i386.rpm<br />
gcc-3.4.3-9.EL4.i386.rpm<br />
compat-gcc-32-3.2.3-47.3.i386.rpm<br />
compat-gcc-32-c++-3.2.3-47.3.i386.rpm </span></p>
<p><span style="color: #000000;">三、创建下列组和用户<br />

<!-- Begin alimama Adserver code -->
<script type="text/javascript"><!--
google_ad_client = "pub-8438729971248494";
/* 728x90, ������ 10-2-7 */
google_ad_slot = "4752526529";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- End Alimama Adserver code -->
<br />
groupaddoinstall<br />
groupadddba<br />
groupaddoper<br />
useradd -goinstall -Gdbaoracle<br />
passwdoracle </span></p>
<p><span style="color: #000000;">2.创建安装oracle的目录<br />
mkdir -p /u01/app/oracle/product/10.2.0/db_1<br />
mkdir -p /u02/oradata<br />
chown -Roracle.oinstall /u01 /u02/oradata </span></p>
<p><span style="color: #000000;">说明：/u01/app/oracle/product/10.2.0/db_1 是用于放置程序文件的位置。<br />
　　　/u02/oradata 用于放置数据库文件的位置，在安装的时候一定要确认安装的位置正确。 </span></p>
<p><span style="color: #000000;">四、设置oracle用户的环境变量 </span></p>
<p><span style="color: #000000;">上面的工作都是在root下进行，下面的就要在oracle 下操作。<br />
注销root 使用oracle 登陆操作。</span></p>
<p><span style="color: #000000;">.bash_profile文件末尾,注意把其中ORACLE_SID换成自己的实例名：<br />
vi /home/oracle/.bash_profile<br />
加上一下内容<br />
#OracleSettings<br />
TMP=/tmp;<br />
exportTMP<br />
TMPDIR=$TMP;<br />
exportTMPDIR </span></p>
<p><span style="color: #000000;">ORACLE_BASE=/u01/app/oracle;<br />
exportORACLE_BASE<br />
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1;<br />
exportORACLE_HOME<br />
ORACLE_SID=TEST;<br />
exportORACLE_SID<br />
ORACLE_TERM=xterm;<br />
exportORACLE_TERM<br />
PATH=/usr/sbin:$PATH;<br />
exportPATH<br />
PATH=$ORACLE_HOME/bin:$PATH;<br />
exportPATH </span></p>
<p><span style="color: #000000;">LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;<br />
exportLD_LIBRARY_PATH<br />
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;<br />
exportCLASSPATH<br />
#LD_ASSUME_KERNEL=2.4.1;<br />
exportLD_ASSUME_KERNEL </span></p>
<p><span style="color: #000000;">if [ $USER = \"oracle\" ];then<br />
if [ $SHELL = \"/bin/ksh\" ];then<br />
ulimit -p16384<br />
ulimit -n65536<br />
else<br />
ulimit -u16384 -n65536<br />
fi<br />
fi<br />

<!-- Begin alimama Adserver code -->
<script type="text/javascript"><!--
google_ad_client = "pub-8438729971248494";
/* 728x90, ������ 10-2-7 */
google_ad_slot = "4752526529";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- End Alimama Adserver code -->
<br />
五、安装<br />
cd 到oracle10.2的目录下</span></p>
<p><span style="color: #000000;">运行：./runInstaller<br />
就可以开启Oracle10.2的安装界面，剩下的就是依据自己需要看提示装下去啦！ </span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanjiang.net.cn/archives/752.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RHEL5 安装Oracle 10g Release 2</title>
		<link>http://www.evanjiang.net.cn/archives/686.html</link>
		<comments>http://www.evanjiang.net.cn/archives/686.html#comments</comments>
		<pubDate>Wed, 04 Mar 2009 10:16:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[redhat linux]]></category>
		<category><![CDATA[RHEL5 安装Oracle 10g]]></category>

		<guid isPermaLink="false">http://www.evanjiang.net.cn/?p=686</guid>
		<description><![CDATA[<p>系统环境
Linux kernel 2.6.18-8.el5(系统最小化安装)
hostname：mail.atyu30.com
ip:10.0.0.150
内存：512M</p>
<p>1.开启IPtables
/sbin/service iptables restart</p>
<p>/sbin/chkconfig &#8211;level 345 iptables on
2.关闭SElinux
# vi /etc/selinux/config </p>
<p>SELINUX=disabled</p>
<p>3.系统环境
所需组件通过 YUM 安装

# rpm -q
binutils
compat-gcc-34
compat-gcc-34-c++
compat-libstdc++-33
control-center
gcc
gcc-c++
gdbm
glibc
glibc-common
glibc-devel
libgcc
libgnome
libstdc++-devel
libXp
make
sysstat
util-linux
# yum install compat-gcc-34\
compat-gcc-34-c++\
compat-libstdc++-33\
gcc\
gcc-c++ \
glibc-devel\
libstdc++-devel sysstat\
libXp</p>
<p>4.添加中文语系
更改系统字体
# vi /etc/sysconfig/i18n
LANG=”en_US.UTF-8″
5.修改版本号/etc/redhat-release
10gr2出的时候RHEL5还没有诞生</p>
<p># vi /etc/redhat_release </p>
<p>#Red Hat Enterprise Linux Server release 5 (Tikanga)
Red Hat Enterprise Linux Server release 4 (Tikanga)</p>
<p>7.Oracle的预安装准备工作
7.1/etc/pam.d/login
# vi /etc/pam.d/login  </p>
<p># Add content for oracle install
session required pam_limits.so








7.2/etc/sysctl.conf
# vi /etc/sysctl.conf   [...]]]></description>
			<content:encoded><![CDATA[<p>系统环境<br />
Linux kernel 2.6.18-8.el5(系统最小化安装)<br />
hostname：mail.atyu30.com<br />
ip:10.0.0.150<br />
内存：512M</p>
<p>1.开启IPtables<br />
/sbin/service iptables restart</p>
<p>/sbin/chkconfig &#8211;level 345 iptables on<br />
2.关闭SElinux<br />
# vi /etc/selinux/config </p>
<p>SELINUX=disabled</p>
<p>3.系统环境<br />
所需组件通过 YUM 安装<br />
<span id="more-686"></span><br />
# rpm -q<br />
binutils<br />
compat-gcc-34<br />
compat-gcc-34-c++<br />
compat-libstdc++-33<br />
control-center<br />
gcc<br />
gcc-c++<br />
gdbm<br />
glibc<br />
glibc-common<br />
glibc-devel<br />
libgcc<br />
libgnome<br />
libstdc++-devel<br />
libXp<br />
make<br />
sysstat<br />
util-linux<br />
# yum install compat-gcc-34\<br />
compat-gcc-34-c++\<br />
compat-libstdc++-33\<br />
gcc\<br />
gcc-c++ \<br />
glibc-devel\<br />
libstdc++-devel sysstat\<br />
libXp</p>
<p>4.添加中文语系<br />
更改系统字体<br />
# vi /etc/sysconfig/i18n<br />
LANG=”en_US.UTF-8″<br />
5.修改版本号/etc/redhat-release<br />
10gr2出的时候RHEL5还没有诞生</p>
<p># vi /etc/redhat_release </p>
<p>#Red Hat Enterprise Linux Server release 5 (Tikanga)<br />
Red Hat Enterprise Linux Server release 4 (Tikanga)</p>
<p>7.Oracle的预安装准备工作<br />
7.1/etc/pam.d/login<br />
# vi /etc/pam.d/login  </p>
<p># Add content for oracle install<br />
session required pam_limits.so<br />

<!-- Begin alimama Adserver code -->
<script type="text/javascript"><!--
google_ad_client = "pub-8438729971248494";
/* 728x90, ������ 10-2-7 */
google_ad_slot = "4752526529";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- End Alimama Adserver code -->
<br />
7.2/etc/sysctl.conf<br />
# vi /etc/sysctl.conf    </p>
<p>#Add this line<br />
kernel.shmmax = 2147483648<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 />
net.core.rmem_default=262144<br />
net.core.rmem_max=262144<br />
net.core.wmem_default=262144<br />
net.core.wmem_max=262144</p>
<p>执行下述命令。导入刚才写入的参数。不执行，oracle在后面安装前的检测会报警。<br />
# /sbin/sysctl -p</p>
<p>7.3/etc/security/limits.conf</p>
<p># vi /etc/security/limits.conf 行末添加以下内容<br />
#Add this line<br />
* soft nproc 2047<br />
* hard nproc 16384<br />
* soft nofile 4096<br />
* hard nofile 65535</p>
<p>8.Install oracle<br />
8.1创建oracle用户，和一些安装目录</p>
<p># groupadd dba<br />
# groupadd oinstall<br />
# useradd -g oinstall -G dba -m oracle<br />
# passwd oracle<br />
# mkdir -p /opt/oracle<br />
# chown -R oracle.oinstall /opt/oracle<br />
# cd /home/oracle/<br />
# unzip oracle_10201_database_linux32.zip</p>
<p>8.2添加环境变量，定义SID等</p>
<p># su &#8211; oracle<br />
$ vi .bash_profile<br />
#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
# Set for Oracle10g Install;<br />
#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
trap &#8221; &#8221; 0 1 2 3 5 9 15<br />
trap clear 0<br />
export TMP=/tmp<br />
export TMPDIR=$TMP<br />
export ORACLE_BASE=/opt/oracle<br />
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1<br />
export ORACLE_SID=atyu30<br />
export ORACLE_TERM=xterm<br />
export PATH=$ORACLE_HOME/bin PATH<br />
export NLS_LANG=&#8221;Simplified Chinese_china&#8221;.UTF8<br />
LC_CTYPE=zh_CN.UTF8<br />
LC_ALL=zh_CN.UTF8<br />
LANG=zh_CN.UTF8</p>
<p>引用环境变量</p>
<p>$ source ~/.bash_profile<br />
8.3以Oracle 用户安装 Oracle</p>
<p>登录系统，xwindows<br />
# login system in oracle<br />
$ vncserver<br />
$ cd /home/oracle/database<br />
$ ./runInstaller</p>
<p>接下来的安装按照步骤就可以了，设定ASM，SID及sys口令，等。<br />
需要以root执行2个脚本。</p>
<p>9安装后的调整dbstart,添加自启动脚本<br />
# vi $ORACLE_HOME/bin/dbstart<br />
#Add<br />
ORACLE_HOME_LISTNER=$ORACLE_HOME</p>
<p>9.1/etc/oratab<br />
# vi /etc/oratab<br />
# Add<br />
atyu30:/opt/oracle/product/10.2.0/db_1:Y<br />
9.2创建自启动脚本<br />
oracle 10g在自身的dbstart已经启动了lsnrctl,所以下面的脚本上注释掉了lsnrctl的启动<br />
$ touch  dbora<br />
$ chmod 700 dbora<br />
$ vi dbora</p>
<p>#!/bin/bash<br />
#<br />
# chkconfig: 2345 80 05<br />
# description: Oracle 10g Server<br />
# /etc/init.d/dbora<br />
#<br />
# Run-level Startup script for the Oracle Instance, Listener, and<br />
# Web Interface</p>
<p>export ORACLE_BASE=/opt/oracle<br />
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1<br />
export ORACLE_SID=atyu30<br />
export PATH=$PATH ORACLE_HOME/bin</p>
<p>ORA_OWNR=&#8221;oracle&#8221;</p>
<p># if the executables do not exist &#8212; display error</p>
<p>if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]<br />
then<br />
     echo &#8220;Oracle startup: cannot start&#8221;<br />
     exit 1<br />
fi</p>
<p># depending on parameter &#8212; startup, shutdown, restart<br />
# of the instance and listener or usage display</p>
<p>case &#8220;$1&#8243; in<br />
start)<br />
     # Oracle listener and instance startup<br />
     echo -n &#8220;Starting Oracle: &#8221;<br />
#        su $ORA_OWNR -c &#8220;$ORACLE_HOME/bin/lsnrctl start&#8221;<br />
     su $ORA_OWNR -c $ORACLE_HOME/bin/dbstart<br />
     touch /var/lock/oracle</p>
<p>     su $ORA_OWNR -c &#8220;$ORACLE_HOME/bin/emctl start dbconsole&#8221;<br />
     su $ORA_OWNR -c &#8220;$ORACLE_HOME/bin/isqlplusctl start&#8221;<br />
     echo &#8220;OK&#8221;<br />
     ;;<br />
stop)<br />
     # Oracle listener and instance shutdown<br />
     echo -n &#8220;Shutdown Oracle: &#8221;<br />
#        su $ORA_OWNR -c &#8220;$ORACLE_HOME/bin/lsnrctl stop&#8221;<br />
     su $ORA_OWNR -c $ORACLE_HOME/bin/dbshut<br />
     rm -f /var/lock/oracle</p>
<p>     su $ORA_OWNR -c &#8220;$ORACLE_HOME/bin/emctl stop dbconsole&#8221;<br />
     su $ORA_OWNR -c &#8220;$ORACLE_HOME/bin/isqlplusctl stop&#8221;<br />
     echo &#8220;OK&#8221;<br />
     ;;<br />
reload|restart)<br />
     $0 stop<br />
     $0 start<br />
     ;;<br />
*)<br />
     echo &#8220;Usage: `basename $0` start|stop|restart|reload&#8221;<br />
     exit 1<br />
esac<br />
exit 0</p>
<p>
<!-- Begin alimama Adserver code -->
<script type="text/javascript"><!--
google_ad_client = "pub-8438729971248494";
/* 728x90, ������ 10-2-7 */
google_ad_slot = "4752526529";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- End Alimama Adserver code -->
<br />
9.3相关启动项<br />
# cp dbora /etc/rc.d/init.d<br />
# chkconfig &#8211;add dbora<br />
10.管理界面</p>
<p>http://10.0.0.200:1158/em</p>
<p>http://10.0.0.200:5560/isqlplus/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanjiang.net.cn/archives/686.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle10gR2 on SUSE Linux 10安装</title>
		<link>http://www.evanjiang.net.cn/archives/677.html</link>
		<comments>http://www.evanjiang.net.cn/archives/677.html#comments</comments>
		<pubDate>Wed, 04 Mar 2009 10:04:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[suse linux]]></category>
		<category><![CDATA[suse10 安装 oracle10g]]></category>

		<guid isPermaLink="false">http://www.evanjiang.net.cn/?p=677</guid>
		<description><![CDATA[<p>系统要求：
内存：推荐1G
Swap分区：设为内存的2倍
/tmp磁盘空间：400MB以上
磁盘空间：软件3.5G 数据1.2G</p>
<p>所需软件：
SUSE Linux10 for x86
Oracle database 10gR2 for linux32
Orarun-1.8-109.15.i586.rpm软件包，可以从http://ftp.novell.com/partners/oracle/sels-9下载</p>
<p>安装步骤：
1、安装SUSE
安装SUSE一定确保安装“C/C++Compiler and Tools”软件包。
# gcc –version 查看是否安装该软件包</p>
<p>2、安装所需软件包
安装orarun软件包
#rpm –ivh orarun-1.8-109.15.i586.rpm
安装libaio和libaio-devel软件包，这两个软件包可以在SUSE Linux DISK4中找到
#rpm –ivh orarun-1.8-109.15.i586.rpm
#rpm –ivh libaio-devel-0.3.104-3.i586.rpm

3、Oracle用户设置
当orarun软件包安装时，会自动建立名为oracle的用户，和一个oinstall组。我们只需要将该用户设置为enable，把shell从/bin/false改为/binbash。而且orarun软件包将ORACLE_HOME文件夹自动生成，减少了很多麻烦。</p>
<p>4、设置Oracle环境变量
修改/ect/profile.d/oracle.sh文件,ORACLE_HOME、ORACLE_SID等环境变量可以根据需要自行修改。
例如：
ORACLE_HOME=$ORACLE_BASE/product/10gR2
ORACLE_SID=ORCL
其中默认NLS_LANG＝AMERICAN，如果在中文OS下安装界面会产生乱码。建议在英文环境下安装。








5、安装Oracle10gR2
注销root用户，以oracle用户重新登录到KDE。注意不要在root用户下使用su – oracle来切换到oracle用户进行安装，那样系统图形界面不能启动。
运行./runInstaller –ignoresysprereqs 开始安装Oracle, –ignoresysprereqs忽略对操作系统的认证，Oracle10g默认不能安装在SUSE Linux10上。当然也可以将安装文件拷贝到硬盘，修改database/install/oraparam.ini文件，将其中添加SuSE-10，这样可以不使用–ignoresysprereqs参数。</p>
<p>下面在图形界面就可以一路顺利安装了，安装时没有发现任何错误。
企业管理器地址为http://localhost:1158/em在这里可以设置数据库。








感觉在SUSE Linux10上安装Oracle非常方便，不用过多的设置各种参数。而且SUSE Linux10界面也非常漂亮.</p>
]]></description>
			<content:encoded><![CDATA[<p>系统要求：<br />
内存：推荐1G<br />
Swap分区：设为内存的2倍<br />
/tmp磁盘空间：400MB以上<br />
磁盘空间：软件3.5G 数据1.2G</p>
<p>所需软件：<br />
SUSE Linux10 for x86<br />
Oracle database 10gR2 for linux32<br />
Orarun-1.8-109.15.i586.rpm软件包，可以从http://ftp.novell.com/partners/oracle/sels-9下载</p>
<p>安装步骤：<br />
1、安装SUSE<br />
安装SUSE一定确保安装“C/C++Compiler and Tools”软件包。<br />
# gcc –version 查看是否安装该软件包</p>
<p>2、安装所需软件包<br />
安装orarun软件包<br />
#rpm –ivh orarun-1.8-109.15.i586.rpm<br />
安装libaio和libaio-devel软件包，这两个软件包可以在SUSE Linux DISK4中找到<br />
#rpm –ivh orarun-1.8-109.15.i586.rpm<br />
#rpm –ivh libaio-devel-0.3.104-3.i586.rpm<br />
<span id="more-677"></span><br />
3、Oracle用户设置<br />
当orarun软件包安装时，会自动建立名为oracle的用户，和一个oinstall组。我们只需要将该用户设置为enable，把shell从/bin/false改为/binbash。而且orarun软件包将ORACLE_HOME文件夹自动生成，减少了很多麻烦。</p>
<p>4、设置Oracle环境变量<br />
修改/ect/profile.d/oracle.sh文件,ORACLE_HOME、ORACLE_SID等环境变量可以根据需要自行修改。<br />
例如：<br />
ORACLE_HOME=$ORACLE_BASE/product/10gR2<br />
ORACLE_SID=ORCL<br />
其中默认NLS_LANG＝AMERICAN，如果在中文OS下安装界面会产生乱码。建议在英文环境下安装。<br />

<!-- Begin alimama Adserver code -->
<script type="text/javascript"><!--
google_ad_client = "pub-8438729971248494";
/* 728x90, ������ 10-2-7 */
google_ad_slot = "4752526529";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- End Alimama Adserver code -->
<br />
5、安装Oracle10gR2<br />
注销root用户，以oracle用户重新登录到KDE。注意不要在root用户下使用su – oracle来切换到oracle用户进行安装，那样系统图形界面不能启动。<br />
运行./runInstaller –ignoresysprereqs 开始安装Oracle, –ignoresysprereqs忽略对操作系统的认证，Oracle10g默认不能安装在SUSE Linux10上。当然也可以将安装文件拷贝到硬盘，修改database/install/oraparam.ini文件，将其中添加SuSE-10，这样可以不使用–ignoresysprereqs参数。</p>
<p>下面在图形界面就可以一路顺利安装了，安装时没有发现任何错误。<br />
企业管理器地址为http://localhost:1158/em在这里可以设置数据库。<br />

<!-- Begin alimama Adserver code -->
<script type="text/javascript"><!--
google_ad_client = "pub-8438729971248494";
/* 728x90, ������ 10-2-7 */
google_ad_slot = "4752526529";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- End Alimama Adserver code -->
<br />
感觉在SUSE Linux10上安装Oracle非常方便，不用过多的设置各种参数。而且SUSE Linux10界面也非常漂亮.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanjiang.net.cn/archives/677.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>apache2+php+oracle9的安装</title>
		<link>http://www.evanjiang.net.cn/archives/650.html</link>
		<comments>http://www.evanjiang.net.cn/archives/650.html#comments</comments>
		<pubDate>Mon, 02 Mar 2009 10:46:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[redhat linux]]></category>
		<category><![CDATA[www]]></category>
		<category><![CDATA[apache2 php oracle9  安装]]></category>

		<guid isPermaLink="false">http://www.evanjiang.net.cn/?p=650</guid>
		<description><![CDATA[<p>1、前言：
   对于unix(linux)来说，apache＋php是个不错的选择。对于小型的网站，比较通用的是apache+php+mysql，优点不比说。但是，对于大型的网站，需要对数据库检索和连接请求高的站点，mysql还是出现他的局限性。很多门户网站，例如：sina、tom、sohu、china等，都是用新闻发稿器的生成静态页面。但是这个新闻发稿器，很多都是通过apache＋php来完成，大量的资料放在数据库中，用户访问的时候，在由程序生成静态页面。所以，apache+php+oracle是比较合理的选择。</p>
<p>由于平时都是用的sun的sparc机器，这个环境是临时搭建，用的是redhat9，如果有喜欢用redhat ad的朋友，需要自己先测试一下。</p>
<p>2、结构：
主机两台：
odb &#8211;安装oracle server，作为数据存储。
webapp &#8212;安装oracle client和apache+php，php通过oracle client来访问oracle。
odb ip:192.168.1.2
webapp ip: 192.168.1.3  211.11.11.11
优点：安全，odb可以用内网ip，还能实现降低webapp的负载。</p>
<p>3、主机系统相关软件：
redhat9
oacle9 for liunx
httpd2.0.50
php-4.32</p>
<p>4、安装软件：
4.1、odb的安装：
这里关于oracle9的redhat9上的安装，大家查看论坛响应的其他文章，这里就不过多写。为上下文，这里建立库为odb。</p>
<p>4.2、apache2的安装：

# tar zxvf httpd-2.0.49.tar.gz
# cd httpd-2.0.49
# ./configure &#8211;prefix=/opt/apache &#8211;enable-so &#8211;with-mpm=worker
# make
# make install</p>
<p>4.3、webapp主机上的oracle client安装：</p>
<p>4.3.1 安装好RedHat9.0操作系统，确保安装以下的RPM开发包
gcc
cpp
glibc-devel
compat-libstdc++
glibc-kernheaders
binutils
可以使用命令来查看是否已安装这些包
rpm –q gcc cpp compat-libstdc++ glibc-devel glibc-kernheaders binutils</p>
<p>4.3.2、从Oracle官方网站下载Oracle9i安装文件并使用如下命令解包








# zcat lnx_920_disk1.cpio.gz &#124; cpio –idmv
# zcat lnx_920_disk2.cpio.gz &#124; cpio –idmv
# zcat lnx_920_disk3.cpio.gz &#124; cpio –idmv
然后会有Disk1 Disk2 Disk3三个子目录。</p>
<p>4.3.3、设置内核参数
# [...]]]></description>
			<content:encoded><![CDATA[<p>1、前言：<br />
   对于unix(linux)来说，apache＋php是个不错的选择。对于小型的网站，比较通用的是apache+php+mysql，优点不比说。但是，对于大型的网站，需要对数据库检索和连接请求高的站点，mysql还是出现他的局限性。很多门户网站，例如：sina、tom、sohu、china等，都是用新闻发稿器的生成静态页面。但是这个新闻发稿器，很多都是通过apache＋php来完成，大量的资料放在数据库中，用户访问的时候，在由程序生成静态页面。所以，apache+php+oracle是比较合理的选择。</p>
<p>由于平时都是用的sun的sparc机器，这个环境是临时搭建，用的是redhat9，如果有喜欢用redhat ad的朋友，需要自己先测试一下。</p>
<p>2、结构：<br />
主机两台：<br />
odb &#8211;安装oracle server，作为数据存储。<br />
webapp &#8212;安装oracle client和apache+php，php通过oracle client来访问oracle。<br />
odb ip:192.168.1.2<br />
webapp ip: 192.168.1.3  211.11.11.11<br />
优点：安全，odb可以用内网ip，还能实现降低webapp的负载。</p>
<p>3、主机系统相关软件：<br />
redhat9<br />
oacle9 for liunx<br />
httpd2.0.50<br />
php-4.32</p>
<p>4、安装软件：<br />
4.1、odb的安装：<br />
这里关于oracle9的redhat9上的安装，大家查看论坛响应的其他文章，这里就不过多写。为上下文，这里建立库为odb。</p>
<p>4.2、apache2的安装：<br />
<span id="more-650"></span><br />
# tar zxvf httpd-2.0.49.tar.gz<br />
# cd httpd-2.0.49<br />
# ./configure &#8211;prefix=/opt/apache &#8211;enable-so &#8211;with-mpm=worker<br />
# make<br />
# make install</p>
<p>4.3、webapp主机上的oracle client安装：</p>
<p>4.3.1 安装好RedHat9.0操作系统，确保安装以下的RPM开发包<br />
gcc<br />
cpp<br />
glibc-devel<br />
compat-libstdc++<br />
glibc-kernheaders<br />
binutils<br />
可以使用命令来查看是否已安装这些包<br />
rpm –q gcc cpp compat-libstdc++ glibc-devel glibc-kernheaders binutils</p>
<p>4.3.2、从Oracle官方网站下载Oracle9i安装文件并使用如下命令解包<br />

<!-- Begin alimama Adserver code -->
<script type="text/javascript"><!--
google_ad_client = "pub-8438729971248494";
/* 728x90, ������ 10-2-7 */
google_ad_slot = "4752526529";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- End Alimama Adserver code -->
<br />
# zcat lnx_920_disk1.cpio.gz | cpio –idmv<br />
# zcat lnx_920_disk2.cpio.gz | cpio –idmv<br />
# zcat lnx_920_disk3.cpio.gz | cpio –idmv<br />
然后会有Disk1 Disk2 Disk3三个子目录。</p>
<p>4.3.3、设置内核参数<br />
# echo 4294967295 >; /proc/sys/kernel/shmmax，建议放到/etc/rc.local文件里。<br />
或编辑/etc/sysctl.conf<br />
kernel.shmmax=4294967295<br />
我有512MB内存，所以设置这个数值。可根据实际情况设置。</p>
<p>4.3.4、创建Oracle用户帐号和安装目录<br />
在shell下,作为root<br />
# groupadd dba<br />
# groupadd oinstall<br />
# useradd –g oinstall –G dba oracle<br />
# passwd oracle</p>
<p># 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/oracle<br />
# chown oracle.dba /var/oracle<br />
# chmod 755 /var/oracle</p>
<p>4.3.5、设置环境变量</p>
<p># vi /home/oracle/.bash_profile文件，添加下列行<br />
－－－－－－－－－－<br />
export LD_ASSUME_KERNEL=2.4.1<br />
export ORACLE_BASE=/opt/oracle<br />
export ORACLE_HOME=/opt/oracle/product/9.2.0<br />
NLS_LANG=&#8221;SIMPLIFIED CHINESE_CHINA.ZHS16GBK&#8221;;export NLS_LANG<br />
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data; export ORA_NLS33<br />
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;export LD_LIBRARY_PATH<br />
PATH=$PATH ORACLE_HOME/bin;export PATH</p>
<p>－－－－－－－－－－－－－－</p>
<p>4.3.6、安装<br />
可以重新启动机器，让设置的参数生效，让后用oracle用户登陆，安装oracle。</p>
<p># ~Disk1<br />
# ./runInstaller</p>
<p>安装的时候，选择安装client。<br />
有提示你用root用户执行几个脚本，按照提示做就可以。</p>
<p>4.4、 php安装<br />
在安装php的时候，php调用oracle9（9.0.2 &#8211;10 )的时候需要安装一个patch，不然会出现问题。但是oracle8的版本没有问题。oracle的官方网站上有下载，地址如下：</p>
<p>http://otn.oracle.com/products/ias/ohs/htdocs/ociheaders.tar</p>
<p># cp ociheaders.tar  /opt/oracle/product/9.2.0/rdbms/demo/<br />
# cd cd /opt/oracle/product/9.2.0/rdbms/demo<br />
# tar xvf ociheaders.tar</p>
<p># tar zxvf php-4.3.2.tar.gz<br />
# cd php-4.3.2<br />
#  ./configure &#8211;prefix=/opt/php &#8211;with-zlib<br />
   &#8211;with-apxs2=/opt/apache/bin/apxs &#8211;disable-xml &#8211;without-mysql<br />
   &#8211;with-oci8=/opt/oracle/product/9.2.0<br />
   &#8211;with-config-file-path=/opt/php/etc/php.ini<br />
   &#8211;disable-rpath &#8211;without-pear<br />
# make<br />
# make install<br />
# mkdir /usr/local/php/etc<br />
# cp /home/peng/php-4.3.2/etc/php.ini-disk /usr/local/php/etc/php.ini/php.ini<br />
# vi /usr/local/php/etc/php.ini/php.ini</p>
<p>5 配置软件：</p>
<p>5.1、启动odb主机上的oracle：<br />
以oracle用户登陆：</p>
<p>启动数据库<br />
$ Sqlplus “ / as sysdba”<br />
  SQL>;startup</p>
<p>启动监听程序<br />
$ lsnrctl</p>
<p>5.2、配置apache2：</p>
<p># vi /opt/apache/conf/httpd.conf</p>
<p>添加：AddType application/x-httpd-php .php<br />
更改下列选项如下：<br />
Listen 211.11.11.11:80  &#8211;你的发布主机ip<br />
User nobody<br />
Group nobody<br />
DirectoryIndex index.html index.php<br />
AddDefaultCharset Off</p>
<p>5.3 配置php：<br />

<!-- Begin alimama Adserver code -->
<script type="text/javascript"><!--
google_ad_client = "pub-8438729971248494";
/* 728x90, ������ 10-2-7 */
google_ad_slot = "4752526529";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- End Alimama Adserver code -->
<br />
# vi /usr/local/php/etc/php.ini/php.ini<br />
  更改：<br />
  register_global =Off 为 register_global =On</p>
<p>5.4 配置oracle client：<br />
# vi /opt/oracle/product/9.2.0/network/admin/tnsnames.ora</p>
<p>&#8212;&#8212;&#8212;&#8212;-<br />
odb =<br />
  (DESCRIPTION =<br />
    (ADDRESS_LIST =<br />
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.2)(PORT = 1521))<br />
    )<br />
    (CONNECT_DATA =<br />
      (SERVICE_NAME = odb)<br />
    )<br />
  )</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>到这里，系统已经全部安装成功，需要根据自己情况，配置apache的具体主机设置。</p>
<p>总结：<br />
apche+php+oracle一般的应用情况都是针对数据库访问量比较大，或者经常用到数据库检索的应用。很多都是为应用服务器而搭建的环境。</p>
<p>这里注意一点就是，这个环境的搭建，同样适合oracle10的版本。如果用oracle817以下的版本，是不需要安装ociheaders这个补丁的。对于oracle7，php要用&#8211;with-oracle＝的参数。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanjiang.net.cn/archives/650.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在 SCO OpenServer 5.0.X 上安装 Oracle 7.3.4</title>
		<link>http://www.evanjiang.net.cn/archives/269.html</link>
		<comments>http://www.evanjiang.net.cn/archives/269.html#comments</comments>
		<pubDate>Wed, 21 Jan 2009 09:23:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[sco unix]]></category>
		<category><![CDATA[scounix 安装 oracle]]></category>

		<guid isPermaLink="false">http://www.hunttech.com.cn/wpblog/?p=269</guid>
		<description><![CDATA[<p>Oracle 7.3.4 是一个高性能的商业数据库软件，其可靠的性能被广泛应用于金融、保险、邮政、电信、通讯等领域，也被应用于很多大型网站的数据库支持，由于在 SCO OpenServer 5.0.x 系统上可使用的最高版本为 Oracle 7.3.4，因此本文以 Oeacle 在 SCO OpenServer 5.0.6 上搭建为例，通过具体的事例，完整讲叙搭建过程。</p>
<p>我使用的软件版本是 Oracle7.3.4 ，操作系统版本是 SCO unix5.0.6 ， 如果你的系统有所不同，可根据你的具体环境加以调整。
(在这里以我的环境为例来进行设置的，仅供参考）
1.检查硬件
查看系统是否符合安装条件。</p>
<p>
2.调整kernel参数
启动方法：#scoadmin&#8211;>;Hardware/kernel Manager&#8211;>;Tone parament
也可以修改 /etc/conf/cf.d 目录下的 stune 文件（有关该文件各个参数的意义和调整方法，请参见你的管理员手册），如果有某个参数调整时超出允许的范围，你还可以通过修改 /etc/conf/cf.d/mtune 文件的相关内容来放宽你的内核相关参数的限制。
需要调整的参数
15.Semaphores(100,300,100,60)
16.Share data/maximun shared memory 524288&#8211;>;67108864
调整完成后重新链接核心并重启你的系统。
# relink
# reboot</p>
<p>3.生成oracle用户以及dba组
可以用scoadmin或者命令生成。这里我采用命令生成
;建立oracle用户目录
# mkdir -p /usr/oracle
;在oracle用户目录下建立/tmp目录
# mkdir -p /usr/oracle/tmp
;建立oracle用户组dba组
在/etc/group中，写入
dba::100::oracle
;建立oracle用户账号
# useradd -u 1025 -g dba -s /bin/sh -d /usr/oracle/app oracle
;修改/tmp目录属性
# cd /usr/oracle
# chmod 777 [...]]]></description>
			<content:encoded><![CDATA[<p>Oracle 7.3.4 是一个高性能的商业数据库软件，其可靠的性能被广泛应用于金融、保险、邮政、电信、通讯等领域，也被应用于很多大型网站的数据库支持，由于在 SCO OpenServer 5.0.x 系统上可使用的最高版本为 Oracle 7.3.4，因此本文以 Oeacle 在 SCO OpenServer 5.0.6 上搭建为例，通过具体的事例，完整讲叙搭建过程。</p>
<p>我使用的软件版本是 Oracle7.3.4 ，操作系统版本是 SCO unix5.0.6 ， 如果你的系统有所不同，可根据你的具体环境加以调整。<br />
(在这里以我的环境为例来进行设置的，仅供参考）<br />
1.检查硬件<br />
查看系统是否符合安装条件。</p>
<p><span id="more-269"></span><br />
2.调整kernel参数<br />
启动方法：#scoadmin&#8211;>;Hardware/kernel Manager&#8211;>;Tone parament<br />
也可以修改 /etc/conf/cf.d 目录下的 stune 文件（有关该文件各个参数的意义和调整方法，请参见你的管理员手册），如果有某个参数调整时超出允许的范围，你还可以通过修改 /etc/conf/cf.d/mtune 文件的相关内容来放宽你的内核相关参数的限制。<br />
需要调整的参数<br />
15.Semaphores(100,300,100,60)<br />
16.Share data/maximun shared memory 524288&#8211;>;67108864<br />
调整完成后重新链接核心并重启你的系统。<br />
# relink<br />
# reboot</p>
<p>3.生成oracle用户以及dba组<br />
可以用scoadmin或者命令生成。这里我采用命令生成<br />
<1>;建立oracle用户目录<br />
# mkdir -p /usr/oracle<br />
<2>;在oracle用户目录下建立/tmp目录<br />
# mkdir -p /usr/oracle/tmp<br />
<3>;建立oracle用户组dba组<br />
在/etc/group中，写入<br />
dba::100::oracle<br />
<4>;建立oracle用户账号<br />
# useradd -u 1025 -g dba -s /bin/sh -d /usr/oracle/app oracle<br />
<5>;修改/tmp目录属性<br />
# cd /usr/oracle<br />
# chmod 777 tmp<br />
# chown oracle tmp<br />
# chgrp dba tmp<br />
（在这里，我强烈建议你使用 scoadmin 管理器来添加你的用户和用户组。）<br />
4.修改.profile文件，加入你的 oracle 用户的运行环境定义。<br />
进入/usr/oracle,编辑它的.profile文件,在它的后面添加如下内容：<br />
ORACLE_BASE=/usr/oracle/app<br />
ORACLE_HOME=$ORACLE_BASE/product/7.3.4<br />
ORACLE_SID=oracle<br />
ORACLE_TERM=ansi<br />
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib<br />
ORACLE_NLS32=$ORACLE_HOME/ocommon/nls/admin/data<br />
ORACLE_PATH=$OARCLE_HOME/bin:/bin:/usr/bin:/opt/bin:/usr/lbin:/usr/lbin:.<br />
ULIMIT=2297152<br />
TERM=ansi<br />
TMPDIR=/usr/oracle/tmp<br />
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:/opt/bin:/usr/lbin:.<br />
export ORACLE_BASE ORACLE_HOME ORACLE_SID<br />
export ORACLE_TERM LD_LIBRARY_PATH<br />
export ORACLE_NLS32 ORACLE_PATH_ULIMIT TERM TMPDIR PATH<br />
NLS_LANG=AMERICAN_AMERICA.ZHS16CGB231280<br />
export NLS_LANG<br />
**********************<br />
普通用户（非oracle）再加入<br />
export NLS_DATE_FORMAT=YYYYMMDD<br />
NLS_LANG=AMERICAN_AMERICA.ZHS16CGB231280<br />
LIBPATH=$ORACLE_HOME/lib:$LIBPATH<br />
export LIBPATH<br />
umask 022<br />
**********************<br />

<!-- Begin alimama Adserver code -->
<script type="text/javascript"><!--
google_ad_client = "pub-8438729971248494";
/* 728x90, ������ 10-2-7 */
google_ad_slot = "4752526529";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- End Alimama Adserver code -->
<br />
5.开始安装（安装之前先进入多用户模式）<br />
# mount /dev/cd0 /mnt<br />
# su &#8211; oracle<br />
$ cd /mnt/orainst<br />
$ ./orainst<br />
以下安装过程及步骤：<br />
a.Install Type&#8211;>;&#8221;Custom Installation&#8221;<br />
b.Select the installer activity&#8211;>;&#8221;Install,Upgrade,or De_install software&#8221;<br />
c.Installation Options&#8211;>;Do not Creat DB objects<br />
d.Environment Variables&#8211;>;默认<br />
e.logging and status&#8211;>;默认<br />
此时继续下去，当出现&#8230;..Select(No)to abort installation and then ask root to run </p>
<p>&#8216;rootpre.sh&#8217;的时候<br />
另外再开一屏，用root用户登陆<br />
# cp /mnt/orainst/rootpre.sh /tmp<br />
# cp /mnt/orainst/orafiles /tmp<br />
# cd /tmp<br />
# vi rootpre.sh<br />
在ORACLE_LPSTAT=&#8221;/usr/bin/lpstat&#8221;下面一行加入<br />
ORACLE_HOME=&#8221;/usr/oracle/app/product/7.3.4&#8243;<br />
保存修改，退出继续<br />
f.Do you want to install Oracle Icons for SCO ODT system?(Y/N)&#8211;>;y<br />
g.Continue with rootpre.sh?(Y/N)&#8211;>;y<br />
h&#8230;..填入oracle<br />
i&#8230;..填入dba<br />
j.Continue with the above settings?(Y/N)&#8211;>;Y<br />
k.Are you installing Oracle through a floppy device?(Y/N)&#8211;>;N<br />
please continue installation with oracle*install as oracle user<br />
继续，然后再切到原来的shell，选择&#8221;yes&#8221;然后继续<br />
a.select one of the following&#8211;>;install from CD-ROM<br />
b.select the native language to be installed&#8211;>;All languages<br />
c.Relink all excutables?&#8211;>;No<br />
d.post&#8211;installation steps that need to be run by root will be written to </p>
<p>/usr/oracle/app/product/7.3.4/orainst/root.sh&#8211;>;选择默认<br />
接下来选择你要安装的组件<br />
<1>;Oracle intelligent agent 7.3.4.0.0<br />
<2>;Oracle on-line text viewer 1.0.1.0.0<br />
<3>;Oracle unix installer 4.0.1.0.0<br />
<4>;Oracle7 Distributed Database option 7.3.4.0.0<br />
<5>;Oracle7 Server (RDBMS) 7.3.4.0.0<br />
<6>;Oracle7 XA Library 7.3.4.0.0<br />
<7>;PL/SQL V2 2.3.4.0.0<br />
<8>;Pro*C 2.2.4.0.0<br />
<9>;SQL*Module for C 1.1.5.0.0<br />
<10>;SQL*NET (V2) 2.3.4.0.0<br />
<11>;SQL*Plus 3.3.4.0.0<br />
<12>;TCP/IP Protocol Adapter (V2)<br />
&#8211;>;install&#8211;>;回车</p>
<p>6.安装完成之后，su 切换回root用户，执行root.sh<br />
# cd $ORACLE_HOME/orainst<br />
# sh root.sh<br />
路经默认<br />
Y<br />

<!-- Begin alimama Adserver code -->
<script type="text/javascript"><!--
google_ad_client = "pub-8438729971248494";
/* 728x90, ������ 10-2-7 */
google_ad_slot = "4752526529";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- End Alimama Adserver code -->
<br />
7.修改cnfg.orc文件<br />
# cd #ORACLE_HOME/rdbms/install/rdbms<br />
# vi cnfg.orc<br />
设置db_block_size=4096</p>
<p>8.修改/etc/services文件，加入 oracle 监听端口。<br />
在它中加入一行：listener 1521/TCP</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanjiang.net.cn/archives/269.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ORACLE 10G DATAGUARD实战步骤</title>
		<link>http://www.evanjiang.net.cn/archives/128.html</link>
		<comments>http://www.evanjiang.net.cn/archives/128.html#comments</comments>
		<pubDate>Fri, 19 Dec 2008 13:34:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[oracle10g dataguard 实战 步骤]]></category>

		<guid isPermaLink="false">http://www.hunttech.com.cn/wpblog/?p=128</guid>
		<description><![CDATA[<p> </p>
<p class="MsoNormal" align="left">具体步骤如下：</p>
<p>一、主库操作
1、修改主库属性：
alter system force logging;
##查看状态
select FORCE_LOGGING from v$database;</p>
<p>2、修改数据库为归档模式：
archive log list;</p>
<p>shutdown immediate;
startup mount;
alter database archivelog;(alter database noarchivelog;关掉归档模式)
archive log list;</p>
<p class="MsoNormal" align="left"></p>
<p>3、添加standby logfile(也可以不加)
为主数据库添加&#8220;备用联机日志文件&#8220;，这里要保证备日志文件与主库联机日志文件相同大小。</p>
<p>    添加备用日志文件是规则：
        备用日志最少应该比redo log 多一个。推荐的备重做日志数依赖于主数据库上的线程数。
        (每线程日志文件最大数目 + 1 ) * 线程数
    alter database add standby logfile
        group 4 (&#8216;/oracle2/app/oracle/oradata/std_redo04a.log&#8217;,'/oracle2/app/oracle/oradata/std_redo04b.log&#8217;) size 50m,
        group 5 (&#8216;/oracle2/app/oracle/oradata/std_redo05a.log&#8217;,'/oracle2/app/oracle/oradata/std_redo05b.log&#8217;) size 50m,
        group [...]]]></description>
			<content:encoded><![CDATA[<p> </p>
<p class="MsoNormal" align="left"><span>具体步骤如下：</span><span lang="EN-US"></p>
<p></span><span>一、主库操作</span><span lang="EN-US"><br />
1</span><span>、修改主库属性：</span><span lang="EN-US"><br />
alter system force logging;<br />
##</span><span>查看状态</span><span lang="EN-US"><br />
select FORCE_LOGGING from v$database;</p>
<p>2</span><span>、修改数据库为归档模式：</span><span lang="EN-US"><br />
archive log list;</p>
<p>shutdown immediate;<br />
startup mount;<br />
alter database archivelog;(alter database noarchivelog;</span><span>关掉归档模式</span><span lang="EN-US">)<br />
archive log list;</span></p>
<p class="MsoNormal" align="left"><span lang="EN-US"><span id="more-128"></span></p>
<p>3</span><span>、添加</span><span lang="EN-US">standby logfile(</span><span>也可以不加</span><span lang="EN-US">)<br />
</span><span>为主数据库添加</span><span lang="EN-US">&#8220;</span><span>备用联机日志文件</span><span lang="EN-US">&#8220;</span><span>，这里要保证备日志文件与主库联机日志文件相同大小。</span><span lang="EN-US"></p>
<p>    </span><span>添加备用日志文件是规则：</span><span lang="EN-US"><br />
        </span><span>备用日志最少应该比</span><span lang="EN-US">redo log </span><span>多一个。推荐的备重做日志数依赖于主数据库上的线程数。</span><span lang="EN-US"><br />
        (</span><span>每线程日志文件最大数目</span><span lang="EN-US"> + 1 ) * </span><span>线程数</span><span lang="EN-US"><br />
    alter database add standby logfile<br />
        group 4 (&#8216;/oracle2/app/oracle/oradata/std_redo04a.log&#8217;,'/oracle2/app/oracle/oradata/std_redo04b.log&#8217;) size 50m,<br />
        group 5 (&#8216;/oracle2/app/oracle/oradata/std_redo05a.log&#8217;,'/oracle2/app/oracle/oradata/std_redo05b.log&#8217;) size 50m,<br />
        group 6 (&#8216;/oracle2/app/oracle/oradata/std_redo06a.log&#8217;,'/oracle2/app/oracle/oradata/std_redo06b.log&#8217;) size 50m,<br />
        group 7 (&#8216;/oracle2/app/oracle/oradata/std_redo07a.log&#8217;,'/oracle2/app/oracle/oradata/std_redo08b.dbf&#8217;) size 50m;</p>
<p></span><span>否则备库在应用时报如下信息：</span><span lang="EN-US"><br />
RFS[1]: No standby redo logfiles created<br />
RFS[1]: Archived Log: &#8216;/oracle2/arch/1_30_633287861.dbf&#8217;<br />

<!-- Begin alimama Adserver code -->
<script type="text/javascript"><!--
google_ad_client = "pub-8438729971248494";
/* 728x90, ������ 10-2-7 */
google_ad_slot = "4752526529";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- End Alimama Adserver code -->
<br />
</span><span>在主库添加完</span><span lang="EN-US">standby logfile</span><span>后，当主库切换后备库后会自动使用备库的</span><span lang="EN-US">redo logfile</span><span>，具体应用信息如下：</span><span lang="EN-US"><br />
RFS[1]: Successfully opened standby log 4: &#8216;/oracle2/app/oracle/oradata/10g/redo04.log&#8217;<br />
RFS[1]: Successfully opened standby log 4: &#8216;/oracle2/app/oracle/oradata/10g/redo04.log&#8217;</p>
<p>4</span><span>、修改主库参数文件：</span><span lang="EN-US"><br />
10g.__db_cache_size=1207959552<br />
10g.__java_pool_size=16777216<br />
10g.__large_pool_size=16777216<br />
10g.__shared_pool_size=352321536<br />
10g.__streams_pool_size=0<br />
*.audit_file_dest=&#8217;/oracle2/app/oracle/admin/10g/adump&#8217;<br />
*.background_dump_dest=&#8217;/oracle2/app/oracle/admin/10g/bdump&#8217;<br />
*.compatible=&#8217;10.2.0.3.0&#8242;<br />
*.control_files=&#8217;/oracle2/app/oracle/oradata/10g/control01.ctl&#8217;,'/oracle2/app/oracle/oradata/10g/control02.ctl&#8217;,'/oracle2/app/oracle/oradata/10g/control03.ctl&#8217;<br />
*.core_dump_dest=&#8217;/oracle2/app/oracle/admin/10g/cdump&#8217;<br />
*.db_block_size=8192<br />
*.db_domain=&#8221;<br />
*.db_file_multiblock_read_count=16<br />
*.db_name=&#8217;10g&#8217;<br />
*.DB_UNIQUE_NAME=&#8217;10gpri&#8217;                                                                                                                       </span><span lang="EN-US"> </span><span lang="EN-US">###</span><span>必须</span><span> </span><span>定义每个数据库的唯一标识</span><span lang="EN-US"><br />
*.log_archive_config=&#8217;DG_CONFIG=(10gpri,10gstandby)&#8217;       </span><span lang="EN-US"> </span><span lang="EN-US">###</span><span>必须</span><span lang="EN-US"><br />
*.log_archive_dest_1=&#8217;location=/oracle2/arch/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES)&#8217; DB_UNIQUE_NAME=&#8217;10gpri&#8217;        </span><span lang="EN-US"> </span><span lang="EN-US">###</span><span>必须</span><span lang="EN-US">  </span><span>本地的归档路径</span><span lang="EN-US"><br />
*.LOG_ARCHIVE_DEST_2=&#8217;SERVICE=10gstandby arch ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=10gstandby&#8217;               </span><span lang="EN-US"> </span><span lang="EN-US">###</span><span>必须</span><span lang="EN-US">(</span><span>远程服务器端的归档日志</span><span lang="EN-US">)</span><span lang="EN-US"><br />
*.LOG_ARCHIVE_DEST_STATE_1=ENABLE<br />
*.LOG_ARCHIVE_DEST_STATE_2=ENABLE<br />
*.FAL_SERVER=10gpri      </span><span lang="EN-US"> </span><span lang="EN-US">### </span><span>定义</span><span lang="EN-US">FAL</span><span>服务器的</span><span lang="EN-US">Oracle Net</span><span>服务的名称</span><span lang="EN-US">*.FAL_CLIENT=10gstandby   </span><span lang="EN-US"> </span><span lang="EN-US">### </span><span>定义备数据库的</span><span lang="EN-US">Oracle Net</span><span>服务名</span><span lang="EN-US">     </span><span>（这两个参数在主库可有可无，但备库必须有。</span><span lang="EN-US">ORACLE </span><span>老外工程师说这个必须有</span><span lang="EN-US">^_^</span><span>）</span><span lang="EN-US">   </span><span lang="EN-US"><br />
*.db_recovery_file_dest=&#8217;/oracle2/app/oracle/flash_recovery_area&#8217;<br />
*.db_recovery_file_dest_size=2147483648<br />
*.dispatchers=&#8217;(PROTOCOL=TCP) (SERVICE=10gXDB)&#8217;<br />
*.job_queue_processes=10<br />
*.open_cursors=300<br />
*.pga_aggregate_target=1707081728<br />
*.processes=150<br />
*.remote_login_passwordfile=&#8217;EXCLUSIVE&#8217;<br />
*.sga_target=1610612736<br />
*.undo_management=&#8217;AUTO&#8217;<br />
*.undo_tablespace=&#8217;UNDOTBS1&#8242;<br />
*.user_dump_dest=&#8217;/oracle2/app/oracle/admin/10g/udump&#8217;<br />
*.STANDBY_FILE_MANAGEMENT=AUTO     </span><span lang="EN-US">   ###</span><span>设置为</span><span lang="EN-US">AUTO,</span><span>使得当数据文件添加到主数据库或者从主数据库删除的时候</span><span lang="EN-US">,</span><span>对应的修改能够在备用数据库中自动执行</span><span lang="EN-US">.</span><span lang="EN-US"><br />
5</span><span>、用</span><span lang="EN-US">pfile</span><span>启动，再重新创建</span><span lang="EN-US">spfile.<br />
shutdown immediate;<br />
startup pfile=&#8217;./pfile.pra&#8217;;<br />
create spfile from pfile=&#8217;./pfile.ora&#8217;;<br />
shutdown immediate;<br />
startup;</p>
<p>6</span><span>、在主库创建密码文件、以及控制文件。</span><span lang="EN-US"><br />
orapwd file=orapw10gstandby.ora password=change_on_install entries=10<br />
alter database create standby database controlfile &#8216;/tmp/standby.ctl&#8217;;</p>
<p>7</span><span>、</span><span lang="EN-US">TNS</span><span>信息如下：</span><span lang="EN-US"><br />
</span><span>主库</span><span lang="EN-US"><br />
10g=<br />
  (DESCRIPTION =<br />
    (ADDRESS_LIST =<br />
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.169.1.204)(PORT = 1921))<br />
    )<br />
    (CONNECT_DATA =<br />
      (SID = 10g)<br />
    )<br />
  )<br />
  <br />
10gpri=<br />
  (DESCRIPTION =<br />
    (ADDRESS_LIST =<br />
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.169.1.224)(PORT = 1921))<br />
    )<br />
    (CONNECT_DATA =<br />
      (SID = 10g)<br />
    )<br />
  )  <br />
  <br />
  <br />
10gstandby =<br />
  (DESCRIPTION =<br />
    (ADDRESS_LIST =<br />
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.169.1.204)(PORT = 1921))<br />
    )<br />
    (CONNECT_DATA =<br />
      (SID = 10g)<br />
    )<br />
  )   </p>
<p>8</span><span>、对主库进行全库备份</span><span lang="EN-US"><br />
run {<br />
allocate channel t1 type disk;<br />
allocate channel t2 type disk;<br />
backup database format &#8216;/tmp/full_%s&#8217;;<br />
release channel t1;<br />
release channel t2;<br />
}</p>
<p>[</span><em><span lang="EN-US"> </span></em><em><span>本帖最后由</span></em><em><span lang="EN-US"> jeffreyli </span></em><em><span>于</span></em><em><span lang="EN-US"> 2007-10-3 15:50 </span></em><em><span>编辑</span></em><em><span lang="EN-US"> </span></em><span lang="EN-US">]</span></p>
<p><span lang="EN-US"><br />
</span><span><span>二、备库操作如下：</span></span><span lang="EN-US"><br />
<span>1</span></span><span><span>、依照主库的数据文件位置，在备库上创建相应的目录结构（最好与主库一致）；</span></span><span lang="EN-US"><br />
<span>mkdir -p /oracle/app/oracle/oradata/&#8230;.</span></p>
<p><span>2</span></span><span><span>、通过</span><span lang="EN-US">FTP</span><span>把在主库创建的密码文件、</span><span lang="EN-US">standby controlfile</span><span>、</span><span lang="EN-US">full backup database</span><span>文件到备库主机上。</span></span><span lang="EN-US"></p>
<p><span>3</span></span><span><span>、备份的参数文件内容：</span></span><span lang="EN-US"><br />
<span>10g</span><span>.__db_cache_size=1207959552</span><br />
<span>10g</span><span>.__java_pool_size=16777216</span><br />
<span>10g</span><span>.__large_pool_size=16777216</span><br />
<span>10g</span><span>.__shared_pool_size=352321536</span><br />
<span>10g</span><span>.__streams_pool_size=0</span><br />
<span>*.audit_file_dest=&#8217;/oracle2/app/oracle/admin/10g/adump&#8217;</span><br />
<span>*.background_dump_dest=&#8217;/oracle2/app/oracle/admin/10g/bdump&#8217;</span><br />
<span>*.compatible=&#8217;10.2.0.3.0&#8242;</span><br />
<span>*.control_files=&#8217;/oracle2/app/oracle/oradata/10g/control01.ctl&#8217;,'/oracle2/app/oracle/oradata/10g/control02.ctl&#8217;,'/oracle2/app/oracle/oradata/10g/control03.ctl&#8217;</span><br />
<span>*.core_dump_dest=&#8217;/oracle2/app/oracle/admin/10g/cdump&#8217;</span><br />
<span>*.db_block_size=8192</span><br />
<span>*.db_domain=&#8221;</span><br />
<span>*.db_file_multiblock_read_count=16</span><br />
<span>*.db_name=&#8217;10g&#8217;</span><br />
</span><span><span lang="EN-US">*.DB_UNIQUE_NAME=&#8217;10gstandby&#8217;                                                                                                                                                ##</span></span><span lang="EN-US"><br />
<span>*.log_archive_config=&#8217;DG_CONFIG=(10gpri,10gstandby)&#8217;                                                ##</span></span><span lang="EN-US"><br />
</span><span><span lang="EN-US">*.log_archive_dest_1=&#8217;location=/oracle2/arch/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES)&#8217; DB_UNIQUE_NAME=&#8217;10gstandby&#8217;    ##</span></span><span lang="EN-US"><br />
<span>*.LOG_ARCHIVE_DEST_2=&#8217;SERVICE=10gpri arch ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=10gpri&#8217;  ##</span></span><span lang="EN-US"><br />
<span>*.LOG_ARCHIVE_DEST_STATE_1=ENABLE</span><br />
<span>*.LOG_ARCHIVE_DEST_STATE_2=ENABLE</span><br />
</span><span><span lang="EN-US">*.FAL_SERVER=10gstandby                                ##</span></span><span lang="EN-US"><br />
<span>*.FAL_CLIENT=10gpri                                                ##</span></span><span><span lang="EN-US">*.db_recovery_file_dest=&#8217;/oracle2/app/oracle/flash_recovery_area&#8217;</span></span><span lang="EN-US"><br />
<span>*.db_recovery_file_dest_size=2147483648</span><br />
<span>*.dispatchers=&#8217;(PROTOCOL=TCP) (SERVICE=10gXDB)&#8217;</span><br />
<span>*.job_queue_processes=10</span><br />
<span>*.open_cursors=300</span><br />
<span>*.pga_aggregate_target=1707081728</span><br />
<span>*.processes=150</span><br />
<span>*.remote_login_passwordfile=&#8217;EXCLUSIVE&#8217;</span><br />
<span>*.sga_target=1610612736</span><br />
<span>*.undo_management=&#8217;AUTO&#8217;</span><br />
<span>*.undo_tablespace=&#8217;UNDOTBS1&#8242;</span><br />
<span>*.user_dump_dest=&#8217;/oracle2/app/oracle/admin/10g/udump&#8217;</span><br />
<span>*.STANDBY_FILE_MANAGEMENT=AUTO                ##</span></p>
<p><span>4</span></span><span><span>、分别对备库进行全库恢复，并启动到</span><span lang="EN-US">standby database mount</span><span>状态下。</span></span><span lang="EN-US"><br />
</span><span><span>用</span><span lang="EN-US">PFILE</span><span>文件起动到</span><span lang="EN-US">nomount</span><span>状态下，恢复控制文件</span><span lang="EN-US">;</span><span>起动到</span><span lang="EN-US">mount</span><span>状态下，然后再恢复全库。</span></span><span lang="EN-US"></p>
<p><span>5</span></span><span><span>、</span><span lang="EN-US">TNS</span><span>信息如下：</span></span><span lang="EN-US"><br />
<span>10g</span><span>=</span><br />
<span>  (DESCRIPTION =</span><br />
<span>    (ADDRESS_LIST =</span><br />
<span>      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.169.1.204)(PORT = 1921))</span><br />
<span>    )</span><br />
<span>    (CONNECT_DATA =</span><br />
<span>      (SID = 10g)</span><br />
<span>    )</span><br />
<span>  )</span><br />

<!-- Begin alimama Adserver code -->
<script type="text/javascript"><!--
google_ad_client = "pub-8438729971248494";
/* 728x90, ������ 10-2-7 */
google_ad_slot = "4752526529";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- End Alimama Adserver code -->
<br />
<span>10gpri=</span><br />
<span>  (DESCRIPTION =</span><br />
<span>    (ADDRESS_LIST =</span><br />
<span>      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.169.1.224)(PORT = 1921))</span><br />
<span>    )</span><br />
<span>    (CONNECT_DATA =</span><br />
<span>      (SID = 10g)</span><br />
<span>    )</span><br />
<span>  )  </span><br />
<span>  </span><br />
<span>  </span><br />
<span>10gstandby =</span><br />
<span>  (DESCRIPTION =</span><br />
<span>    (ADDRESS_LIST =</span><br />
<span>      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.169.1.204)(PORT = 1921))</span><br />
<span>    )</span><br />
<span>    (CONNECT_DATA =</span><br />
<span>      (SID = 10g)</span><br />
<span>    )</span><br />
<span>  )   </span></p>
<p></span><span><span>用</span><span lang="EN-US">TNSPING </span><span>对方是否通。</span></span><span lang="EN-US"><br />
<span>6</span></span><span><span>、修改备库处于应用归档状态</span></span><span lang="EN-US"><br />
<span>alter database recover managed standby database disconnect from session;  </span></p>
<p></span><span><span>如果主库从不过来归档，可以通过在主库侧手工修改参数如下：</span></span><span lang="EN-US"><br />
<span>ALTER SYSTEM SET log_archive_dest_state_2=&#8217;DEFER&#8217; SCOPE=MEMORY;</span><br />
<span>ALTER SYSTEM SET log_archive_dest_state_2=&#8217;ENABLE&#8217; SCOPE=MEMORY;</span></p>
<p><span>7</span></span><span><span>、测试</span></span><span lang="EN-US"><br />
</span><span><span>通过在主库执行</span><span lang="EN-US">alter system switch logfile;</span><span>切换日志可以观察到备库会自动应用通过主库传过来的日志。</span></span><span lang="EN-US"></p>
<p></span><span><span>三、切换测试</span></span><span lang="EN-US"><br />
<span>1</span></span><span><span>、在主库端</span></span><span lang="EN-US"><br />
<span>select switchover_stats from v$database;</span><br />
</span><span><span>如果是</span><span lang="EN-US">to standby  </span><span>表可以正常切换</span><span lang="EN-US">.</span></span><span lang="EN-US"><br />
</span><span><span>直接执行</span><span lang="EN-US"> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY;</span></span><span lang="EN-US"><br />
</span><span><span>否则执行</span><span lang="EN-US">: ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN;</span></span><span lang="EN-US"></p>
<p><span>shutdown immediate;</span><br />
<span>startup nomount;</span><br />
<span>alter database mount standby database;</span></p>
<p><span>2</span></span><span><span>、在备库</span></span><span lang="EN-US"></p>
<p></span><span><span>在备库</span></span><span lang="EN-US"><br />
<span>SELECT SWITCHOVER_STATUS FROM V$DATABASE;</span><span> </span><br />
</span><span><span>如果是</span><span lang="EN-US">to_primary  </span><span>表可以正常切换</span><span lang="EN-US">.</span></span><span lang="EN-US"><br />
</span><span><span>执行</span><span lang="EN-US">:ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;</span></span><span lang="EN-US"><br />
</span><span><span>否则执行</span><span lang="EN-US">: ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;</span></span><span lang="EN-US"></p>
<p><span>shutdown immediate;</span><br />
<span>startup;</span></p>
<p></span><span><span>然后观察主备库日志</span><span lang="EN-US">,</span><span>如果正常的话会看到备库会自动应用日志</span><span lang="EN-US">.</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanjiang.net.cn/archives/128.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle数据库的备份方法</title>
		<link>http://www.evanjiang.net.cn/archives/32.html</link>
		<comments>http://www.evanjiang.net.cn/archives/32.html#comments</comments>
		<pubDate>Fri, 12 Dec 2008 07:34:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[oracle 数据库 备份]]></category>

		<guid isPermaLink="false">http://www.hunttech.com.cn/wpblog/?p=32</guid>
		<description><![CDATA[<p>1、引言 </p>
<p>Oracle数据库的备份方法很多，无论使用那种备份方法，备份的目的都是为了在出现故障后能够以尽可能小的时间和代价恢复系统。比如使用export实用程序导出数据库对象、使用Oracle备份数据库、使用Oracle对称复制、使用Oracle并行服务器、使用Oracle冷备份、使用Oracle热备份等各种备份方法都有其优缺点、适用的场合和相应的软硬件要求。本文主要就用export实用程序导出数据库对象、Oracle冷备份、Oracle热备份这三种最基本的备份方法进行详细的探讨，分析各自的优缺点和适用的场合，并给出自动执行这些备份方案的脚本文件。 </p>
<p>2、三种备份方案的比较
　 </p>
<p>冷备份 </p>
<p>冷备份是Oracle最简单的一种备份；执行冷备份前必须关闭数据库；然后使用操作系统实用工具或者第三方工具备份所有相关的数据库文件。 </p>
<p>优点:能简单快速地备份。能简单快速地恢复。执行简单。
缺点:必须关闭数据库，不能进行点恢复。 </p>
<p>热备份
热备份是当数据库正在运行时进行数据备份的过程。执行热备份的前提是：数据库运行在可归档日志模式。适用于24X7不间断运行的关键应用系统。
</p>
<p>优点:备份时数据库可以是打开的。热备份可以用来进行点恢复。初始化参数文件、归档日志在数据库正常运行时是关闭的，可用操作系统命令拷贝。
缺点:执行过程复杂。由于数据库不间断运行，测试比较困难。不能用操作系统实用工具拷贝打开的文件。必须使用Oracle提供的ocopy工具来拷贝打开的文件。热备份可能造成CPU、I/O过载，应在数据库不太忙时进行。 </p>
<p>Export导出数据库对象
冷备份和热备份都备份物理数据库文件，因而被称为物理备份。而export备份的是数据库对象，因此被称为逻辑备份。 </p>
<p>优点:能执行对象或者行恢复。备份和恢复速度更快。能够跨操作系统平台迁移数据库。数据库可一直运行。
缺点:export并不是冷备份和热备份的替代工具。冷、热备份可保护介质失效。export备份可保护用户或应用错误。 </p>
<p>3、冷备份方案的实施 </p>
<p>3.1 冷备份数据库的步骤
（1）关闭数据库；
（2）备份所有相关的数据库文件：初始化参数文件、控制文件（可用select name from v$controlfile;列出所有 </p>
<p>控制文件）、数据文件（可用select name from v$datafile;列出所有数据文件）、Redo日志（可用select member from v$logfile;列出所有redo日志文件）、归档的Redo日志（可用select sequence#,first_time from v$loghist;列出所有归档redo日志文件的顺序号和产生时间）。







　 </p>
<p>3.2 冷备份数据库的脚本文件coldbackup.bat
　 </p>
<p>4、热备份方案的实施 </p>
<p>4.1 热备份数据库的前提条件：数据库运行在归档模式
Oracle数据库的redo日志记录在数据库上进行的所有活动。LGWR后台进程以一种循环方式写这些日志文件，从第一个redo日志到下一个，直到该组的最后一个，然后由从第一个日志写起。
在非归档模式下，当循环写到最后一个日志文件后，就重写第一个日志。因此，非归档模式下唯一的数据库恢复办法就是使用冷备份。
在归档模式下，当redo日志满时，一个ARCH后台进程就读取全部redo日志，然后将其写到归档日志。因此，可以使用热备份和点恢复。在归档日志模式下，如果归档日志目的空间已满，数据库活动将暂时停止，只有释放一些空间后，数据库才能继续运行。通常，background_dump_destination将产生一个跟踪文件来显示归档方面的问题。
Oracle数据库安装默认运行在非归档模式，通过以下步骤可以从非归档模式转换为归档模式：
（1）编辑参数文件init.ora，设置以下参数
# 设置数据库自动归档
log_archive_start = true
# 设置归档日志文件的目录，该目录必须事先已建立，并有大量可利用的空间
log_archive_dest_1=&#8221;location=%oracle_base%\ oradata\%oracle_sid%\archive&#8221;
# 设置归档日志文件名的格式。%s表示顺序号，%t表示线程号。
log_archive_format = &#8220;%oracle_sid%%T%S.ARC&#8221;
（2）在sqlplus上运行以下命令
sqlplus>;connect sys/qazwsx as sysdba
sqlplus>;shutdown immediate;
sqlplus>;startup mount exclusive;
sqlplus>;alter database archivelog;
sqlplus>;alter database open;
sqlplus>;shutdown immediate;
（3）执行数据库冷备份
当数据库运行在归档模式下，数据库恢复过程要求使用冷备份时，归档日志是必需的。
（4）正常启动数据库，并确认数据库运行在归档模式
sqlplus >; startup;
sqlplus >; select * from [...]]]></description>
			<content:encoded><![CDATA[<p>1、引言 </p>
<p>Oracle数据库的备份方法很多，无论使用那种备份方法，备份的目的都是为了在出现故障后能够以尽可能小的时间和代价恢复系统。比如使用export实用程序导出数据库对象、使用Oracle备份数据库、使用Oracle对称复制、使用Oracle并行服务器、使用Oracle冷备份、使用Oracle热备份等各种备份方法都有其优缺点、适用的场合和相应的软硬件要求。本文主要就用export实用程序导出数据库对象、Oracle冷备份、Oracle热备份这三种最基本的备份方法进行详细的探讨，分析各自的优缺点和适用的场合，并给出自动执行这些备份方案的脚本文件。 </p>
<p>2、三种备份方案的比较<br />
　 </p>
<p>冷备份 </p>
<p>冷备份是Oracle最简单的一种备份；执行冷备份前必须关闭数据库；然后使用操作系统实用工具或者第三方工具备份所有相关的数据库文件。 </p>
<p>优点:能简单快速地备份。能简单快速地恢复。执行简单。<br />
缺点:必须关闭数据库，不能进行点恢复。 </p>
<p>热备份<br />
热备份是当数据库正在运行时进行数据备份的过程。执行热备份的前提是：数据库运行在可归档日志模式。适用于24X7不间断运行的关键应用系统。<br />
<span id="more-32"></span></p>
<p>优点:备份时数据库可以是打开的。热备份可以用来进行点恢复。初始化参数文件、归档日志在数据库正常运行时是关闭的，可用操作系统命令拷贝。<br />
缺点:执行过程复杂。由于数据库不间断运行，测试比较困难。不能用操作系统实用工具拷贝打开的文件。必须使用Oracle提供的ocopy工具来拷贝打开的文件。热备份可能造成CPU、I/O过载，应在数据库不太忙时进行。 </p>
<p>Export导出数据库对象<br />
冷备份和热备份都备份物理数据库文件，因而被称为物理备份。而export备份的是数据库对象，因此被称为逻辑备份。 </p>
<p>优点:能执行对象或者行恢复。备份和恢复速度更快。能够跨操作系统平台迁移数据库。数据库可一直运行。<br />
缺点:export并不是冷备份和热备份的替代工具。冷、热备份可保护介质失效。export备份可保护用户或应用错误。 </p>
<p>3、冷备份方案的实施 </p>
<p>3.1 冷备份数据库的步骤<br />
（1）关闭数据库；<br />
（2）备份所有相关的数据库文件：初始化参数文件、控制文件（可用select name from v$controlfile;列出所有 </p>
<p>控制文件）、数据文件（可用select name from v$datafile;列出所有数据文件）、Redo日志（可用select member from v$logfile;列出所有redo日志文件）、归档的Redo日志（可用select sequence#,first_time from v$loghist;列出所有归档redo日志文件的顺序号和产生时间）。<br />

<!-- Begin alimama Adserver code -->
<script type="text/javascript"><!--
google_ad_client = "pub-8438729971248494";
/* 728x90, ������ 10-2-7 */
google_ad_slot = "4752526529";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- End Alimama Adserver code -->
　 </p>
<p>3.2 冷备份数据库的脚本文件coldbackup.bat<br />
　 </p>
<p>4、热备份方案的实施 </p>
<p>4.1 热备份数据库的前提条件：数据库运行在归档模式<br />
Oracle数据库的redo日志记录在数据库上进行的所有活动。LGWR后台进程以一种循环方式写这些日志文件，从第一个redo日志到下一个，直到该组的最后一个，然后由从第一个日志写起。<br />
在非归档模式下，当循环写到最后一个日志文件后，就重写第一个日志。因此，非归档模式下唯一的数据库恢复办法就是使用冷备份。<br />
在归档模式下，当redo日志满时，一个ARCH后台进程就读取全部redo日志，然后将其写到归档日志。因此，可以使用热备份和点恢复。在归档日志模式下，如果归档日志目的空间已满，数据库活动将暂时停止，只有释放一些空间后，数据库才能继续运行。通常，background_dump_destination将产生一个跟踪文件来显示归档方面的问题。<br />
Oracle数据库安装默认运行在非归档模式，通过以下步骤可以从非归档模式转换为归档模式：<br />
（1）编辑参数文件init.ora，设置以下参数<br />
# 设置数据库自动归档<br />
log_archive_start = true<br />
# 设置归档日志文件的目录，该目录必须事先已建立，并有大量可利用的空间<br />
log_archive_dest_1=&#8221;location=%oracle_base%\ oradata\%oracle_sid%\archive&#8221;<br />
# 设置归档日志文件名的格式。%s表示顺序号，%t表示线程号。<br />
log_archive_format = &#8220;%oracle_sid%%T%S.ARC&#8221;<br />
（2）在sqlplus上运行以下命令<br />
sqlplus>;connect sys/qazwsx as sysdba<br />
sqlplus>;shutdown immediate;<br />
sqlplus>;startup mount exclusive;<br />
sqlplus>;alter database archivelog;<br />
sqlplus>;alter database open;<br />
sqlplus>;shutdown immediate;<br />
（3）执行数据库冷备份<br />
当数据库运行在归档模式下，数据库恢复过程要求使用冷备份时，归档日志是必需的。<br />
（4）正常启动数据库，并确认数据库运行在归档模式<br />
sqlplus >; startup;<br />
sqlplus >; select * from v$database; 其log_mode会显示数据库是否归档模式<br />
sqlplus >; archive log list; 也会显示数据库是否归档模式<br />
如果Oracle数据库运行在归档模式，当进行数据库维护时，可能需要暂停数据库的归档，在完成维护后，再重新启动归档模式。通过以下步骤可以从归档模式转换为非归档模式：<br />
sqlplus>;connect sys/qazwsx as sysdba<br />
sqlplus>;shutdown immediate;<br />
sqlplus>;startup mount exclusive;<br />
sqlplus>;alter database noarchivelog;<br />
sqlplus>;alter database open;<br />
sqlplus >; select * from v$database; 其log_mode会显示数据库是否归档模式<br />
sqlplus >; archive log list; 也会显示数据库是否归档模式<br />
4.2 热备份数据库的步骤<br />
（1）拷贝init.ora文件到备份目录（参数文件在数据库启动后处于关闭状态）。<br />
（2）将需要备份的某个表空间置于开始备份模式。<br />
（3）使用ocopy.exe拷贝表空间，然后将该表空间置于结束备份模式中（ocopy.exe不能用于直接拷贝联机的数据库文件）。<br />
（4）对数据库中的每个表空间执行步骤2和3（可以通过视图dba_tablespaces和v$datafile查看数据库中有哪些表空间和数据文件）。<br />
（5）通过在sqlplus上执行archive log list命令获取当前的日志顺序号，从oldest online log sequence开始到current log sequence的联机redo日志应该是热备份的一部分。<br />
（6）在sqlplus上执行alter system switch logfile;命令来强迫日志切换，以便所有的日志都被归档。<br />
（7）使用alter database backup controlfile to trace;命令获得控制文件的一个备份，可以到%oracle_base%\admin\%oracle_sid%\udump目录中寻找最新的跟踪文件，其中有重建控制文件的全部命令。<br />
（8）使用windows nt的命令从%log_archive_dest%中拷贝归档的日志文件到备份目录。<br />
4.3 热备份数据库的脚本文件hotbackup.bat<br />
　 </p>
<p>5、使用export作为备份策略 </p>
<p>5.1 export的命令选项说明<br />
Oracle数据库的exp工具提供tables、users、full database、tablespace四种级别的导出方式，把指定的数据库内容导出到一个或者多个oracle二进制文件中，该文件只允许用imp工具来读取，imp的命令选项可用imp help=y来查阅。<br />
您可以通过输入 EXP 命令以及各种自变量来控制“导出”的运行方式。要指定参数，您可以使用关键字：<br />
格式：EXP KEYWORD=value 或 KEYWORD=(value1,value2,&#8230;,valueN)<br />
实例：EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)<br />
或 TABLES=(T1 1,T1 2)，如果 T1 是分区表<br />
USERID 必须是命令行中的第一个参数。 </p>
<p>下列关键字仅用于可传输的表空间<br />
TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)<br />
TABLESPACES 将传输的表空间列表<br />
5.2 export备份数据库的脚本文件expbackup.bat </p>
<p>6、各种备份策略的自动执行方法 </p>
<p>
<!-- Begin alimama Adserver code -->
<script type="text/javascript"><!--
google_ad_client = "pub-8438729971248494";
/* 728x90, ������ 10-2-7 */
google_ad_slot = "4752526529";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- End Alimama Adserver code -->
<br />
不管是冷备份、热备份，还是export备份；不管是unix平台，还是windows平台，都可以利用at命令来定时、自动执行上述备份策略。AT 命令安排在特定日期和时间运行命令和程序，在windows nt平台上必须首先运行调度服务（schedule），才能使用at命令。<br />
AT命令用法如下：<br />
AT [\\computername] [ [id] [/DELETE] | /DELETE [/YES]]<br />
AT [\\computername] time [/INTERACTIVE]<br />
[ /EVERY:date[,...] | /NEXT:date[,...]] &#8220;command&#8221;<br />
\\computername 指定远程计算机。 如果省略这个参数，会计划在本地计算机上运行命令。<br />
id 指定给已计划命令的识别号。<br />
/delete 删除某个已计划的命令。如果省略 id，计算机上所有已计划的命令都会被删除。<br />
/yes 不需要进一步确认时，跟删除所有作业的命令一起使用。<br />
time 指定运行命令的时间。<br />
/interactive 允许作业在运行时，与当时登录的用户桌面进行交互。<br />
/every:date[,...] 每个月或每个星期在指定的日期运行命令。如果省略日期，则默认为在每月的本日运行。<br />
/next:date[,...] 指定在下一个指定日期(如下周四)运行命令。如果省略日期，则默认为在每月的本日运行。<br />
&#8220;command&#8221; 准备运行的 Windows NT 命令或批处理程序。<br />
举例如下：<br />
(1) 每周五19:00执行冷备份<br />
at 19:00 /every:F &#8220;coldbak.cmd&#8221;<br />
(2) 每周二20:00执行热备份<br />
at 20:00 /every:T &#8220;coldbak.cmd&#8221;<br />
(3) 每周一、二、三、四、五21:00执行export备份<br />
at 20:00 /every:M,T,W,Th,F &#8220;expbak.cmd&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanjiang.net.cn/archives/32.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
