<?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>wd and cc &#187; oracle</title>
	<atom:link href="http://wdicc.com/tag/oracle/feed/" rel="self" type="application/rss+xml" />
	<link>http://wdicc.com</link>
	<description>Happy every day...</description>
	<lastBuildDate>Wed, 01 Feb 2012 03:27:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>又安装了一次 oracle</title>
		<link>http://wdicc.com/oracle-install-guide/</link>
		<comments>http://wdicc.com/oracle-install-guide/#comments</comments>
		<pubDate>Fri, 05 Nov 2010 02:48:40 +0000</pubDate>
		<dc:creator>wd</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[oracle]]></category>

		<guid isPermaLink="false">http://wdicc.com/oracle-install-guide/</guid>
		<description><![CDATA[好久没有弄 oracle 了，今天有机会又折腾了一天 oracle 的安装，本来觉得是挺简单的事情，没想到也折腾了挺长时间的，我觉得可能主要是因为使用的系统比较新，而 oracle 是 10g 有比较老的缘故。 1 配置 x11forward 我这安装了 xauth 和 libXtst，然后使用 ssh -Y user@host 连接的。使用 -X 好像从来没成功过，也不知道怎么回事，懒得研究了。 2 运行安装程序 解压什么的就没什么好说的了，主要是运行的时候他会检测是不是他支持的发行版，可以使用 -ignoreSysPrereqs，跳过系统检测。 然后其他正常，就是到最后运行 dbca 的时候，会 hung 卡在那，等多久都完成不了。这一步做的操作是会给你 create database，建 init 文件等，没这个的话 oracle 是不可用的。如果你知道手动操作这些后续步骤也可以不理会这个。 dbca 卡住后，可以点那个取消，然后再开一个 term， ps 找到 dbca 然后 kill 掉，前面那个界面应该就会有反应了，就可以继续往下走了。到最后 exit 了事。 然后就是单独启动 dbca 来完成后面的工作。执行 dbca 命令（需要你提前配置好 path），会启动一个窗口，要注意的是，在这时候能看到一个关于字体的错误，据说这个错误就是上面 huang [...]]]></description>
			<content:encoded><![CDATA[<p>好久没有弄 oracle 了，今天有机会又折腾了一天 oracle 的安装，本来觉得是挺简单的事情，没想到也折腾了挺长时间的，我觉得可能主要是因为使用的系统比较新，而 oracle 是 10g 有比较老的缘故。</p>
<p>1 配置 x11forward<br />
我这安装了 xauth 和 libXtst，然后使用 ssh -Y user@host 连接的。使用 -X 好像从来没成功过，也不知道怎么回事，懒得研究了。</p>
<p>2 运行安装程序<br />
解压什么的就没什么好说的了，主要是运行的时候他会检测是不是他支持的发行版，可以使用 -ignoreSysPrereqs，跳过系统检测。</p>
<p>然后其他正常，就是到最后运行 dbca 的时候，会 hung 卡在那，等多久都完成不了。这一步做的操作是会给你 create database，建 init 文件等，没这个的话 oracle 是不可用的。如果你知道手动操作这些后续步骤也可以不理会这个。</p>
<p>dbca 卡住后，可以点那个取消，然后再开一个 term， ps 找到 dbca 然后 kill 掉，前面那个界面应该就会有反应了，就可以继续往下走了。到最后 exit 了事。</p>
<p>然后就是单独启动 dbca 来完成后面的工作。执行 dbca 命令（需要你提前配置好 path），会启动一个窗口，要注意的是，在这时候能看到一个关于字体的错误，据说这个错误就是上面 huang 住的原因，如果看到了这个错误，那么 dbca 的最后一步可能是会执行不了的。。。</p>
<p>我尝试了 n 种方法解决这个问题，发现最简单的是装一个 jdk 1.6 然后把 java 命令链接覆盖 oracle 安装的那个 jdk 1.4 的 $ORACLE_HOME/jdk/jre/bin/java 命令。等于就是说使用 1.6 的 java 来启动 dbca。如果这么做还不行，那可能需要装一些字体相关的东西，比如 xorg-x11-fonts-truetype。如果还不行那就不知道怎么弄了。</p>
<p>dbca 启动后，还遇到了 ora-27102 out of memery 和 ora-01034 oracle not aviliable。后面这个是在遇到前面那个的时候点 ignore 出来的。主要是前面那个。前面那个是因为 kernel 参数关于内存的配置配置的有问题，最大共享内存太大导致的。如果遇到这个问题就去改那些参数吧。</p>
<p>dbca 配置好后，oracle 应该就启动了。你可以连上去看看了。</p>
<p>3 导入导出<br />
导出使用 exp，导入 imp，一般不需要加什么参数。据说加那个 full=y 后，导入的时候会建立用户，不用你操心。</p>
]]></content:encoded>
			<wfw:commentRss>http://wdicc.com/oracle-install-guide/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>oracle 里面 kill session</title>
		<link>http://wdicc.com/kill-session-in-oracle/</link>
		<comments>http://wdicc.com/kill-session-in-oracle/#comments</comments>
		<pubDate>Tue, 07 Oct 2008 09:38:06 +0000</pubDate>
		<dc:creator>wd</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[session]]></category>

		<guid isPermaLink="false">http://wdicc.com/?p=456</guid>
		<description><![CDATA[eygle 有篇文章讲了这个，之前也看过。昨天实际操作了一下。 因为如 eygle 所讲，kill 了 session 之后，操作系统里面的进程资源有时候不一定会立即释放，所以最好在 kill 之前就找到系统的进程 id，这样，如果不释放的时候，可以直接kill。省的之后找起来麻烦。 昨天操作的时候有这么几个步骤 select * from v$session where username like &#8216;UP&#8217; &#8211;先找到这个用户的 session。 select * from v$sql a, v$session b where b.username = &#8216;UP&#8217; and a.sql_id = b.sql_id &#8211;找出来这个用户这些 session 对应的 sql 语句，好确认 session 的 id。 select * from v$process a, v$session b where a.addr = [...]]]></description>
			<content:encoded><![CDATA[<p>eygle <a href="http://www.eygle.com/faq/Kill_Session.htm" target="_blank">有篇文章</a>讲了这个，之前也看过。昨天实际操作了一下。</p>
<p>因为如 eygle 所讲，kill 了 session 之后，操作系统里面的进程资源有时候不一定会立即释放，所以最好在 kill 之前就找到系统的进程 id，这样，如果不释放的时候，可以直接kill。省的之后找起来麻烦。</p>
<p>昨天操作的时候有这么几个步骤</p>
<ol>
<li>select * from v$session where username like &#8216;UP&#8217; &#8211;先找到这个用户的 session。</li>
<li>select * from v$sql a, v$session b where b.username = &#8216;UP&#8217; and a.sql_id = b.sql_id &#8211;找出来这个用户这些 session 对应的 sql 语句，好确认 session 的 id。</li>
<li>select * from v$process a, v$session b where a.addr = b.paddr and b.username like &#8216;UP&#8217; and b.sid = xxx &#8211;找出来他的系统进程id，就是那个 spid。</li>
<li>ALTER SYSTEM KILL SESSION &#8216;sid, serial#&#8217; &#8211;可以实施kill了，可能会提示你marked for kill，有必要的话，在os级别kill前面找出来的 spid。</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://wdicc.com/kill-session-in-oracle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ORA-00257 和 ORA-19815</title>
		<link>http://wdicc.com/ora-00257-and-ora-19815/</link>
		<comments>http://wdicc.com/ora-00257-and-ora-19815/#comments</comments>
		<pubDate>Sat, 06 Sep 2008 10:12:22 +0000</pubDate>
		<dc:creator>wd</dc:creator>
				<category><![CDATA[Mail]]></category>
		<category><![CDATA[oracle]]></category>

		<guid isPermaLink="false">http://wdicc.cn/?p=436</guid>
		<description><![CDATA[这几天遇到了这两个错误，记录一下。 使用 perl 的 DBI 连接的时候，会提示 ora-00257 错误，这个用 三qlplus 估计也是一样的错误，注意时远程连接才出错。 DBI connect('host=db8.xxx;sid=nirv3','sirenmon',...) failed: ORA-00257: archiver error. Connect internal only, until freed. (DBD ERROR: OCISessionBegin) at ./check_sdsdb line 26 CRITICAL : Can't connect &#34;db8.sds.cnb.yahoo.com&#34; 同时，数据库的alert 里面有下面的信息 Errors in file /home/oracle/app/diag/rdbms/nirv/nirv3/trace/nirv3_arc1_9507.trc: ORA-19815: WARNING: db_recovery_file_dest_size of 268435456000 bytes is 100.00% used, and has 0 remaining bytes available. ************************************************************************ [...]]]></description>
			<content:encoded><![CDATA[<p>这几天遇到了这两个错误，记录一下。</p>
<p>使用 perl 的 DBI 连接的时候，会提示 ora-00257 错误，这个用 三qlplus 估计也是一样的错误，注意时远程连接才出错。</p>

<div class="wp_syntax"><div class="code"><pre class="txt">DBI connect('host=db8.xxx;sid=nirv3','sirenmon',...) failed: ORA-00257: archiver error. Connect internal only, until freed. (DBD ERROR: OCISessionBegin) at ./check_sdsdb line 26
CRITICAL : Can't connect &quot;db8.sds.cnb.yahoo.com&quot;</pre></div></div>

<p>同时，数据库的alert 里面有下面的信息</p>

<div class="wp_syntax"><div class="code"><pre class="txt">Errors in file /home/oracle/app/diag/rdbms/nirv/nirv3/trace/nirv3_arc1_9507.trc:
ORA-19815: WARNING: db_recovery_file_dest_size of 268435456000 bytes is 100.00% used, and has 0 remaining bytes available.
************************************************************************
You have following choices to free up space from flash recovery area:
1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,
   then consider changing RMAN ARCHIVELOG DELETION POLICY.
2. Back up files to tertiary device such as tape using RMAN
   BACKUP RECOVERY AREA command.
3. Add disk space and increase db_recovery_file_dest_size parameter to
   reflect the new space.
4. Delete unnecessary files using RMAN DELETE command. If an operating
   system command was used to delete files, then use RMAN CROSSCHECK and
   DELETE EXPIRED commands.
************************************************************************
ARCH: Archival stopped, error occurred. Will continue retrying
ORACLE Instance nirv3 - Archival Error</pre></div></div>

<p>登陆上数据库看看</p>

<div class="wp_syntax"><div class="code"><pre class="txt">SQL&amp;gt; show parameter archive
&nbsp;
NAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
archive_lag_target                   integer                0
log_archive_config                   string                 dg_config=(stb1)
log_archive_dest                     string
log_archive_dest_1                   string                 location=&quot;USE_DB_RECOVERY_FILE
log_archive_dest_10                  string
log_archive_dest_2                   string
log_archive_dest_3                   string
log_archive_dest_4                   string
log_archive_dest_5                   string
log_archive_dest_6                   string
log_archive_dest_7                   string
&nbsp;
NAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
log_archive_dest_8                   string
log_archive_dest_9                   string
log_archive_dest_state_1             string                 ENABLE
log_archive_dest_state_10            string                 enable
log_archive_dest_state_2             string                 ENABLE
log_archive_dest_state_3             string                 enable
log_archive_dest_state_4             string                 enable
log_archive_dest_state_5             string                 enable
log_archive_dest_state_6             string                 enable
log_archive_dest_state_7             string                 enable
log_archive_dest_state_8             string                 enable
&nbsp;
NAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
log_archive_dest_state_9             string                 enable
log_archive_duplex_dest              string
log_archive_format                   string                 %s_%t_%r_%a.arc
log_archive_local_first              boolean                TRUE
log_archive_max_processes            integer                4
log_archive_min_succeed_dest         integer                1
log_archive_start                    boolean                FALSE
log_archive_trace                    integer                0
standby_archive_dest                 string                 ?/dbs/arch
&nbsp;
SQL&amp;gt; select * from v$log;
&nbsp;
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARCHIV STATUS                           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- ------ -------------------------------- ------------- ------------
         1          1     221250   52428800          1 YES    INACTIVE                            5082709437 05-SEP-08
         2          1     221252   52428800          1 NO     INACTIVE                            5082713458 05-SEP-08
         3          2     270972   52428800          1 YES    INACTIVE                            5082699510 05-SEP-08
         4          2     270975   52428800          1 NO     CURRENT                             5082713581 05-SEP-08
         9          1     221251   52428800          1 NO     INACTIVE                            5082712943 05-SEP-08
        10          2     270973   52428800          1 YES    INACTIVE                            5082705151 05-SEP-08
        11          1     221253   52428800          1 NO     CURRENT                             5082713765 05-SEP-08
        12          2     270974   52428800          1 NO     INACTIVE                            5082711887 05-SEP-08
        13          3     275581   52428800          1 NO     INACTIVE                            5082712519 05-SEP-08
        14          3     275582   52428800          1 NO     CURRENT                             5082713078 05-SEP-08
        15          3     275579   52428800          1 NO     INACTIVE                            5082710114 05-SEP-08
&nbsp;
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARCHIV STATUS                           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- ------ -------------------------------- ------------- ------------
        16          3     275580   52428800          1 NO     INACTIVE                            5082711321 05-SEP-08
&nbsp;
12 rows selected.
&nbsp;
SQL&amp;gt; ????select value from v$diag_info where name ='Diag Trace';
&nbsp;
VALUE
------------------------------------------------------------------------------------------------------------------------------------------------------
/home/oracle/app/diag/rdbms/nirv/nirv3/trace
&nbsp;
SQL&amp;gt; select * from V$FLASH_RECOVERY_AREA_USAGE;
&nbsp;
FILE_TYPE                                PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
---------------------------------------- ------------------ ------------------------- ---------------
CONTROL FILE                                              0                         0               0
REDO LOG                                                  0                         0               0
ARCHIVED LOG                                            100                         0           13109
BACKUP PIECE                                              0                         0               0
IMAGE COPY                                                0                         0               0
FLASHBACK LOG                                             0                         0               0
FOREIGN ARCHIVED LOG                                      0                         0               0
&nbsp;
7 rows selected.
&nbsp;
SQL&amp;gt; show parameter db_recovery_file_dest_size
&nbsp;
NAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
db_recovery_file_dest_size           big integer            250G
SQL&amp;gt; show parameter DB_RECOVERY_FILE_DEST
&nbsp;
NAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
db_recovery_file_dest                string                 /sds/oradata
db_recovery_file_dest_size           big integer            250G
SQL&amp;gt; alter system set db_recovery_file_dest_size=300G;  
&nbsp;
System altered.
&nbsp;
SQL&amp;gt; show parameter DB_RECOVERY_FILE_DEST
&nbsp;
NAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
db_recovery_file_dest                string                 /sds/oradata
db_recovery_file_dest_size           big integer            300G
SQL&amp;gt; select * from V$FLASH_RECOVERY_AREA_USAGE;
&nbsp;
FILE_TYPE                                PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
---------------------------------------- ------------------ ------------------------- ---------------
CONTROL FILE                                              0                         0               0
REDO LOG                                                  0                         0               0
ARCHIVED LOG                                          83.41                         0           13115
BACKUP PIECE                                              0                         0               0
IMAGE COPY                                                0                         0               0
FLASHBACK LOG                                             0                         0               0
FOREIGN ARCHIVED LOG                                      0                         0               0
&nbsp;
7 rows selected.</pre></div></div>

<p>可以看到空间是 83% 了，数据库应该就好了。不过这个是治标不治本的操作，需要把archive log删掉才行，具体怎么搞我也不会。。。汗。。</p>
]]></content:encoded>
			<wfw:commentRss>http://wdicc.com/ora-00257-and-ora-19815/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>oracle 的 job 又遇到问题了</title>
		<link>http://wdicc.com/oracle-jobs/</link>
		<comments>http://wdicc.com/oracle-jobs/#comments</comments>
		<pubDate>Fri, 29 Jun 2007 02:19:24 +0000</pubDate>
		<dc:creator>wd</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Other]]></category>
		<category><![CDATA[job]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[高级复制]]></category>

		<guid isPermaLink="false">http://blog.wdicc.com/wordpress/oracle-jobs/</guid>
		<description><![CDATA[还是高级复制的问题，这次可能是因为job执行过程中，对方机器刚好重启导致的。反正job是卡在那里了，都10多天了。 查看 dba_jobs_running 表，可以看到卡住的job的 job_id 和 sid 。查看 dba_jobs 表，可以看到相应 job 的信息，this_date 如果有数据的话，表示的是 job 开始执行的时间，next_date 是下次执行 job 的时间，如果 job 正常执行完毕，那么 this_date 应该是空的。根据 sid 还可以查看 v$session_wait 和 v$session 里面的这个 job 的一些状态。 尝试了下面的方法来重新运行job，当时好像不好用，不过今天来看的时候，job是执行了。现在也不清楚是不是我这个操作起作用了，真晕。 SQL&#38;gt; exec dbms_job.broken(109,true); &#160; PL/SQL procedure successfully completed. &#160; SQL&#38;gt; commit; &#160; Commit complete. &#160; SQL&#38;gt; select job,sid from dba_jobs_running; &#160; JOB SID ---------- [...]]]></description>
			<content:encoded><![CDATA[<p>还是高级复制的问题，这次可能是因为job执行过程中，对方机器刚好重启导致的。反正job是卡在那里了，都10多天了。</p>
<p>查看 dba_jobs_running 表，可以看到卡住的job的 job_id 和 sid 。查看 dba_jobs 表，可以看到相应 job 的信息，this_date 如果有数据的话，表示的是 job 开始执行的时间，next_date 是下次执行 job 的时间，如果 job 正常执行完毕，那么 this_date 应该是空的。根据 sid 还可以查看 v$session_wait 和 v$session 里面的这个 job 的一些状态。</p>
<p>尝试了下面的方法来重新运行job，当时好像不好用，不过今天来看的时候，job是执行了。现在也不清楚是不是我这个操作起作用了，真晕。</p>
<p>
<div class="wp_syntax"><div class="code"><pre class="txt">SQL&amp;gt; exec dbms_job.broken(109,true);
&nbsp;
PL/SQL procedure successfully completed.
&nbsp;
SQL&amp;gt; commit;
&nbsp;
Commit complete.
&nbsp;
SQL&amp;gt; select job,sid from dba_jobs_running;
&nbsp;
       JOB        SID
---------- ----------
       109        656
&nbsp;
SQL&amp;gt; select saddr,sid,serial#,paddr,username,status from v$session where username = 'REPADMIN';
&nbsp;
SADDR           SID    SERIAL# PADDR    USERNAME                       STATUS
-------- ---------- ---------- -------- ------------------------------ --------
973CF8C4        626         27 98F96BB8 REPADMIN                       ACTIVE
973D2E7C        629         10 98F88670 REPADMIN                       ACTIVE
973F11F4        656         10 98F88174 REPADMIN                       ACTIVE
&nbsp;
SQL&amp;gt; alter system kill session '656,10';
&nbsp;
System altered.
&nbsp;
SQL&amp;gt; select saddr,sid,serial#,paddr,username,status from v$session where username = 'REPADMIN';
&nbsp;
no rows selected
&nbsp;
SQL&amp;gt; select job,sid from dba_jobs_running;
&nbsp;
no rows selected
&nbsp;
SQL&amp;gt; select job,log_user,last_date,next_date from dba_jobs where log_user='REPADMIN';
&nbsp;
       JOB LOG_USER                       LAST_DATE
---------- ------------------------------ -------------------
NEXT_DATE
-------------------
       106 REPADMIN                       2007-06-28 16:25:43
2007-06-28 16:35:43
&nbsp;
       109 REPADMIN                       2007-06-28 16:07:38
4000-01-01 00:00:00
&nbsp;
       110 REPADMIN                       2007-06-28 16:25:43
2007-06-28 16:35:43
&nbsp;
&nbsp;
SQL&amp;gt; exec dbms_job.broken(109,false,sysdate);
&nbsp;
PL/SQL procedure successfully completed.
&nbsp;
SQL&amp;gt; commit;
&nbsp;
Commit complete.
&nbsp;
SQL&amp;gt; select job,log_user,last_date,next_date from dba_jobs where log_user='REPADMIN';
&nbsp;
       JOB LOG_USER                       LAST_DATE
---------- ------------------------------ -------------------
NEXT_DATE
-------------------
       106 REPADMIN                       2007-06-28 16:25:43
2007-06-28 16:35:43
&nbsp;
       109 REPADMIN                       2007-06-28 16:07:38
2007-06-28 16:28:40
&nbsp;
       110 REPADMIN                       2007-06-28 16:25:43
2007-06-28 16:35:43</pre></div></div>

<p>此后就我所知道的，就只能等着了。dbms_job.run(job_id) 也可以让 job 立即执行。关键是看 this_date ，他的值就是开始执行 job 的时间，job 如果执行时间太长，而下次执行又太快的话，可能也会导致问题。所以还可以尝试手动执行 job 看看。 dba_jobs 的 waht 字段就是对于的语句。</p>
]]></content:encoded>
			<wfw:commentRss>http://wdicc.com/oracle-jobs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>为resin配置oracle连接池</title>
		<link>http://wdicc.com/resin-and-oracle/</link>
		<comments>http://wdicc.com/resin-and-oracle/#comments</comments>
		<pubDate>Wed, 27 Jun 2007 06:44:36 +0000</pubDate>
		<dc:creator>wd</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Other]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[resin]]></category>

		<guid isPermaLink="false">http://blog.wdicc.com/wordpress/resin-and-oracle/</guid>
		<description><![CDATA[resin 2.x 的配置方法和 3.x 的方法有区别。按照官方文档，做下面的配置。 &#60;database&#62; &#60;jndi-name&#62;oraPool&#60;/jndi-name&#62; &#60;driver&#62; &#60;type&#62;oracle.jdbc.pool.OracleConnectionPoolDataSource&#60;/type&#62; &#60;url&#62;jdbc:oracle:thin:@localhost:1521:dbname&#60;/url&#62; &#60;user&#62;username&#60;/user&#62; &#60;password&#62;password&#60;/password&#62; &#60;/driver&#62; #.... &#60;/database&#62; &#160;在上面的 &#8230;. 这里还可以添加其他的配置信息。配置好之后启动resin，会发现提示类似下面的信息。 conf/resin.conf:218: java.lang.ClassNotFoundException: oracle.jdbc.pool.OracleConnectionPoolDataSource 提示没有找到连接oracle数据库的jdbc驱动。这个驱动在oracle的安装目录里面有。比如我这里是在 /db/oracle/10.1.0/product/10g/jdbc/lib/ 。里面好多文件，具体都什么作用可以看这里。 复制这个目录里面的 classes12.jar 和 nls_charset12.jar 到resin的 lib 目录下面，重新启动 resin 就可以了。本文完成过程中参考了这篇文章。如何使用这个pool，官方文档也有说明。]]></description>
			<content:encoded><![CDATA[<p>resin 2.x 的配置方法和 3.x 的方法有区别。按照<a href="http://www.caucho.com/resin-3.1/doc/db-thirdparty.xtp">官方文档</a>，做下面的配置。</p>
<p>
<div class="wp_syntax"><div class="code"><pre class="txt">&lt;database&gt;
  &lt;jndi-name&gt;oraPool&lt;/jndi-name&gt;
  &lt;driver&gt;
    &lt;type&gt;oracle.jdbc.pool.OracleConnectionPoolDataSource&lt;/type&gt;
    &lt;url&gt;jdbc:oracle:thin:@localhost:1521:dbname&lt;/url&gt;
    &lt;user&gt;username&lt;/user&gt;
    &lt;password&gt;password&lt;/password&gt;
  &lt;/driver&gt;
#....
&lt;/database&gt;</pre></div></div>

<p>&nbsp;在上面的 <font color="#ff0000">&#8230;. </font>这里还可以添加<a href="http://www.caucho.com/resin-3.1/doc/database-tags.xtp">其他的</a>配置信息。配置好之后启动resin，会发现提示类似下面的信息。</p>
<p>
<div class="wp_syntax"><div class="code"><pre class="txt">conf/resin.conf:218: java.lang.ClassNotFoundException: oracle.jdbc.pool.OracleConnectionPoolDataSource</pre></div></div>

<p>提示没有找到连接oracle数据库的jdbc驱动。这个驱动在oracle的安装目录里面有。比如我这里是在 /db/oracle/10.1.0/product/10g/jdbc/lib/ 。里面好多文件，具体都什么作用可以看<a href="http://www.oracle.com/technology/tech/java/sqlj_jdbc/htdocs/jdbc_faq.htm#02_07">这里</a>。</p>
<p>复制这个目录里面的 classes12.jar 和 nls_charset12.jar 到resin的 lib 目录下面，重新启动 resin 就可以了。本文完成过程中参考了<a href="http://dev.csdn.net/article/29/29762.shtm">这篇</a>文章。如何使用这个pool，官方文档也有<a href="http://www.caucho.com/resin-3.1/doc/config-database.xtp#usage/lookup">说明</a>。</p>
]]></content:encoded>
			<wfw:commentRss>http://wdicc.com/resin-and-oracle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>oracle 的高级复制出了点问题，记录下解决办法</title>
		<link>http://wdicc.com/rep-of-oracle/</link>
		<comments>http://wdicc.com/rep-of-oracle/#comments</comments>
		<pubDate>Fri, 18 May 2007 03:21:31 +0000</pubDate>
		<dc:creator>wd</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Other]]></category>
		<category><![CDATA[oracle]]></category>

		<guid isPermaLink="false">http://blog.wdicc.com/wordpress/2007/05/18/332/</guid>
		<description><![CDATA[早上来了同事就来找我，有两台同步的服务器数据库没有同步成功，查查咋回事。 一台A，从B处同步。蒙了一下，果然有个dba_jobs表，呵呵。 SELECT job,log_user,last_date,next_date,failures,broken,what FROM dba_jobs; 在A处执行上面的命令，好像repadmin的job都在正常执行。 在B处执行上面的命令，能查到类似下面的信息 JOB LOG_USER LAST_DATE ---------- ------------------------------ ------------------- NEXT_DATE FAILURES B ------------------- ---------- - 47 repadmin 2006-05-16 19:37:29 4001-01-01 00:00:00 16 Y 显然是job挂了。查看了一下挂的时间，原来是联通机房机柜断电那天，A机器在联通机房，那天断电了6个小时。B机器上面的同步尝试了16次之后就挂起了。解决方法也不难，用repadmin用户登录，然后执行下面的语句，谁的job只能由谁来执行： EXECUTE DBMS_JOB.broken&#40;47,FALSE,sysdate&#41;; 47是job id，sysdate表示当前时间。等会再看吧，执行成功之后会把 failures 重新计数，B变成N。]]></description>
			<content:encoded><![CDATA[<p>早上来了同事就来找我，有两台同步的服务器数据库没有同步成功，查查咋回事。</p>
<p>一台A，从B处同步。蒙了一下，果然有个dba_jobs表，呵呵。</p>

<div class="wp_syntax"><div class="code"><pre class="sql"><span class="kw1">SELECT</span> job<span class="sy0">,</span>log_user<span class="sy0">,</span>last_date<span class="sy0">,</span>next_date<span class="sy0">,</span>failures<span class="sy0">,</span>broken<span class="sy0">,</span>what <span class="kw1">FROM</span> dba_jobs;</pre></div></div>

<p>在A处执行上面的命令，好像repadmin的job都在正常执行。<br />
在B处执行上面的命令，能查到类似下面的信息</p>

<div class="wp_syntax"><div class="code"><pre class="text">JOB LOG_USER                       LAST_DATE
---------- ------------------------------ -------------------
NEXT_DATE             FAILURES B
------------------- ---------- -
47 repadmin                           2006-05-16 19:37:29
4001-01-01 00:00:00         16 Y</pre></div></div>

<p>显然是job挂了。查看了一下挂的时间，原来是联通机房机柜断电那天，A机器在联通机房，那天断电了6个小时。B机器上面的同步尝试了16次之后就挂起了。解决方法也不难，用repadmin用户登录，然后执行下面的语句，<strong>谁的job只能由谁来执行</strong>：</p>

<div class="wp_syntax"><div class="code"><pre class="sql"><span class="kw1">EXECUTE</span> DBMS_JOB<span class="sy0">.</span>broken<span class="br0">&#40;</span><span class="nu0">47</span><span class="sy0">,</span><span class="kw1">FALSE</span><span class="sy0">,</span>sysdate<span class="br0">&#41;</span>;</pre></div></div>

<p>47是job id，sysdate表示当前时间。等会再看吧，执行成功之后会把 failures 重新计数，B变成N。</p>
]]></content:encoded>
			<wfw:commentRss>http://wdicc.com/rep-of-oracle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>oracle在rh里面的安装流程</title>
		<link>http://wdicc.com/install-oracle-in-rh/</link>
		<comments>http://wdicc.com/install-oracle-in-rh/#comments</comments>
		<pubDate>Wed, 14 Mar 2007 03:22:30 +0000</pubDate>
		<dc:creator>wd</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Other]]></category>
		<category><![CDATA[oracle]]></category>

		<guid isPermaLink="false">http://blog.wdicc.com/wordpress/2007/03/14/308/</guid>
		<description><![CDATA[第1部分 安装操作系统 首先需要安装系统&#8230;.Red Hat Enterprise Linux 2.1，Red Hat Enterprise Linux 3，Novell SUSE Linux Enterprise Server 8 是通过 oracle 10g认证的三个linux发行套件，不知道oracle 10.3有没有对这个修改。默认情况下，oracle 10g只能在rh的这两个版本安装，如果不是上面两个，运行安装程序会直接打印错误。不过也有方法在别的版本安装的，后面有说明。 按照上一篇文章，安装linux的时候可以不选择图形界面，这样还可以节省不少空间。按照oracle的文档，说需要安装下面的这些软件包。 rpm -q gcc make binutils openmotif setarch compat-db compat-gcc \ compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel 我实际安装过程中，compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel 这几个包我没有安装也可以安装oracle。 第2部分 针对oracle配置linux oracle 对系统硬件配置的一些要求。 内存 > 512MB swap > 1GB oracle软件 > 2.5GB 数据文件 > [...]]]></description>
			<content:encoded><![CDATA[<p><b>第1部分 安装操作系统</b></p>
<p>首先需要安装系统&#8230;.Red Hat Enterprise Linux 2.1，Red Hat Enterprise Linux 3，Novell SUSE Linux Enterprise Server 8 是通过 oracle 10g认证的三个linux发行套件，不知道oracle 10.3有没有对这个修改。默认情况下，oracle 10g只能在rh的这两个版本安装，如果不是上面两个，运行安装程序会直接打印错误。不过也有方法在别的版本安装的，后面有说明。</p>
<p>按照<a href="http://blog.wdicc.com/wordpress/2007/03/14/307/">上一篇文章</a>，安装linux的时候可以不选择图形界面，这样还可以节省不少空间。按照oracle的文档，说需要安装下面的这些软件包。</p>

<div class="wp_syntax"><div class="code"><pre class="bash">rpm <span class="re5">-q</span> <span class="kw2">gcc</span> <span class="kw2">make</span> binutils openmotif setarch compat-db compat-gcc \
compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel</pre></div></div>

<p>我实际安装过程中，compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel 这几个包我没有安装也可以安装oracle。<br />
<span id="more-308"></span><br />
<b>第2部分 针对oracle配置linux</b></p>
<p>oracle 对系统硬件配置的一些要求。</p>
<blockquote><p>内存 > 512MB<br />
swap > 1GB<br />
oracle软件 > 2.5GB<br />
数据文件  > 1.2GB<br />
/tmp  > 400MB</p></blockquote>
<p>创建oracle用户和组</p>

<div class="wp_syntax"><div class="code"><pre class="bash"><span class="sy0">/</span>usr<span class="sy0">/</span>sbin<span class="sy0">/</span>groupadd oinstall
<span class="sy0">/</span>usr<span class="sy0">/</span>sbin<span class="sy0">/</span>groupadd dba
<span class="sy0">/</span>usr<span class="sy0">/</span>sbin<span class="sy0">/</span>useradd <span class="re5">-m</span> <span class="re5">-g</span> oinstall <span class="re5">-G</span> dba oracle
<span class="kw2">id</span> oracle</pre></div></div>

<p>要记得为oracle用户设置密码。</p>

<div class="wp_syntax"><div class="code"><pre class="bash"><span class="kw2">passwd</span> oracle</pre></div></div>

<p>创建oracle的安装目录，要注意前面对分区的大小要求。</p>

<div class="wp_syntax"><div class="code"><pre class="bash"><span class="kw2">mkdir</span> <span class="re5">-p</span> <span class="sy0">/</span>u01<span class="sy0">/</span>app<span class="sy0">/</span>oracle
<span class="kw2">mkdir</span> <span class="re5">-p</span> <span class="sy0">/</span>u02<span class="sy0">/</span>oradata
<span class="kw2">chown</span> <span class="re5">-R</span> oracle:oinstall <span class="sy0">/</span>u01<span class="sy0">/</span>app<span class="sy0">/</span>oracle <span class="sy0">/</span>u02<span class="sy0">/</span>oradata
<span class="kw2">chmod</span> <span class="re5">-R</span> <span class="nu0">775</span> <span class="sy0">/</span>u01<span class="sy0">/</span>app<span class="sy0">/</span>oracle <span class="sy0">/</span>u02<span class="sy0">/</span>oradata</pre></div></div>

<p>配置linux内核参数</p>

<div class="wp_syntax"><div class="code"><pre class="bash"><span class="kw2">cat</span> <span class="sy0">&gt;&gt;</span> <span class="sy0">/</span>etc<span class="sy0">/</span>sysctl.conf <span class="co2">&lt;&lt;EOF
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
EOF</span>
<span class="sy0">/</span>sbin<span class="sy0">/</span>sysctl <span class="re5">-p</span></pre></div></div>

<p>为 oracle 用户设置 Shell 限制。</p>

<div class="wp_syntax"><div class="code"><pre class="bash"><span class="kw2">cat</span> <span class="sy0">&gt;&gt;</span> <span class="sy0">/</span>etc<span class="sy0">/</span>security<span class="sy0">/</span>limits.conf <span class="co2">&lt;&lt;EOF
oracle               soft    nproc   2047
oracle               hard    nproc   16384
oracle               soft    nofile  1024
oracle               hard    nofile  65536
EOF</span>
&nbsp;
<span class="kw2">cat</span> <span class="sy0">&gt;&gt;</span> <span class="sy0">/</span>etc<span class="sy0">/</span>pam.d<span class="sy0">/</span><span class="kw2">login</span> <span class="co2">&lt;&lt;EOF
session    required     /lib/security/pam_limits.so
EOF</span>
&nbsp;
<span class="kw2">cat</span> <span class="sy0">&gt;&gt;</span> <span class="sy0">/</span>etc<span class="sy0">/</span>profile <span class="co2">&lt;&lt;EOF
if [ \$USER = &quot;oracle&quot; ]; then  
if [ \$SHELL = &quot;/bin/ksh&quot; ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
EOF</span>
&nbsp;
<span class="kw2">cat</span> <span class="sy0">&gt;&gt;</span> <span class="sy0">/</span>etc<span class="sy0">/</span>csh.login <span class="co2">&lt;&lt;EOF
if ( \$USER == &quot;oracle&quot; ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif
EOF</span></pre></div></div>

<p>设置oracle 用户的环境变量。通过修改 .bash_profile 来完成。</p>

<div class="wp_syntax"><div class="code"><pre class="bash"><span class="re2">ORACLE_BASE</span>=<span class="sy0">/</span>u01<span class="sy0">/</span>app<span class="sy0">/</span>oracle; <span class="kw3">export</span> ORACLE_BASE
<span class="re2">ORACLE_BASE</span>=<span class="sy0">/</span>u01<span class="sy0">/</span>app<span class="sy0">/</span>oracle; <span class="kw3">export</span> ORACLE_BASE
<span class="re2">ORACLE_SID</span>=demo1; <span class="kw3">export</span> ORACLE_SID</pre></div></div>

<p>其他的变量等安装完了再设置。</p>
<p><b>第3部分 安装 Oracle</b></p>
<p>使用一个修改好的rsp文件，然后执行下面的命令。</p>

<div class="wp_syntax"><div class="code"><pre class="bash">.<span class="sy0">/</span>runInstaller <span class="re5">-silent</span> <span class="re5">-responseFile</span> <span class="sy0">/</span>tmp<span class="sy0">/</span>recorded.rsp</pre></div></div>

<p>然后就等着吧，看那些log或者看屏幕输出都可以看到安装进度。</p>
<p>第4部分 可能会遇到的问题</p>
<p>下面这些是从网上找到的，我用到的就是第1和9条，还没有遇到其他问题。</p>
<p>1、运行runInstaller，错误提示如下：<br />
Checking requirements&#8230;<br />
Checking operating system version: must be redhat-2.1,redhat-3,SuSE-9,SuSE-8,UnitedLinux-1.0<br />
Failed<<<<<br />
解决方法：<br />
方法一：<br />
在/etc下创建UnitedLinux-release文件<br />
#cat > /etc/UnitedLinux-release << EOF<br />
>UnitedLinux 1.0 (i586)<br />
>VERSION=1.0<br />
>EOF<br />
然后就可以正常启动安装程序。注意不要使用vi编辑该文件，否则可能会引起ORA-12547: TNS: lost contact的错误。</p>
<p>方法二：<br />
运行runInstaller -ignoreSysPrereqs，这样会跳过检查</p>
<p>方法三：<br />
修改Oracle 的/&#8230;/disk1/install/linux/oraparam.ini这个参数文件</p>
<p>2、安装界面或者netca界面、dbca界面显示很多”口口”样子的乱码</p>
<p>解决办法:查看locale输出<br />
# locale<br />
LANG=zh_CN.GB18030<br />
LC_CTYPE=zh_CN.GB18030<br />
LC_NUMERIC=”zh_CN.GB18030&#8243;<br />
LC_TIME=”zh_CN.GB18030&#8243;<br />
LC_COLLATE=”zh_CN.GB18030&#8243;<br />
LC_MONETARY=”zh_CN.GB18030&#8243;<br />
LC_MESSAGES=”zh_CN.GB18030&#8243;<br />
LC_PAPER=”zh_CN.GB18030&#8243;<br />
LC_NAME=”zh_CN.GB18030&#8243;<br />
LC_ADDRESS=”zh_CN.GB18030&#8243;<br />
LC_TELEPHONE=”zh_CN.GB18030&#8243;<br />
LC_MEASUREMENT=”zh_CN.GB18030&#8243;<br />
LC_IDENTIFICATION=”zh_CN.GB18030&#8243;<br />
LC_ALL=<br />
执行#export LANG=en_US 然后重新调用安装程序.</p>
<p>3、Oracle10g自动检查操作系统是否符合安装的条件。当按照上面的脚本对系统进行配置后，会有警告提示。[Retry]会看到如下提示：</p>
<p>Checking for openmotif-2.1.30-11; found Not found. Failed <<<<<br />
Check complete. The overall result of this check is: Failed <<<<<br />
Problem: Some recommended packages are missing (see above)</p>
<p>下载并安装openmotif-2.1.30-11软件包后，通过验证。</p>
<p>备注：有oracle文档说明：对于在RHELAS3上安装oracle10g，需要openmotif-2.2.2-16或更高版本；<br />
但下载openmotif-2.2.2-16.src.rpm，在机器上编译安装，oracle自动检查仍然有警告提示。</p>
<p>4、安装程序在进行到74%的时，按照提示用root身份运行$ORACLE_HOME/root.sh，出现以下错误：</p>
<p>./root.sh: line 227: /var/opt/oracle/srvConfig.loc: 没有那个文件或目录<br />
./root.sh: line 228: /var/opt/oracle/srvConfig.loc: 没有那个文件或目录<br />
/bin/chown: 无法取得 ‘/var/opt/oracle/srvConfig.loc’的属性：没有那个文件或目录<br />
/bin/chgrp: 无法取得 ‘/var/opt/oracle/srvConfig.loc’的属性：没有那个文件或目录<br />
/bin/chmod: 无法取得 ‘/var/opt/oracle/srvConfig.loc’的属性：没有那个文件或目录<br />
Successfully accumulated necessary OCR keys.<br />
Creating OCR keys for user 'root', privgrp 'root'..<br />
OCR create keys failed, OCR error 26<br />
Failed to initialize Oracle Cluster Registry for cluster</p>
<p>解决方法：<br />
# mkdir /var/opt/oracle<br />
# chown -R oracle.dba /var/opt/oracle<br />
# ./root.sh</p>
<p>5、 数据库启动：<br />
$sqlplus /nolog<br />
SQL>connect / as sysdba<br />
SQL>startup</p>
<p>ORA-00371: not enougsh shared pool memory, should be atleast 52132659 bytes.</p>
<p>解决方法：<br />
这个错误并非是内核参数设置的问题，也和系统的物理内存大小无关。编辑$ORACLE_HOME/dbs/init$GID.ora文件：<br />
shared_pool_size = 52132659</p>
<p>6、 数据库启动：<br />
$sqlplus /nolog<br />
SQL>connect / as sysdba<br />
SQL>startup</p>
<p>ora-01102: cannot mount database in EXCLUSIVE mode</p>
<p>解决方法：<br />
完全关闭数据库,更改$ORACLE_HOME/dbs/init.ora文件里的db_name为建库时定义的“全局数据库名”，然后再重新启动数据库</p>
<p>7、 数据库启动：<br />
$sqlplus /nolog<br />
SQL>connect / as sysdba<br />
SQL>startup</p>
<p>ora-00205:error in identifying conrolfile, check alert log for more info</p>
<p>解决方法：<br />
SQL>show parameter control_files<br />
SQL>CREATE CONTROLFILE<br />
将$ORACLE_BASE/admin/$GID/pfile/init$SID.ora***************拷贝到$ORACLE_HOME/dbs下，命名为init$SID.ora,即可解决。</p>
<p>8、数据库启动：<br />
$sqlplus /nolog<br />
SQL>connect / as sysdba<br />
SQL>startup</p>
<p>ORA-01990:error opening password file &#8216;$ORACLE_NAME/dbs/orapw&#8217;<br />
ORA-27037:unable to obtain file status<br />
Linux Error:2: No such file or directory<br />
Additional information: 3</p>
<p>解决方法：<br />
将$ORACLE_HOME/dbs下的orapw$db_name文件拷贝生成一个orapw文件。</p>
<p>8、建库的过程中或者连接数据库的时候提示：<br />
ORA-12547: TNS: lost contact<br />
引起该错误的环境比较复杂，原因可能是：<br />
1、用vi编辑的/etc/UnitedLinux-release文件<br />
2、内核参数设置不正确<br />
3、察看一下listener是否正常启动: lsnrct1 status<br />
4、机器负载过大</p>
<p>9、 emca 的web界面的乱码</p>
<p>http://www.eygle.com/archives/2006/03/oracle10g_em_font_change.html</p>
<p>一直没怎么用10g的EM工具,今天打开来看看,发现也有相传已久的乱码问题.网上也流传着N种解决方案,仔细看一下,其实这个问题很好解决.</p>
<p>如果安装时,我们系统环境变量设置的是中文环境,那么就不会有这个问题.这个问题根本原因在于安装时,JDK/JRE字符集的自动选择.</p>
<p>在 $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</p>
<p>[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 </p>
<p>我们只要用合适的中文字符集文件替换缺省文件即可,我选择使用font.properties.zh_CN.Redhat来替换缺省字体定义文件:</p>
<p>[oracle@danaly lib]$ cp font.properties.zh_CN.Redhat font.properties </p>
<p>替换之后需要清理一下Cache,重启EM即可.</p>
<p>Cache路径通常位于:</p>
<p>$ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs </p>
<p>清除所有gif文件即可.然后重新启动EM:</p>
<p>[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  </p>
<p>现在登陆Web页面,EM显示就可以正常显示中文了.</p>
<p>参考文章： <a href="http://www.oracle.com/technology/global/cn/pub/articles/smiley_10gdb_install.html">这里</a></p>
]]></content:encoded>
			<wfw:commentRss>http://wdicc.com/install-oracle-in-rh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>oracle 文本界面的安装</title>
		<link>http://wdicc.com/oracle-text-install/</link>
		<comments>http://wdicc.com/oracle-text-install/#comments</comments>
		<pubDate>Wed, 14 Mar 2007 02:29:10 +0000</pubDate>
		<dc:creator>wd</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Other]]></category>
		<category><![CDATA[oracle]]></category>

		<guid isPermaLink="false">http://blog.wdicc.com/wordpress/2007/03/14/307/</guid>
		<description><![CDATA[oracle 的手册里面讲的通常都是图形界面下面的安装，就是用oracle登录桌面，然后运行安装程序的方法。可实际上维护服务器的时候，大多用的还是远程文本界面。这样很有必要看看如何通过文本界面来安装oracle。 oracle本身的安装程序也提供了这个方法，就是使用 responseFile 。这个 responseFile 其实就是在图形界面安装的时候的一些选择，保存到文件之后，直接告诉安装程序从这里读取设置就好了。将oracle的安装文件 ship.db.lnx32.cpio.gz 解压： gunzip ship.db.lnx32.cpio.gz cpio -idmv &#60; ship.db.cpio 这样可以看到有个Disk1的文件夹，里面有个response目录，里面好多response文件，不过我还不知道这些有什么区别，里面设置项也很多，还没弄明白。我使用的不是这里的response文件。是通过下面的方法获取的rsp文件。 可以通过在记录模式中运行软件或通过手动编辑示例响应文件来创建响应文件。以下是一个基本演示： 1. 用此命令启动 OUI 来创建响应文件： ./runInstaller -record -destinationFile /tmp/recorded.rsp 2. 选择您需要的所有部分（源目标目录、主目录、主目录名、产品）。 3. 当您看到 Summary 屏幕时，不要单击 Install，而是单击 Cancel。 4. 仔细查看在 tmp/recorded.rsp 中创建的结果响应文件。如果需要，可以手动编辑该文件，只要您遵守使用规定的格式即可（请参见文档）。 5. 现在如下执行静默安装： ./runInstaller -silent -responseFile /tmp/recorded.rsp 在运行脚本时将会报告安装的进度。 如果您由于响应文件中的条目不正确而遇到安装故障，安装将失败并显示一条诊断消息。详细信息可在 oraInventory/logs 目录中找到。在每次使用响应文件运行 OUI 时，会创建具有 installActions-.log 和 silentInstall.log 格式名称的日志。 这样，只需要找台机器在图形界面下面运行一下安装程序，生成一个rsp文件，然后放到真正需要安装的服务器上面，修改一下安装路径，设置一下sys密码，就可以开始安装了。]]></description>
			<content:encoded><![CDATA[<p>oracle 的手册里面讲的通常都是图形界面下面的安装，就是用oracle登录桌面，然后运行安装程序的方法。可实际上维护服务器的时候，大多用的还是<font color="#3333ff">远程</font>文本界面。这样很有必要看看如何通过文本界面来安装oracle。</p>
<p>oracle本身的安装程序也提供了这个方法，就是使用 responseFile 。这个 responseFile 其实就是在图形界面安装的时候的一些选择，保存到文件之后，直接告诉安装程序从这里读取设置就好了。将oracle的安装文件 ship.db.lnx32.cpio.gz 解压：</p>

<div class="wp_syntax"><div class="code"><pre class="bash"><span class="kw2">gunzip</span> ship.db.lnx32.cpio.gz
<span class="kw2">cpio</span> <span class="re5">-idmv</span> <span class="sy0">&lt;</span> ship.db.cpio</pre></div></div>

<p>这样可以看到有个Disk1的文件夹，里面有个response目录，里面好多response文件，不过我还不知道这些有什么区别，里面设置项也很多，还没弄明白。我使用的不是这里的response文件。是通过下面的方法获取的rsp文件。</p>
<p>可以通过在记录模式中运行软件或通过手动编辑示例响应文件来创建响应文件。以下是一个基本演示：</p>
<p>   1. 用此命令启动 OUI 来创建响应文件：</p>
<p>      ./runInstaller -record -destinationFile /tmp/recorded.rsp</p>
<p>   2. 选择您需要的所有部分（源目标目录、主目录、主目录名、产品）。<br />
   3. 当您看到 Summary 屏幕时，不要单击 Install，而是单击 Cancel。<br />
   4. 仔细查看在 tmp/recorded.rsp 中创建的结果响应文件。如果需要，可以手动编辑该文件，只要您遵守使用规定的格式即可（请参见文档）。<br />
   5. 现在如下执行静默安装：</p>
<p>      ./runInstaller -silent -responseFile /tmp/recorded.rsp</p>
<p>      在运行脚本时将会报告安装的进度。</p>
<p>如果您由于响应文件中的条目不正确而遇到安装故障，安装将失败并显示一条诊断消息。详细信息可在 oraInventory/logs 目录中找到。在每次使用响应文件运行 OUI 时，会创建具有 installActions-<时间戳>.log 和 silentInstall<时间戳>.log 格式名称的日志。</p>
<p>这样，只需要找台机器在图形界面下面运行一下安装程序，生成一个rsp文件，然后放到真正需要安装的服务器上面，修改一下安装路径，设置一下sys密码，就可以开始安装了。</p>
]]></content:encoded>
			<wfw:commentRss>http://wdicc.com/oracle-text-install/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>昨天操作了好多次oracle的备份和恢复</title>
		<link>http://wdicc.com/oracle-backup-and-recover/</link>
		<comments>http://wdicc.com/oracle-backup-and-recover/#comments</comments>
		<pubDate>Thu, 09 Nov 2006 06:23:38 +0000</pubDate>
		<dc:creator>wd</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[备份]]></category>
		<category><![CDATA[恢复]]></category>

		<guid isPermaLink="false">http://blog.wdicc.com/wordpress/2006/11/09/261/</guid>
		<description><![CDATA[oracle的数据库文件一旦建立就会一直占用磁盘空间，表空间用尽的时候，就需要为表空间添加数据文件。可是，从表里面删除数据的时候，表空间却不会释放，所以磁盘空间占用只会越来越大。前段时间一个数据库的表空间不足了，放数据的分区也磁盘空间不足了，必须得想办法释放一下空间才行，操作说起来其实也简单，就是倒腾。 操作值钱咱先给现在的表空间做一个备份。然后新建一个用户，给这个用户建立表空间，按照备份的大小添加数据文件。然后将备份导入新的表空间，切换应用使用的用户。删除之前用户的表空间，删除数据文件。然后给他重新建立表空间数据文件，切换回来。然后将新的用户里面的数据导出，导入到旧的用户下面。这样就操作完了。 导出导入的时候可以按照exp和imp帮助里面的那个例子，row=n表示不倒数据，只导结构。这样导出似乎也会有些问题，什么seq不会倒出来，需要重新弄，不太明白这个。]]></description>
			<content:encoded><![CDATA[<p>oracle的数据库文件一旦建立就会一直占用磁盘空间，表空间用尽的时候，就需要为表空间添加数据文件。可是，从表里面删除数据的时候，表空间却不会释放，所以磁盘空间占用只会越来越大。前段时间一个数据库的表空间不足了，放数据的分区也磁盘空间不足了，必须得想办法释放一下空间才行，操作说起来其实也简单，就是倒腾。</p>
<p>操作值钱咱先给现在的表空间做一个备份。然后新建一个用户，给这个用户建立表空间，按照备份的大小添加数据文件。然后将备份导入新的表空间，切换应用使用的用户。删除之前用户的表空间，删除数据文件。然后给他重新建立表空间数据文件，切换回来。然后将新的用户里面的数据导出，导入到旧的用户下面。这样就操作完了。</p>
<p>导出导入的时候可以按照exp和imp帮助里面的那个例子，row=n表示不倒数据，只导结构。这样导出似乎也会有些问题，什么seq不会倒出来，需要重新弄，不太明白这个。</p>
]]></content:encoded>
			<wfw:commentRss>http://wdicc.com/oracle-backup-and-recover/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>数据恢复步骤</title>
		<link>http://wdicc.com/recover-date/</link>
		<comments>http://wdicc.com/recover-date/#comments</comments>
		<pubDate>Sat, 05 Aug 2006 08:48:01 +0000</pubDate>
		<dc:creator>wd</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[恢复]]></category>

		<guid isPermaLink="false">http://blog.wdicc.com/wordpress/2006/08/05/222/</guid>
		<description><![CDATA[切换到oracle用户 sqlplus conn / AS sysdba DROP USER &#60;USER&#62; cascade; CREATE USER &#60;USER&#62; IDENTIFIED BY &#60;PASSWORD&#62; DEFAULT tablespace &#60;TABLESPACE&#62;; exit imp &#60;USER&#62;/&#60;PASSWORD&#62; file=&#60;FILE_NAME&#62; fromuser=&#60;USER&#62; touser=&#60;USER&#62; *为要恢复的用户，为其密]]></description>
			<content:encoded><![CDATA[
<div class="wp_syntax"><div class="code"><pre class="sql">切换到oracle用户
sqlplus
conn <span class="sy0">/</span> <span class="kw1">AS</span> sysdba
<span class="kw1">DROP</span> <span class="kw1">USER</span> <span class="sy0">&lt;</span>USER<span class="sy0">&gt;</span> cascade;
<span class="kw1">CREATE</span> <span class="kw1">USER</span> <span class="sy0">&lt;</span>USER<span class="sy0">&gt;</span> <span class="kw1">IDENTIFIED</span> <span class="kw1">BY</span> <span class="sy0">&lt;</span>PASSWORD<span class="sy0">&gt;</span> <span class="kw1">DEFAULT</span> tablespace <span class="sy0">&lt;</span>TABLESPACE<span class="sy0">&gt;</span>;
exit
imp <span class="sy0">&lt;</span>USER<span class="sy0">&gt;/&lt;</span>PASSWORD<span class="sy0">&gt;</span> file<span class="sy0">=&lt;</span>FILE_NAME<span class="sy0">&gt;</span> fromuser<span class="sy0">=&lt;</span>USER<span class="sy0">&gt;</span> touser<span class="sy0">=&lt;</span>USER<span class="sy0">&gt;</span></pre></div></div>

<pre lang="txt">
*<USER>为要恢复的用户，<PASSWORD>为其密</p>
]]></content:encoded>
			<wfw:commentRss>http://wdicc.com/recover-date/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

