appa_aix.htm

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

HTM
1,190
字号
<strong>Note:</strong>
</font>
</p>Processor binding is a complicated issue and it should be handled with care. Processes bound to a processor cannot migrate to different processors even if these processors are free. This might degrade application performance. An environment of homogenous applications with a balanced load is more suitable for processor binding.
</td>
</tr></tbody>
</table><br />
</div>
<p>The binding of a process to a processor is not exclusive. The processor is free to execute other processes. 
</p>
<div class="sect3"><a id="sthref660" name="sthref660"></a>
<h4>
<font face="arial, helvetica, sans-serif" color="#330099">
Processor Binding in a Networked Client and Server Environment
</font>
</h4>
<p>When an Oracle client process connects to an Oracle server process using an Oracle Net Services listener, the server process can be easily bound to a processor by binding the listener process. All Oracle server processes that the listener subsequently spawns are bound to the same processor.
</p>
<p>One way to do this is to start multiple listeners, each listening on its own port. You must customize the <code>&#036;ORACLE&#095;HOME&#047;network&#047;admin&#047;listener.ora</code> file to have one set of lines for each listener. You launch multiple listeners on the server side. On the client side, you might want to customize the <code>tnsnames.ora</code> file so that clients or even applications connect to different ports that are listened on by different listeners. For example, you can modify the <code>listener.ora</code> file and have two listeners, L1 and L2, that listen on ports 1521 and 1522, respectively, as follows:
</p>
<ol type="1" start="1">
<li>
<p>Modify the <code>listener.ora</code> file as follows:
</p>
<pre>L1 &#061;
  (ADDRESS&#095;LIST &#061;
     (ADDRESS&#061; (PROTOCOL&#061; TCP)(Host&#061; nowhere)(Port&#061; 1521))
  )
SID&#095;LIST&#095;L1 &#061;
  (SID&#095;LIST &#061;
    (SID&#095;DESC &#061;
      (ORACLE&#095;HOME&#061; &#047;oracle)
      (SID&#095;NAME &#061; ordb)
    )
  )
L2 &#061;
  (ADDRESS&#095;LIST &#061;
      (ADDRESS&#061; (PROTOCOL&#061; TCP)(Host&#061; nowhere)(Port&#061; 1522))
  )
SID&#095;LIST&#095;L2 &#061;
  (SID&#095;LIST &#061;
    (SID&#095;DESC &#061;
      (ORACLE&#095;HOME&#061; &#047;oracle)
      (SID&#095;NAME &#061; ordb)
    )
  )

</pre>
</li>
<li>
<p>Start these two listeners:
</p>
<pre>&#036; lsnrctl start L1
&#036; lsnrctl start L2

</pre>
</li>
<li>
<p>Determine the process ids for the two listeners:
</p>
<pre>&#036; ps -ef &#124; grep tnslsnr

</pre>
</li>
<li>
<p>Bind the listener processes to particular processors:
</p>
<pre>&#036; bindprocessor <em>process&#095;id&#095;for&#095;L1 id&#095;for&#095;process1</em>
&#036; bindprocessor<em> process&#095;id&#095;for&#095;L2 id&#095;for&#095;process2</em>

</pre>
<p>In the preceding example, <em><code>id&#095;for&#095;process1</code></em> is 0, <em><code>id&#095;for&#095;process2</code></em> is 1, and so on.
</p>
</li>
</ol>
<p>Using this method, all Oracle server processes that handle communications with a particular client run on the same processor.
</p>
</div class="sect3">
<div class="sect3"><a id="sthref661" name="sthref661"></a>
<h4>
<font face="arial, helvetica, sans-serif" color="#330099">
Processor Binding in a Local Environment
</font>
</h4>
<p>Processor binding is more difficult when the clients and the Oracle servers run on the same computer using the two-task pipe driver. You must determine the process ID for each server process and manually bind it to a processor. The administrative overhead is excessive and probably not worth the effort unless the servers have long process lives. 
</p>
<p>Processor binding of Oracle processes can have negative effects on the performance of other applications running on the same system. Careful tuning and monitoring is strongly recommended. 
</p>
</div class="sect3">
</div class="sect2">
<div class="sect2"><a id="sthref662" name="sthref662"></a>
<h3>
<font face="arial, helvetica, sans-serif" color="#330099">
UDP Tuning<a id="sthref663" name="sthref663"></a><a id="sthref664" name="sthref664"></a>
</font>
</h3>
<p>Oracle9<em>i</em> Real Application Clusters uses User Datagram Protocol (UDP) for interprocess communications. You can tune UDP kernel settings to improve Oracle performance. You can modify kernel UDP buffering on AIX by changing the udp&#095;sendspace and udp&#095;recvspace parameters.
</p>
<ul>
<li type="disc">
<p>Set the value of the udp&#095;sendspace parameter to a maximum of 65536.
</p>
</li>
<li type="disc">
<p>Set the value of the udp&#095;recvspace parameter to less than the value of the sb&#095;max parameter.
</p>
</li>
</ul>
<p>The value of the udp&#095;recvspace parameter should be at least ten times the value of the udp&#095;sendspace parameter because UDP might not be able to send a packet to an application before another packet arrives.
</p>
<p>To determine the suitability of the udp&#095;recvspace parameter settings, enter the following command:
</p>
<pre>&#036; netstat -s &#124; grep &#210;socket buffer overflows&#211;

</pre>
<p>If the number of overflows is not zero, increase the value of the udp&#095;recvspace parameter.
</p>
<div align="center">
<br /><table summary="This is a layout table to format a tip" title="This is a layout table to format a tip" dir="ltr" border="1" width="80%" frame="hsides" rules="groups" cellpadding="3" cellspacing="0"><tbody>
<tr>
<td align="left" colspan="1" rowspan="1">
<p>
<font face="arial, helvetica, sans-serif">
<strong>See Also:</strong>
</font>
</p><em>AIX Performance Tuning Guide, Version 3.2 and 4</em> or the <em>AIX5L Performance Management Guide for more information on AIX tuning parameters.</em>
</td>
</tr></tbody>
</table><br />
</div>
</div class="sect2">
<div class="sect2"><a id="sthref665" name="sthref665"></a>
<h3>
<font face="arial, helvetica, sans-serif" color="#330099">
Backing Up Raw Devices
</font>
</h3>
<p>Use the <a id="i631672" name="i631672"></a><code>dd</code> command to back up raw devices. Do not overwrite the first 4 KB block of a raw device, which is used by the AIX Logical Volume Manager. It is faster to back up the device using a blocksize of larger than 4K. A good blocksize for backing up to tape is 256K. 
</p>
<p>To back up the raw device to tape, enter a command similar to the following:
</p>
<pre>&#036; dd if&#061;&#047;dev&#047;<em>raw&#095;device </em>of&#061;&#047;dev&#047;rmt0.1 bs&#061;256k

</pre>
<p>To restore the raw device from tape, enter commands similar to the following:
</p>
<pre>&#036; dd if&#061;&#047;dev&#047;rmt0.1 of&#061;&#047;dev&#047;<em>raw&#095;device</em> count&#061;63 seek&#061;1 skip&#061;1 bs&#061;4k
&#036; mt -f &#047;dev&#047;rmt0.1 bsf 1
&#036; dd if&#061;&#047;dev&#047;rmt0.1 of&#061;&#047;dev&#047;<em>raw&#095;device</em> seek&#061;1 skip&#061;1 bs&#061;256k

</pre>
<div align="center">
<br /><table summary="This is a layout table to format a note" title="This is a layout table to format a note" dir="ltr" border="1" width="80%" frame="hsides" rules="groups" cellpadding="3" cellspacing="0"><tbody>
<tr>
<td align="left" colspan="1" rowspan="1">
<p>
<font face="arial, helvetica, sans-serif">
<strong>Note:</strong>
</font>
</p>For HSDs, do not skip the first 4 KB. Use the following command to restore the raw device, instead of the three preceding commands:
<p><code>&#036; dd if&#061;&#047;dev&#047;remt0.1 of&#061;&#047;dev&#047;</code><em><code>raw&#095;device </code></em><code>bs&#061;256K</code>
</p>
</td>
</tr></tbody>
</table><br />
</div>
</div class="sect2">
</div class="sect1"><a id="BABGDHAH" name="BABGDHAH"></a>
<div class="sect1"><a id="sthref666" name="sthref666"></a>
<h2>
<font face="arial, helvetica, sans-serif" color="#330099">Resilvering with Oracle9<em>i</em>
</font>
</h2>
<p>If you disable mirror write consistency (MWC) for an Oracle datafile allocated on a raw logical volume (LV), the Oracle9<em>i</em> crash recovery process uses resilvering to recover after a system crash. This resilvering process prevents database inconsistencies or corruption.During crash recovery, if a datafile is allocated on a logical volume with more than one copy, the resilvering process performs a checksum on the data blocks of all of the copies. It then performs one of the following:
</p>
<ul>
<li type="disc">
<p>If the data blocks in a copy have valid checksums, the resilvering process uses that copy to update the copies that have invalid checksums.
</p>
</li>
<li type="disc">
<p>If all copies have blocks with invalid checksums, the resilvering process rebuilds the blocks using information from the redo log file. It then writes the datafile to the logical volume and updates all of the copies.
</p>
</li>
</ul>
<p>On AIX, the resilvering process works only for datafiles allocated on raw logical volumes for which MWC is disabled. Resilvering is not required for datafiles on mirrored logical volumes with MWC enabled, because MWC ensures that all copies are synchronized.If the system crashes while you are upgrading a previous release of Oracle9<em>i</em> that used datafiles on logical volumes for which MWC was disabled, enter the <code>syncvg</code> command to synchronize the mirrored LV before starting the Oracle server. If you do not synchronize the mirrored LV before starting the server, Oracle might read incorrect data from an LV copy.
</p>
<div align="center">
<br /><table summary="This is a layout table to format a note" title="This is a layout table to format a note" dir="ltr" border="1" width="80%" frame="hsides" rules="groups" cellpadding="3" cellspacing="0"><tbody>
<tr align="left" valign="top">
<td align="left" colspan="1" rowspan="1">
<p>
<font face="arial, helvetica, sans-serif">
<strong>Note:</strong>
</font>
</p>If a disk drive fails, resilvering does not occur. You must enter the <code>syncvg</code> command before you can reactivate the LV.
</td>
</tr></tbody>
</table><br />
</div>
<div align="center">
<br /><table summary="This is a layout table to format a note" title="This is a layout table to format a note" dir="ltr" border="1" width="80%" frame="hsides" rules="groups" cellpadding="3" cellspacing="0"><tbody>
<tr align="left" valign="top">
<td align="left" colspan="1" rowspan="1">
<p>
<font face="arial, helvetica, sans-serif">
<strong>Caution:</strong>
</font>
</p>Oracle Corporation supports resilvering for data files only. Do not disable MWC for redo log files.
</td>
</tr></tbody>
</table><br />
</div>
</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="ch5_net.htm">
<img src="../Support/gifs/larrow.gif" alt="Previous" border="0" height="30" width="30"></a>
</td>
<td align="center">
<a href="appb_hp.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;Corporat

⌨️ 快捷键说明

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