appb_hp.htm

来自「Debian中文参考手册,系统介绍了Debian系统」· HTM 代码 · 共 472 行 · 第 1/2 页

HTM
472
字号
Implementing Asynchronous I/O
</font>
</h3>
<p>If you want to use asynchronous I&#047;O on HP, you must use raw partitions for database files. Use the System Administrator Management (SAM) utility to configure the asynchronous disk driver into the HP kernel.
</p>
<p>To add the asynchronous disk driver and configure the kernel using the SAM utility:
</p>
<ol type="1" start="1">
<li>
<p>Enter the following command as the <code>root</code> user:
</p>
<pre>&#035; sam

</pre>
</li>
<li>
<p>Choose the Kernel Configuration area.
</p>
</li>
<li>
<p>Choose the Drivers area.
</p>
</li>
<li>
<p>Choose the asynchronous disk driver (<code>asyncdsk</code>).
</p>
</li>
<li>
<p>Select Actions&gt;Add Driver to Kernel.
</p>
</li>
<li>
<p>Select List&gt;Configurable Parameters.
</p>
</li>
<li>
<p>Choose the MAX&#095;ASYNC&#095;PORTS parameter.
</p>
</li>
<li>
<p>Select Action&gt;Modify Configurable Parameter.
</p>
</li>
<li>
<p>Specify a new value for the parameter, then choose OK.
</p>
<p>The MAX&#095;ASYNC&#095;PORTS parameter is a configurable HP kernel parameter that controls the maximum number of processes that can open the <code>&#047;dev&#047;async</code> file simultaneously.
</p>
<p>The system displays an error when a process tries to open the <code>&#047;dev&#047;async</code> file after the maximum number of processes have opened the file. This error can reduce performance on systems with a large number of shadow processes or many parallel query slaves performing asynchronous I&#047;O. This error is not recorded. To avoid this error, estimate the highest likely number of processes that can access the <code>&#047;dev&#047;async</code> file and set the MAX&#095;ASYNC&#095;PORTS parameter to this value. 
</p>
</li>
<li>
<p>Choose Actions&gt;Process a New Kernel.
</p>
</li>
<li>
<p>Select one of the following options, then choose OK: 
</p>
<ul>
<li type="disc">
<p>Move Kernel Into Place and Shutdown System&#047;Reboot Now 
</p>
</li>
<li type="disc">
<p>Do Not Move Kernel Into Place: Do Not Shutdown&#047;Reboot Now 
</p>
</li>
</ul>
<p>If you choose the second option, the new kernel, <code>vmunix&#095;test</code>, and the <code>system.SAM</code> configuration file used to create it, are both created in the <code>&#047;stand&#047;build</code> directory.
</p>
</li>
</ol>
<p>To use the new kernel:
</p>
<ol type="1" start="1">
<li>
<p>Enter the following command to move the new kernel into place:
</p>
<pre>&#035; &#047;usr&#047;sbin&#047;kmupdate

</pre>
</li>
<li>
<p>Enter the following command to reboot the system:
</p>
<pre>&#035; shutdown -r

</pre>
</li>
</ol>
<p>To enable asynchronous I&#047;O operations using the HP asynchronous device driver:
</p>
<ol type="1" start="1">
<li>
<p>Log in as the <code>root</code> user.
</p>
</li>
<li>
<p>Enter the following command to create a new device file:
</p>
<pre>&#035; &#047;sbin&#047;mknod &#047;dev&#047;async c 101 0x0

</pre>
</li>
<li>
<p>Enter the following command to verify that the <code>&#047;dev&#047;async</code> device file exists and has the major number 101:
</p>
<pre>&#035; ls -l &#047;dev&#047;async

</pre>
<p>The output of this command should look similar to the following:
</p>
<pre>crw------- 1 orcle   oracle     101 0x000000 Oct 28 10:32  &#047;dev&#047;async

</pre>
</li>
<li>
<p>If necessary, give the device file the UNIX owner and permissions consistent with those of the Oracle software owner.
</p>
<p>If the Oracle software owner is <code>oracle</code>, enter the following commands:
</p>
<pre>&#035; &#047;usr&#047;bin&#047;chown oracle:dba &#047;dev&#047;async
&#035; &#047;usr&#047;bin&#047;chmod 660 &#047;dev&#047;async

</pre>
</li>
</ol>
</div class="sect2">
<div class="sect2">
<!--
infolevel=all
infotype=general
--><a id="sthref679" name="sthref679"></a>
<h3>
<font face="arial, helvetica, sans-serif" color="#330099">
Verifying Asynchronous I&#047;O
</font>
</h3>
<p>To verify that asynchronous I&#047;O is working:
</p>
<ol type="1" start="1">
<li>
<p>Set the DISK&#095;ASYNCH&#095;IO initialization parameter to TRUE. 
</p>
</li>
<li>
<p>Start the Oracle database.
</p>
</li>
<li>
<p>Enter the following command to start the GlancePlus&#047;UX utility:
</p>
<pre>&#036; gpm

</pre>
</li>
<li>
<p>In the main window, choose Reports&gt;Process List.
</p>
</li>
<li>
<p>In the Process List window, select the database writer process and choose Reports&gt;Process Open Files.
</p>
<p>The list of files currently opened by the database writer process appears.
</p>
</li>
<li>
<p>Look for the <code>&#047;dev&#047;async</code> file or the mode 101 0x000000 in the list of open files.
</p>
<p>If either the <code>&#047;dev&#047;async</code> file or the mode 101 0x000000 is in the list, the <code>&#047;dev&#047;async</code> file has been opened by the database writer process. This means that the database writer process is executing I&#047;O through the HP asynchronous device driver and is working properly.
</p>
</li>
</ol>
</div class="sect2">
<div class="sect2">
<!--
infolevel=all
infotype=general
--><a id="sthref680" name="sthref680"></a>
<h3>
<font face="arial, helvetica, sans-serif" color="#330099">
<a id="sthref681" name="sthref681"></a>Asynchronous Flag in SGA
</font>
</h3>
<p>Oracle9<em>i</em> on HP uses a non-blocking polling facility provided by the HP asynchronous driver to check the status of I&#047;O operations. This polling is performed by checking a flag that is updated by the asynchronous driver based on the status of the I&#047;O operations submitted. HP requires that this flag be in shared memory.
</p>
<p>Oracle9<em>i</em> configures an asynchronous flag in the SGA for each Oracle process. Oracle9<em>i</em> on HP has a true asynchronous I&#047;O mechanism where I&#047;O requests can be issued even though some previously issued I&#047;O operations are not complete. This helps to enhance performance and ensures good scalability of parallel I&#047;O processes.
</p>
<p>Before Oracle8<em>i</em> release 8.1.7, the Oracle server was able to execute I&#047;O operations only from shared memory using the HP asynchronous driver. Oracle8<em>i</em> release 8.1.7 executes I&#047;O operations from both shared memory and process-private regions using the new HP asynchronous driver. However, I&#047;O operations through the asynchronous driver are not asynchronous in nature. This is because Oracle8<em>i</em> must perform a blocking wait to check the status of I&#047;O operations submitted to the asynchronous driver. Doing this causes some Oracle processes, for example the database writer process, to essentially execute synchronous I&#047;O.
</p>
</div class="sect2">
</div class="sect1">
</p>
</div>
<!-- Start Footer -->
<div>
<hr />
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<td valign="bottom" width="33%">
<table cellspacing="0" cellpadding="0">
<tr>
<td align="center">
<a href="appa_aix.htm">
<img src="../Support/gifs/larrow.gif" alt="Previous" border="0" height="30" width="30"></a>
</td>
<td align="center">
<a href="appc_ln.htm">
<img src="../Support/gifs/rarrow.gif" alt="Next" border="0" height="30" width="30"></a>
</td>
</tr>
</table>
</td>
<td align="center" width="34%">
<a href="../Support/html/cpyr.htm">
<img src="../Support/gifs/oracle.gif" alt="Oracle Logo" border="0"><br />
<font size="-2">Copyright&nbsp;&copy;&nbsp;1996, 2002&nbsp;Oracle&nbsp;Corporation</font></a>
<br />
<font size="-2">All&nbsp;rights&nbsp;reserved</font>
</td>
<td valign="bottom" align="right" width="33%">
<table cellspacing="0" cellpadding="0" width="144">
</tr>

<td align="center" valign="top" width="25%"><a href="toc.htm"><img src="../Support/gifs/conticon.gif" alt="Go To Table Of Contents" border="0" height="30" width="30"><br /><font size="-2">Contents</font></a></td>

<td align="center" valign="top" width="25%"><a href="index.htm"><img src="../Support/gifs/indxicon.gif" alt="Go To Index" border="0" height="30" width="30"><br /><font size="-2">Index</font></a></td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</body>
</html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?