<?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>ZyHui &#187; oracle</title>
	<atom:link href="http://blog.onecheng.com/archives/tag/oracle/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.onecheng.com</link>
	<description>技术不是问题，关键是做人要厚道！</description>
	<lastBuildDate>Thu, 20 May 2010 05:30:54 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>关于Oracle许可方面的介绍</title>
		<link>http://blog.onecheng.com/archives/330</link>
		<comments>http://blog.onecheng.com/archives/330#comments</comments>
		<pubDate>Mon, 07 Apr 2008 05:47:59 +0000</pubDate>
		<dc:creator>zyhui</dc:creator>
				<category><![CDATA[数据库]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[许可]]></category>

		<guid isPermaLink="false">http://blog.onecheng.com/archives/330</guid>
		<description><![CDATA[<p>一、 正版Oracle 产品和盗版的区别 </p>
<p>直奔主题，这是许多研发不注意的地方。对于商用（就是你不是在家里，自己玩），严格来说，就是一张许可证纸的区别。</p>
<p>不管是什么时候，下载的版本都可以建立数据库并正常开发，但是如果用于商业，就属于违法行为，后果我不必说了。至于昂贵的价格，其实很大部分是维护费用，另外下载版是不可以打补丁的（并不是说打不上，而是你没有账号去下载，另外任何对下载免费版打补丁的行为都是非法的），而正式版有产品服务码，可用于在线服务、升级等，另外根据你购买不同可以提供不同的上门服务。   至于各个版本的价格，的确是不同的，你可以向代理咨询，据我所知应该是win版本最便宜，不过也最不稳定:(</p>
<p>二、 能否说说个人版、标准版1、标准版、企业版各自的特点和区别？</p>
<p></p>
<p>简单地说</p>
<p>1. 标准版1（Standard Edition One）适用于1-2CPU的服务器，价格有相当的优势，但仅限单机环境，适用于中小型用户入门级应用；</p>
<p>2. 标准版（Standard Edition）适用于1-4CPU的服务器，包括4CPU单服务器或2台双CPU服务器等配置，可以做双机热备或RAC，价格适中，适用于对数据库性能及安全性有进一步要求的大中型用户工作组级及部门级应用；</p>
<p>3. 企业版（Enterprise Edition）适用于单机、双机、多CPU多节点集群等各种环境，功能齐全，但费用也比较高，适用于对数据库性能及可靠性有相当高要求的大型、超大型用户企业级、高端企业级应用。功能模块上的比较请参考《Oracle数据库白皮书》。</p>
<p>三、 Oracle的订购方式？</p>
<p>有按用户数订购和按CPU订购两种方式，其中按CPU订购也即所谓无限用户版。</p>
<p>四、 Oracle用户数的官方定义？</p>
<p>每一个访问Oracle数据库的用户，无论是自然人还是设备，都算作一个用户(Named User)。</p>
<p>英文官方定义：Named User Plus: is defined as an individual authorized by you to use the programs which are installed on a single server or multiple servers, regardless of whether the individual is actively using the programs at any given [...]]]></description>
			<content:encoded><![CDATA[<p><b>一、 </b><b>正版Oracle 产品和盗版的区别 </b></p>
<p>直奔主题，这是许多研发不注意的地方。对于商用（就是你不是在家里，自己玩），严格来说，就是一张许可证纸的区别。</p>
<p>不管是什么时候，下载的版本都可以建立数据库并正常开发，但是如果用于商业，就属于违法行为，后果我不必说了。至于昂贵的价格，其实很大部分是维护费用，另外下载版是不可以打补丁的（并不是说打不上，而是你没有账号去下载，另外任何对下载免费版打补丁的行为都是非法的），而正式版有产品服务码，可用于在线服务、升级等，另外根据你购买不同可以提供不同的上门服务。   <br />至于各个版本的价格，的确是不同的，你可以向代理咨询，据我所知应该是win版本最便宜，不过也最不稳定:(</p>
<p><b>二、 </b><b>能否说说个人版、标准版1、标准版、企业版各自的特点和区别？</b></p>
<p><span id="more-330"></span></p>
<p>简单地说</p>
<p>1. 标准版1（Standard Edition One）适用于1-2CPU的服务器，价格有相当的优势，但仅限单机环境，适用于中小型用户入门级应用；</p>
<p>2. 标准版（Standard Edition）适用于1-4CPU的服务器，包括4CPU单服务器或2台双CPU服务器等配置，可以做双机热备或RAC，价格适中，适用于对数据库性能及安全性有进一步要求的大中型用户工作组级及部门级应用；</p>
<p>3. 企业版（Enterprise Edition）适用于单机、双机、多CPU多节点集群等各种环境，功能齐全，但费用也比较高，适用于对数据库性能及可靠性有相当高要求的大型、超大型用户企业级、高端企业级应用。功能模块上的比较请参考《Oracle数据库白皮书》。</p>
<p><b>三、 </b><b>Oracle</b><b>的订购方式？</b></p>
<p>有按用户数订购和按CPU订购两种方式，其中按CPU订购也即所谓无限用户版。</p>
<p><b>四、 </b><b>Oracle</b><b>用户数的官方定义？</b></p>
<p>每一个访问Oracle数据库的用户，无论是自然人还是设备，都算作一个用户(Named User)。</p>
<p>英文官方定义：Named User Plus: is defined as an individual authorized by you to use the programs which are installed on a single server or multiple servers, regardless of whether the individual is actively using the programs at any given time. A non human operated device will be counted.</p>
<p><b>五、 </b><b>Oracle</b><b>的用户数是怎么算的呢？</b></p>
<p>Oracle官方要求的各类版本的最低用户数为：   <br />个人版本：1user*PC数    <br />标准版1=服务器的CPU数*5    <br />标准版=服务器的CPU数*10user    <br />企业版=服务器的CPU数*25user；    <br />用户应该根据自己的实际用户数订购，且不少于相应版本所要求的最低用户数。</p>
<p><b>六、 </b><b>请举例说明？</b></p>
<p>例如，若用户的应用是基于Internet，Oracle作为网站后台数据库，根据Oracle对用户数的官方定义，每一个通过Internet访问网站（数据库）的都算作1个用户，这样用户数很多，而且无法预估，所以应按照CPU数订购。</p>
<p><b>七、 </b><b>是否Internet或B/S架构的应用就必须要按照CPU订购？</b></p>
<p>不一定，如果访问Oracle数据库的用户数可以预估，且用户数不多（&lt;服务器CPU数*50），也可以按照用户数订购。</p>
<p><b>八、 </b><b>是否可以提供试用版？试用期限是多长？</b></p>
<p>达成订购意向后，可以提供试用版供免费试用、评估，试用期为一个月。试用期到后若不订购，用户必须从系统中卸载、删除所安装的Oracle试用版软件。</p>
<p><b>九、 </b><b>Oracle DBMS</b><b>的 最大并发用户数。</b></p>
<p>说白了就是8车道的马路， 不管有多少车，只能8辆车并排走。不管你有多少个要访问数据库的连接请求， 超出了最大并发数，就连不上去了。</p>
<p>一般版本的Oracle最多支持150个用户，即最大并发数150。 通常是不会被用完的， 除非你的系统访问负荷特别大。</p>
<p>购买时的根据CPU主频算用户数， 是Oracle为了挣钱对你的用户数进行的强行要求。免得你偷税漏税。</p>
<p><b>十、 </b><b>总结：</b></p>
<p>一般来讲，oracle这里指的是连接到DBMS的，而不是DB的，不管你DB有多少个，而你的DBMS只能有一个，所以实际上就是指的的你网络上允许多少人同时访问你的DBMS。 其实一般卖软件的都不会这么较真，象国外的软件在国内卖一般都是买一般的许可就行了，例如你估计你可能最多会有20个并发访问数，你买10个一般软件商都会答应的，而且这些软件在程序内部都没有做任何限制，仅仅只是法律上的问题。</p>
<p>你买的用户数的比较少，或者只买标准版，只会影响你购买可选件，比如你象要买RAC，ORACLE就限制你必须购买50个用户以上才有选购RAC的权利，否则他不会卖。</p>
<p>研发使用Oracle 10g DBMS ，商用是要买 license 的，好像现在大家都在高端用oracle 作研发。</p>
<p>其实真正适用Oracle的场合不多。 建议大家研发时考虑： 嵌入数据库：&#160;&#160; Deby ， sqlite ,Firebird。。。。。。 生产系统上部署用Mysql ，mysql 现在已经很好（商用环境应该是 Free ,但并不是不花钱，欢迎大家支持开源事业！！）</p>
<p><b>十一、 </b><b>题外话： </b></p>
<p>看到了吧！ ，如果google 起家用 Windows 和 Oracle 就没戏了。 提供对公众网上服务的买的操作系统和数据库，都要按照CPU服务器买无限制用户数的许可证，这可是一大笔起步资金。 还好，OpenSource 和 copyleft 的Free 浪潮成就了 gooooooooooooooogle. 那帮通晓IT的Geek极客们，既然知道googol 级（10的100次方）的质数，自然不屑用这些，他们DIY了所有的服务器（省钱，高性能），DIY 了 Linux 和 Mysql， 又 DIY 了开源的Clustering 集群系统。 不过他们的英语不咋的，竟然在申请域名时把 googol 错拼成了 google， 不过这个错误确实错的好！！ </p>
<p>还好，什么是极客： Geek / U ＝＝ U / Grammy (if Grammy surfing Internet)</p>
<p>OK ,如果你还不知道极客 与 你的差距。 如果 从[a-z] 中能 熟练用过 至少 5 种程序设计语言，如果学习，必须每星期掌握一种程序设计语言。并且每年至少写100000 LOC。当然，有些Java 极客有时会觉得 sun JVM 很丑陋，通常他们会照着 JVM 规范，用一个星期，用某个平台的asm 重写一个自己用。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.onecheng.com/archives/330/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>oracle10g新特性：闪回恢复区(Flash recovery area)</title>
		<link>http://blog.onecheng.com/archives/328</link>
		<comments>http://blog.onecheng.com/archives/328#comments</comments>
		<pubDate>Fri, 28 Mar 2008 03:07:08 +0000</pubDate>
		<dc:creator>zyhui</dc:creator>
				<category><![CDATA[数据库]]></category>
		<category><![CDATA[Flash recovery area]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[闪回恢复区]]></category>

		<guid isPermaLink="false">http://blog.onecheng.com/archives/328</guid>
		<description><![CDATA[<p>Oracle9i开始提供闪回查询，以便能在需要的时候查到过去某个时刻的一致性数据，这是通过Undo实现的。这个功能有很大的限制，就是相关事务的undo不能被覆盖，否则就无力回天了。oracle10g大大的增强了闪回查询的功能，并且提供了将整个数据库回退到过去某个时刻的能力，这是通过引入一种新的flashback log实现的。flashback log有点类似redo log，只不过redo log将数据库往前滚，flashback log则将数据库往后滚。为了保存管理和备份恢复相关的文件，oracle10g提供了一个叫做闪回恢复区(Flashback recovery area)的新特性，可以将所有恢复相关的文件，比如flashback log,archive log,backup set等，放到这个区域集中管理。</p>
<p></p>
<p>环境
<p>SQL&#62; select * from v$version;
<p>BANNER&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 &#8211; ProdPL/SQL Release 10.2.0.1.0 &#8211; ProductionCORE 10.2.0.1.0 ProductionTNS for 32-bit Windows: Version 10.2.0.1.0 &#8211; ProductionNLSRTL Version 10.2.0.1.0 &#8211; Production
<p>1.设置闪回恢复区
<p>闪回恢复区主要通过3个初始化参数来设置和管理

db_recovery_file_dest：指定闪回恢复区的位置
db_recovery_file_dest_size：指定闪回恢复区的可用空间大小
db_flashback_retention_target：指定数据库可以回退的时间，单位为分钟，默认1440分钟，也就是一天。当然，实际上可回退的时间还决定于闪回恢复区的大小，因为里面保存了回退所需要的flash log。所以这个参数要和db_recovery_file_dest_size配合修改。

<p>2.启动flashback database
<p>设置了闪回恢复区后，可以启动闪回数据库功能。
<p>首先，数据库必须已经处于归档模式
<p>SQL&#62; archive log list数据库日志模式 存档模式自动存档 启用存档终点 USE_DB_RECOVERY_FILE_DEST最早的联机日志序列 245下一个存档日志序列 247当前日志序列 247
<p>然后，启动数据库到mount状态SQL&#62; shutdown immediate;数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。
<p>SQL&#62; startup [...]]]></description>
			<content:encoded><![CDATA[<p>Oracle9i开始提供闪回查询，以便能在需要的时候查到过去某个时刻的一致性数据，这是通过Undo实现的。这个功能有很大的限制，就是相关事务的undo不能被覆盖，否则就无力回天了。oracle10g大大的增强了闪回查询的功能，并且提供了将整个数据库回退到过去某个时刻的能力，这是通过引入一种新的flashback log实现的。flashback log有点类似redo log，只不过redo log将数据库往前滚，flashback log则将数据库往后滚。为了保存管理和备份恢复相关的文件，oracle10g提供了一个叫做闪回恢复区(Flashback recovery area)的新特性，可以将所有恢复相关的文件，比如flashback log,archive log,backup set等，放到这个区域集中管理。</p>
<p><span id="more-328"></span></p>
<p><strong>环境</strong>
<p>SQL&gt; select * from v$version;
<p>BANNER<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 &#8211; Prod<br />PL/SQL Release 10.2.0.1.0 &#8211; Production<br />CORE 10.2.0.1.0 Production<br />TNS for 32-bit Windows: Version 10.2.0.1.0 &#8211; Production<br />NLSRTL Version 10.2.0.1.0 &#8211; Production
<p><strong>1.设置闪回恢复区</strong>
<p>闪回恢复区主要通过3个初始化参数来设置和管理
<ul>
<li>db_recovery_file_dest：指定闪回恢复区的位置
<li>db_recovery_file_dest_size：指定闪回恢复区的可用空间大小
<li>db_flashback_retention_target：指定数据库可以回退的时间，单位为分钟，默认1440分钟，也就是一天。当然，实际上可回退的时间还决定于闪回恢复区的大小，因为里面保存了回退所需要的flash log。所以这个参数要和db_recovery_file_dest_size配合修改。</li>
</ul>
<p><strong>2.启动flashback database</strong>
<p>设置了闪回恢复区后，可以启动闪回数据库功能。
<p>首先，数据库必须已经处于归档模式
<p>SQL&gt; archive log list<br />数据库日志模式 存档模式<br />自动存档 启用<br />存档终点 USE_DB_RECOVERY_FILE_DEST<br />最早的联机日志序列 245<br />下一个存档日志序列 247<br />当前日志序列 247
<p>然后，启动数据库到mount状态<br />SQL&gt; shutdown immediate;<br />数据库已经关闭。<br />已经卸载数据库。<br />ORACLE 例程已经关闭。
<p>SQL&gt; startup mount;<br />ORACLE 例程已经启动。
<p>Total System Global Area 142606336 bytes<br />Fixed Size 1247732 bytes<br />Variable Size 83887628 bytes<br />Database Buffers 50331648 bytes<br />Redo Buffers 7139328 bytes<br />数据库装载完毕。
<p>SQL&gt; alter database flashback on;
<p>数据库已更改。
<p>SQL&gt; alter database open;
<p>数据库已更改。
<p>SQL&gt; select FLASHBACK_ON from v$database;
<p>FLASHBACK_ON<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />YES
<p>关于flashback database的功能，这里就不继续深入了。
<p><strong>3.取消闪回恢复区</strong>
<p>将db_recovery_file_dest参数设置为空，可以停用闪回恢复区。
<p>如果已经启用flashback database，则不能取消闪回恢复区。<br />SQL&gt; alter system set db_recovery_file_dest=&#8221;;<br />alter system set db_recovery_file_dest=&#8221;<br />*<br />第 1 行出现错误:<br />ORA-02097: 无法修改参数, 因为指定的值无效<br />ORA-38775: 无法禁用快速恢复区 &#8211; 闪回数据库已启用
<p>所以，必须先禁用flashback database，才能取消闪回恢复区<br />SQL&gt; shutdown immediate;<br />数据库已经关闭。<br />已经卸载数据库。<br />ORACLE 例程已经关闭。<br />SQL&gt; startup mount;<br />ORACLE 例程已经启动。
<p>Total System Global Area 142606336 bytes<br />Fixed Size 1247732 bytes<br />Variable Size 83887628 bytes<br />Database Buffers 50331648 bytes<br />Redo Buffers 7139328 bytes<br />数据库装载完毕。<br />SQL&gt; alter database flashback off;
<p>数据库已更改。
<p>SQL&gt; alter database open;
<p>数据库已更改。
<p>SQL&gt; alter system set db_recovery_file_dest=&#8221;;
<p>系统已更改。
<p><strong>4.闪回恢复区的内容</strong>
<p>所有和恢复相关的文件都可以存放到闪回恢复区<br />SQL&gt; select file_type from v$flash_recovery_area_usage;
<p>FILE_TYPE<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />CONTROLFILE<br />ONLINELOG<br />ARCHIVELOG<br />BACKUPPIECE<br />IMAGECOPY<br />FLASHBACKLOG
<p>已选择6行。
<p>上面的视图中可以看出，包括controfile,online redo logfile,archive logfile,rman backup
<p>piece,rman image copy, flashback log等，都可以利用闪回恢复区来存放、管理。
<p><strong>5.闪回恢复区的一些限制</strong>
<p>如果设置了闪回恢复区，则log_archive_dest和log_archive_duplex_dest将不可用<br />alter system set log_archive_dest=&#8217;e:/&#8217;<br />*<br />第 1 行出现错误:<br />ORA-02097: 无法修改参数, 因为指定的值无效<br />ORA-16018: 无法将 LOG_ARCHIVE_DEST 与 LOG_ARCHIVE_DEST_n 或<br />DB_RECOVERY_FILE_DEST 一起使用
<p>SQL&gt; alter system set log_archive_duplex_dest=&#8217;e:/&#8217;;<br />alter system set log_archive_duplex_dest=&#8217;e:/&#8217;<br />*<br />第 1 行出现错误:<br />ORA-02097: 无法修改参数, 因为指定的值无效<br />ORA-16018: 无法将 LOG_ARCHIVE_DUPLEX_DEST 与 LOG_ARCHIVE_DEST_n 或<br />DB_RECOVERY_FILE_DEST 一起使用
<p>设置闪回恢复区后，如果没有设置过log_archive_dest_n参数，则归档日志默认是保存到该区域的<br />SQL&gt; archive log list<br />数据库日志模式 存档模式<br />自动存档 启用<br />存档终点 USE_DB_RECOVERY_FILE_DEST<br />最早的联机日志序列 245<br />下一个存档日志序列 247<br />当前日志序列 247
<p>实际上，oracle是通过隐式的设置log_archive_dest_10=&#8217;location=USE_DB_RECOVERY_FILE_DEST&#8217;来实现的。所以，如果之后你修改过log_archive_dest_n将归档日志保存到其他位置，也可以修改该参数继续使用闪回恢复区。
<p>多个数据库的闪回恢复区可以指定到同一个位置，但是db_name不能一样，或者db_unique_name不一样。
<p>RAC的闪回恢复区必须位于共享磁盘上，能被所有实例访问。
<p><strong>6.闪回恢复区的空间管理</strong>
<p>当闪回恢复区空间不足(超过85%)时，alert中会有警告记录
<p>Tue Dec 19 10:45:41 2006<br />Errors in file e:/oracle/ora10/admin/ning/bdump/ning_rvwr_31968.trc:<br />ORA-19815: 警告: db_recovery_file_dest_size 字节 (共 52428800 字节) 已使用 87.29%, 尚有6665216 字节可用。
<p>同时，oracle在alert中还会给出解决该问题的建议<br />Tue Dec 19 10:45:41 2006<br />************************************************************************<br />You have following choices to free up space from flash recovery area:<br />1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,<br />then consider changing RMAN ARCHIVELOG DELETION POLICY.<br />2. Back up files to tertiary device such as tape using RMAN<br />BACKUP RECOVERY AREA command.<br />3. Add disk space and increase db_recovery_file_dest_size parameter to<br />reflect the new space.<br />4. Delete unnecessary files using RMAN DELETE command. If an operating<br />system command was used to delete files, then use RMAN CROSSCHECK and<br />DELETE EXPIRED commands.<br />************************************************************************
<p>如果闪回恢复区空间耗尽，且归档路径设置到了闪回恢复区中，则由于日志无法归档，数据库会hang住。<br />Tue Dec 19 10:45:57 2006<br />Errors in file e:/oracle/ora10/admin/ning/bdump/ning_arc0_32372.trc:<br />ORA-19815: 警告: db_recovery_file_dest_size 字节 (共 52428800 字节) 已使用 100.00%, 尚有 0 字节可用。
<p>Tue Dec 19 10:45:57 2006<br />Errors in file e:/oracle/ora10/admin/ning/bdump/ning_arc0_32372.trc:<br />ORA-19809: 超出了恢复文件数的限制<br />ORA-19804: 无法回收 6836224 字节磁盘空间 (从 52428800 限制中)
<p>ARC0: Error 19809 Creating archive log file to
<p>&#8216;E:/ORACLE/ORA10/FLASH_RECOVERY_AREA/NING/ARCHIVELOG/2006_12_19/O1_MF_1_250_U_.ARC&#8217;<br />ARC0: Failed to archive thread 1 sequence 250 (19809)<br />ARCH: Archival stopped, error occurred. Will continue retrying<br />Tue Dec 19 10:45:58 2006<br />Errors in file e:/oracle/ora10/admin/ning/bdump/ning_arc0_32372.trc:<br />ORA-16038: 日志 1 序列号 250 无法归档<br />ORA-19809: 超出了恢复文件数的限制<br />ORA-00312: 联机日志 1 线程 1: &#8216;E:/ORACLE/ORA10/ORADATA/NING/REDO01.LOG&#8217;
<p>所以，对于生产库，如果将归档放到闪回恢复区中，需要密切关注闪回恢复区的空间使用情况，否则一旦闪回恢复区的空间用尽，将导致数据库无法提供服务。
<p>通过查询视图v$flash_recovery_area_usage，可以获得当前闪回恢复区的空间使用情况，并且可以知道
<p>是哪些文件占中了空间，据此可以做出相应的处理，或者加大闪回恢复区，或者移走相应的文件。
<p>SQL&gt; select * from v$flash_recovery_area_usage;
<p>FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;<br />CONTROLFILE 0 0 0<br />ONLINELOG 0 0 0<br />ARCHIVELOG 91 0 16<br />BACKUPPIECE 0 0 0<br />IMAGECOPY 0 0 0<br />FLASHBACKLOG 8 4 2
<p>已选择6行。
<p>另外，v$recovery_file_dest视图也提供了闪回恢复区的概要信息。<br />SQL&gt; select * from v$recovery_file_dest;
<p>NAME SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;<br />E:oracleora10flash_recovery_area 104857600 101835264 0 17
<p>转自：<a title="http://ningoo.itpub.net/post/2149/242078" href="http://ningoo.itpub.net/post/2149/242078">http://ningoo.itpub.net/post/2149/242078</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.onecheng.com/archives/328/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>安装oracle10g for RHEL4</title>
		<link>http://blog.onecheng.com/archives/322</link>
		<comments>http://blog.onecheng.com/archives/322#comments</comments>
		<pubDate>Sat, 02 Feb 2008 18:27:27 +0000</pubDate>
		<dc:creator>zyhui</dc:creator>
				<category><![CDATA[Linux技术文章]]></category>
		<category><![CDATA[10g]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[RHEL4]]></category>

		<guid isPermaLink="false">http://blog.onecheng.com/archives/322</guid>
		<description><![CDATA[<p>1、 硬件要求</p>
<p>内存：建议大于1024MB</p>
<p>交换分区：内存少于等于1024MB 交换分区是内存的2倍</p>
<p>内存1025MB~2048MB 交换分区是内存的1.5倍</p>
<p>内存2049MB~8192MB 交换分区大小等于内存</p>
<p>内存大于8192MB 交换分区是内存的0.75倍</p>
<p>/temp至少400MB</p>
<p>检查内存是否满足要求：# grep MemTotal /proc/meminfo</p>
<p>检查交换分区是否满足要求：#grep SwapTotal /proc/meminfo</p>
<p>确认一下你的系统架构，看你准备的oracle安装包</p>
<p>是否正确：grep &#34;model name&#34; /proc/cpuinfo</p>
<p></p>
<p>swap分区的调整   步骤如下：    1.先以root用户登录    2.用dd创建一个有连续空间的大文件    dd if=/dev/zero of=swapfile bs=1024 count=1200000    其中count=1200000就表示1200000k啦    3.以交换分区的格式化它    mkswap swapfile    4.激活这个文件    swapon swapfile</p>
<p>2、 [...]]]></description>
			<content:encoded><![CDATA[<p><b>1、 </b><b>硬件要求</b></p>
<p>内存：建议大于1024MB</p>
<p>交换分区：内存少于等于1024MB 交换分区是内存的2倍</p>
<p>内存1025MB~2048MB 交换分区是内存的1.5倍</p>
<p>内存2049MB~8192MB 交换分区大小等于内存</p>
<p>内存大于8192MB 交换分区是内存的0.75倍</p>
<p>/temp至少400MB</p>
<p>检查内存是否满足要求：# grep MemTotal /proc/meminfo</p>
<p>检查交换分区是否满足要求：#grep SwapTotal /proc/meminfo</p>
<p>确认一下你的系统架构，看你准备的oracle安装包</p>
<p>是否正确：grep &quot;model name&quot; /proc/cpuinfo</p>
<p><span id="more-322"></span></p>
<p>swap分区的调整   <br />步骤如下：    <br />1.先以root用户登录    <br />2.用dd创建一个有连续空间的大文件    <br />dd if=/dev/zero of=swapfile bs=1024 count=1200000    <br />其中count=1200000就表示1200000k啦    <br />3.以交换分区的格式化它    <br />mkswap swapfile    <br />4.激活这个文件    <br />swapon swapfile</p>
<p><b>2、 </b><b>软件包要求：</b></p>
<p>binutils-2.15.92.0.2-13.EL4</p>
<p>compat-db-4.1.25-9</p>
<p>compat-libstdc++-296-2.96-132.7.2</p>
<p>control-center-2.8.0-12</p>
<p>gcc-3.4.3-22.1.EL4</p>
<p>gcc-c++-3.4.3-22.1.EL44</p>
<p>glibc-2.3.4-2.9</p>
<p>glibc-common-2.3.4-2.9</p>
<p>gnome-libs-1.4.1.2.90-44.1</p>
<p>libstdc++-3.4.3-22.1</p>
<p>libstdc++-devel-3.4.3-22.1</p>
<p>make-3.80-5</p>
<p>pdksh-5.2.14-30</p>
<p>sysstat-5.0.5-1</p>
<p>xscreensaver-4.18-5.rhel4.2</p>
<p>libaio-0.3.96</p>
<p>setarch-1.6-1</p>
<p>保证系统里面安装了以上版本或者更高版本的软件包，可以在安装系统的时候选择安装以下软件包：</p>
<ol>
<ul>
<li>Desktop
<ul>
<li>X Window System </li>
<li>Gnome </li>
</ul>
</li>
<li>Applications
<ul>
<li>Graphical Internet (optional) </li>
</ul>
</li>
<li>Development
<ul>
<li>Development Tools </li>
<li>Legacy Software Development</li>
</ul>
</li>
<li>System
<ul>
<li>Administration Tools </li>
<li>System Tools
<ul>
<li>Add the package &#8217;sysstat&#8217; by clicking on the Details link and selecting &quot;sysstat &#8211; The sar an iostat system monitoring commands.&quot; from the Optional Packages list. </li>
</ul>
</li>
</ul>
</li>
</ul>
</ol>
<p>检查所需要的软件包：</p>
<p>#rpm -q binutils compat-db compat-libstdc++-296 control-center gcc gcc-c++ glibc glibc-common gnome-libs libstdc++ libstdc++-devel make pdksh sysstat xscreensaver libaio setarch</p>
<p>哪个没有就在光盘里找吧！</p>
<p><b>3、 </b><b>创建oracle</b><b>用户和用户组</b></p>
<p>/usr/sbin/groupadd oinstall   <br />/usr/sbin/groupadd dba    <br />/usr/sbin/useradd -m -g oinstall -G dba oracle</p>
<p>给oracle用户添加密码：</p>
<p># passwd oracle   <br />Changing password for user oracle.    <br />New password:    <br />Retype new password:    <br />passwd: all authentication tokens updated successfully.</p>
<p><b>4、 </b><b>创建相关目录</b></p>
<p>mkdir -p /u01/app/oracle   <br />chown -R oracle:oinstall /u01/app/oracle    <br />chmod -R 775 /u01/app/oracle</p>
<p><b>5、 </b><b>关闭SELINUX</b></p>
<p>vi /etc/selinux/config 确保以下内容   <br />SELINUX=disabled<b></b></p>
<p><b>6、 </b><b>配置相关参数</b></p>
<p>A. 设置内核参数</p>
<p>vi /etc/sysctl.conf 在末尾添加以下内容：</p>
<p>kernel.shmall = 2097152   <br />kernel.shmmax = 536870912 #这个是物理内存的一半，单位：字节512*1024*1024    <br />kernel.shmmni = 4096    <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.wmem_default=262144    <br />net.core.rmem_max=262144    <br />net.core.wmem_max=262144</p>
<p>立即应用以上参数设置</p>
<p># /sbin/sysctl -p</p>
<p>检查设置的参数，看输出的参数和设置的参数是否一致：</p>
<p>/sbin/sysctl -a | grep shm   <br />/sbin/sysctl -a | grep sem    <br />/sbin/sysctl -a | grep file-max    <br />/sbin/sysctl -a | grep ip_local_port_range    <br />/sbin/sysctl -a | grep rmem_default    <br />/sbin/sysctl -a | grep rmem_max    <br />/sbin/sysctl -a | grep wmem_default    <br />/sbin/sysctl -a | grep wmem_max</p>
<p>B. 为oracle用户设置shell limits：</p>
<p>vi /etc/security/limits.conf 在行末添加：</p>
<p>oracle soft nproc 2047   <br />oracle hard nproc 16384    <br />oracle soft nofile 1024    <br />oracle hard nofile 65536</p>
<p>vi /etc/pam.d/login 在行末添加：</p>
<p>session required /lib/security/pam_limits.so</p>
<p>session required pam_limits.so</p>
<p>vi /etc/profile 在最后添加：</p>
<p>if [ $USER = &quot;oracle&quot; ]; then</p>
<p>if [ $SHELL = &quot;/bin/ksh&quot; ]; then</p>
<p>ulimit -p 16384</p>
<p>ulimit -n 65536</p>
<p>else</p>
<p>ulimit -u 16384 -n 65536</p>
<p>fi</p>
<p>fi</p>
<p>C. 设置oracle用户的环境</p>
<p>以oracle用户登录（前面的操作都是root帐户）</p>
<p>vi /home/oracle/.bash_profile 添加：</p>
<p>umask 022</p>
<p>export ORACLE_BASE=/u01/app/oracle   <br />export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1    <br />export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin    <br />export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib</p>
<p>运行该文件：. ./.bash_profile</p>
<p><b>7、 </b><b>安装oracle10g</b></p>
<p>上传安装文件，没有的话就到这里下载</p>
<p><a href="http://www.oracle.com/technology/software/products/database/oracle10g/index.html">http://www.oracle.com/technology/software/products/database/oracle10g/index.html</a></p>
<p>或者</p>
<p><a href="http://61.132.102.124/oracle/10g/">http://61.132.102.124/oracle/10g/</a> 这儿还有10203的升级包，嘿嘿</p>
<p>解压</p>
<p>运行安装文件</p>
<p>./runInstaller</p>
<p>跟着向导一步一步走，最后提示用root帐号运行两个脚本，OK</p>
<p><b>8、 </b><b>设置开机启动oracle</b></p>
<p>A. 登录root帐户</p>
<p>B. 修改/etc/oratab文件，将orcl那一行的N，设置为Y</p>
<p>C. 修改$ORACLE_HOME/bin/<b>dbstart</b>, <b>dbshut</b> ，将</p>
<p>ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle/bin/tnslsnr</p>
<p>改成：</p>
<p>ORACLE_HOME_LISTNER=$ORACLE_HOME</p>
<p>D. 新建一个启动脚本，如下：</p>
<p>vi /etc/init.d/oracle</p>
<p>#!/bin/bash   <br />#    <br /># chkconfig: 345 90 05    <br /># description: Oracle 10g Server    <br /># /etc/init.d/oracle    <br />#    <br /># Run-level Startup script for the Oracle Instance, Listener, and    <br /># Web Interface</p>
<p>export ORACLE_BASE=/u01/app/oracle   <br />export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1    <br />export ORACLE_SID=orcl    <br />export PATH=$PATH:$ORACLE_HOME/bin</p>
<p>ORA_OWNR=&quot;oracle&quot;</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 &quot;Oracle startup: cannot start&quot;    <br />exit 1    <br />fi    <br /># depending on parameter &#8212; startup, shutdown, restart    <br /># of the instance and listener or usage display</p>
<p>case &quot;$1&quot; in   <br />start)    <br /># Oracle listener and instance startup    <br />echo -n &quot;Starting Oracle: &quot;    <br />#su $ORA_OWNR -c &quot;$ORACLE_HOME/bin/lsnrctl start&quot;    <br />su $ORA_OWNR -c $ORACLE_HOME/bin/dbstart    <br />touch /var/lock/oracle</p>
<p>su $ORA_OWNR -c &quot;$ORACLE_HOME/bin/emctl start dbconsole&quot;   <br />echo &quot;OK&quot;    <br />;;    <br />stop)    <br /># Oracle listener and instance shutdown    <br />echo -n &quot;Shutdown Oracle: &quot;    <br />#su $ORA_OWNR -c &quot;$ORACLE_HOME/bin/lsnrctl stop&quot;    <br />su $ORA_OWNR -c $ORACLE_HOME/bin/dbshut    <br />rm -f /var/lock/oracle</p>
<p>su $ORA_OWNR -c &quot;$ORACLE_HOME/bin/emctl stop dbconsole&quot;   <br />echo &quot;OK&quot;    <br />;;    <br />reload|restart)    <br />$0 stop    <br />$0 start    <br />;;    <br />*)    <br />echo &quot;Usage: `basename $0` start|stop|restart|reload&quot;    <br />exit 1    <br />esac    <br />exit 0</p>
<p>E. 设置脚本的执行权限</p>
<p>chmod a+x /etc/init.d/oracle</p>
<p>F. 设置成自启动</p>
<p>chkconfig oracle on</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;大功告成&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.onecheng.com/archives/322/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Red Hat AS4安装Oracle 9204记录</title>
		<link>http://blog.onecheng.com/archives/184</link>
		<comments>http://blog.onecheng.com/archives/184#comments</comments>
		<pubDate>Sun, 16 Dec 2007 22:12:44 +0000</pubDate>
		<dc:creator>zyhui</dc:creator>
				<category><![CDATA[Linux技术文章]]></category>
		<category><![CDATA[AS4]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[安装]]></category>

		<guid isPermaLink="false">http://blog.onecheng.com/archives/184</guid>
		<description><![CDATA[<p>一、 安装前的检查和补丁包的准备</p>
<p>1、 检查以下软件包是否安装</p>
<p>compat-db-4.1.25-9   compat-gcc-32-3.2.3-47.3    compat-gcc-32-c++-3.2.3-47.3    compat-libgcc-296-2.96-132.7.2    compat-libstdc++-296-2.96-132.7.2    compat-libstdc++-33-3.2.3-47.3    gcc-3.4.3-9.EL4    gcc-c++-3.4.3-9.EL4    gnome-libs-1.4.1.2.90-44    gnome-libs-devel-1.4.1.2.90-44    libaio-devel-0.3.102-1    libaio-0.3.102-1    make-3.80-5    openmotif21-2.1.30-11  [...]]]></description>
			<content:encoded><![CDATA[<p><b>一、 </b><b>安装前的检查和补丁包的准备</b><b></b></p>
<p>1、 检查以下软件包是否安装</p>
<p>compat-db-4.1.25-9   <br />compat-gcc-32-3.2.3-47.3    <br />compat-gcc-32-c++-3.2.3-47.3    <br />compat-libgcc-296-2.96-132.7.2    <br />compat-libstdc++-296-2.96-132.7.2    <br />compat-libstdc++-33-3.2.3-47.3    <br />gcc-3.4.3-9.EL4    <br />gcc-c++-3.4.3-9.EL4    <br />gnome-libs-1.4.1.2.90-44    <br />gnome-libs-devel-1.4.1.2.90-44    <br />libaio-devel-0.3.102-1    <br />libaio-0.3.102-1    <br />make-3.80-5    <br />openmotif21-2.1.30-11    <br />xorg-x11-deprecated-libs-devel-6.8.1-23.EL    <br />xorg-x11-deprecated-libs-6.8.1-23.EL    <br />其中compat-oracle-rhel4和compat-libcwait可以在如下网站:    <br /><a href="http://oss.oracle.com/projects/compat-oracle/files/RedHat/">http://oss.oracle.com/projects/compat-oracle/files/RedHat/</a></p>
<p>使用命令rpm -qa | grep &#8216;compat&#8217; 检查，引号内是软件包名称的一部分。</p>
<p><span id="more-184"></span></p>
<p>2、 准备好补丁包</p>
<p>p4198954_21_linux.zip 在安装oracle运行 runInstaller 之前打.   <br />p3238244_9204_LINUX.zip 修复agent错误的补丁.    <br />p2617419_210_GENERIC.zip 打3238244补丁所需要的补丁.</p>
<p><b>二、 </b><b>安装前的环境准备</b></p>
<p>1， 创建user/group；   <br />#groupadd dba    <br />#groupadd oinstall    <br />#useradd oracle -g oinstall -G dba    <br />#passwd oracle</p>
<p>2， 建立oracle安装文件夹；   <br /># mkdir -p /oracle9i/9204    <br /># mkdir /orasetup    <br /># chown oracle.dba /orasetup    <br /># chmod 777 /orasetup    <br /># chown -R oracle.dba /oracle9i/9204    <br /># chmod -R 777 /oracle9i/9204</p>
<p># chown -R oracle.dba /oracle9i</p>
<p># chmod -R 777 /oracle9i</p>
<p>3， 配置环境变量；   <br />以root用户登录，设置root用户的环境打开.bash_profile文件，将如下内容加入：    <br />export ORACLE_BASE=/oracle9i    <br />export ORACLE_HOME=/oracle9i/9204    <br />export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin    <br />export ORACLE_OWNER=oracle    <br />export ORACLE_SID=orcl    <br />使用Oracle用户登陆:    <br />#su &#8211; oracle    <br />$vi .bash_profile    <br />以下是配置文件的内容（其中红色字体为添加的内容）    <br /># .bash_profile    <br /># Get the aliases and functions    <br />if [ -f ~/.bashrc ]; then    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; . ~/.bashrc    <br />fi    <br /># User specific environment and startup programs    <br />PATH=$PATH:$HOME/bin    <br />#ORACLE_BASE 可以定位到盘阵上/data    <br />export ORACLE_BASE=/oracle9i     <br />export ORACLE_HOME=/oracle9i/9204    <br />export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin    <br />export ORACLE_OWNER=oracle    <br />export ORACLE_SID=orcl    <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 NLS_LANG=AMERICAN_AMERICA.UTF8    <br /># export NLS_LANG=&quot;SIMPLIFIED CHINESE_CHINA.ZHS16GBK&quot;    <br />export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data    <br />export DISPLAY=:0    <br />export LANG=en_US    <br />export GDM_LANG= en_US    <br />export LC= en_US    <br />export PATH    <br />unset USERNAME</p>
<p>4， 设置系统参数；   <br />#su &#8211; 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.&#160; See sysctl(8) and    <br /># sysctl.conf(5) for more details.    <br /># Controls IP packet forwarding    <br />net.ipv4.ip_forward = 0    <br /># Controls source route verification    <br />net.ipv4.conf.default.rp_filter = 1    <br /># Controls the System Request debugging functionality of the kernel    <br />kernel.sysrq = 0    <br /># 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 />kernel.shmmax = 536870912 / 268435456    <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 &#8211;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 所有内存大小    <br />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</p>
<p>C) gcc降级   <br />#su &#8211; root    <br />#mv /usr/bin/gcc /usr/bin/gcc34    <br />#ln &#8211;s /usr/bin/gcc32 /usr/bin/gcc    <br />#mv /usr/bin/g++ /usr/bin/g++34    <br />#ln &#8211;s /usr/bin/g++32 /usr/bin/g++</p>
<p>5、安装p4198954_21_linux.zip补丁包</p>
<p>当你从 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 />从<a href="http://oss.oracle.com/projects/compat-oracle/files/RedHat/">http://oss.oracle.com/projects/compat-oracle/files/RedHat/</a> 下载补丁    <br />compat-libcwait-2.0-2.i386.rpm&#160; compat-oracle-rhel4-1.0-5.i386.rpm.为了应用这个补丁，可以运行：    <br />$su &#8211; root     <br /># cd /orasetup    <br />#ls compat*.rpm    <br />compat-libcwait-2.0-2.i386.rpm&#160; compat-oracle-rhel4-1.0-5.i386.rpm    <br /># rpm -Uvh compat*.rpm</p>
<p><b>三、 </b><b>安装</b><b>oracle</b></p>
<p>1、 以oracle用户身份把安装文件上传至orasetup文件夹</p>
<p>2、 在oracle用户下解压安装文件</p>
<p>zcat ship_9204_linux_disk1.cpio.gz | cpio -idmv</p>
<p>zcat ship_9204_linux_disk2.cpio.gz | cpio -idmv</p>
<p>zcat ship_9204_linux_disk3.cpio.gz | cpio -idmv</p>
<p>3、 用oracle帐户登录到图形界面下</p>
<p>进入/orasetup/Disk1运行runInstaller，过一会儿就会出现oracle的安装界面了</p>
<p>4、 一步一个脚印安装下去就行了！</p>
<p>5、 修复agent错误的补丁</p>
<p>p2617419_210_GENERIC.zip</p>
<p>p3238244_9204_LINUX.zip</p>
<p>以oracle用户上传并解压到/orasetup目录</p>
<p>export PATH=$PATH:/orasetup/OPatch</p>
<p>export PATH=$PATH:/sbin</p>
<p>可以用which opatch检验一下opatch的目录是否正确</p>
<p>在3238244的目录中执行</p>
<p>opatch apply</p>
<p>cd $ORACLE_HOME/network/lib</p>
<p>make -f ins_oemagent.mk install</p>
<p>agentctl start agent成功启动</p>
<p>lsnrctl start 启动侦听</p>
<p>sqlplus &quot;sys/as sysdba&quot;</p>
<p>SQL&gt;; startup;&#160;&#160; 启动数据库</p>
<p>SQL&gt;; shutdown immediate&#160; 关闭数据库</p>
<p>四、创建oracle的自启动</p>
<p>数据库创建完成后，修改/etc/oratab，把boss那一行最后的N改成Y，然后执行dbstart启动数据库数据库可能无法启动，报告Can&#8217;t find init file &#8230;的错误，需要复制一个初始化文件:    <br />cp /oracle9i/admin/orcl/pfile/initorcl.ora.*&#160; /oracle9i/9204/dbs/initorcl.ora    <br />重新执行dbstart就可以了。    <br />为了方便管理，可以写一个启动脚本ora9i：    <br />以root身份进入，编写以下脚本：    <br />vi /etc/rc.d/init.d/ora9i    <br />#!/bin/bash    <br />#start and stop the oracle instance    <br /># chkconfig &#8211;level 5 &#8211;add ora9i    <br />#chkconfig: 345 91 19     <br /># description: starts the oracle listener and instance    <br />export ORACLE_HOME=&quot;/oracle9i/9204&quot;    <br />export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH    <br />export ORACLE_OWNER=&quot;oracle&quot;    <br />export ORACLE_SID=orcl    <br />if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]    <br />then     <br />&#160;&#160;&#160; echo &quot;oracle startup:cannot start&quot;    <br />&#160;&#160;&#160; exit 1    <br />fi    <br />case &quot;$1&quot; in    <br />start)    <br />&#160; #startup the listener and instance    <br />&#160;&#160;&#160; echo -n &quot;oracle startup: &quot;    <br />&#160;&#160;&#160; su &#8211; $ORACLE_OWNER -c &quot;$ORACLE_HOME/bin/lsnrctl start&quot;    <br />&#160;&#160;&#160; su &#8211; $ORACLE_OWNER -c $ORACLE_HOME/bin/dbstart    <br />&#160;&#160;&#160; touch /var/lock/subsys/oracle    <br />&#160;&#160;&#160; echo &quot;finished&quot;    <br />&#160;&#160; ;;    <br />stop)    <br /># stop listener, apache and database    <br />&#160;&#160;&#160; echo -n &quot;oracle shutdown:&quot;    <br />&#160;&#160;&#160; su &#8211; $ORACLE_OWNER -c &quot;$ORACLE_HOME/bin/lsnrctl stop&quot;    <br />&#160;&#160;&#160; su &#8211; $ORACLE_OWNER -c $ORACLE_HOME/bin/dbshut    <br />&#160;&#160;&#160; rm -f /var/lock/subsys/oracle    <br />&#160;&#160;&#160; echo &quot;finished&quot;    <br />;;    <br />reload|restart)    <br />&#160;&#160;&#160; $0 stop    <br />&#160;&#160;&#160; $0 start    <br />;;    <br />*)    <br />&#160;&#160; echo &quot;Usage: ora9i [start|stop|reload|restart]&quot;    <br />&#160;&#160; exit 1    <br />esac    <br />exit 0    <br />存为ora9i后，然后用chmod a+x ora9i,即可在以后以root身份运行/etc/rc.d/init.d/ora9i start |stop 来管理oracle的启动和停止了。如果要将这个脚本加入到系统中使其可开机运行，那么要运行以下命令：chkconfig &#8211;level 3(或者是5) &#8211;add ora9i    <br />6,    <br />关于数据库删除重新安装的问题:    <br />把ORACLE安装目录删除及/etc/ora*.*删除就行了    <br />#rm &#8211;f&#160; /etc/ora*.*    <br />7,关于在LINUX中运行管理软件    <br />#oemapp</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.onecheng.com/archives/184/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- www.000webhost.com Analytics Code -->
<script type="text/javascript" src="http://analytics.hosting24.com/count.php"></script>
<noscript><a href="http://www.hosting24.com/"><img src="http://analytics.hosting24.com/count.php" alt="web hosting" /></a></noscript>
<!-- End Of Analytics Code -->
