{"id":92451,"date":"2026-08-10T12:01:02","date_gmt":"2026-08-10T04:01:02","guid":{"rendered":"https:\/\/www.wsisp.com\/helps\/92451.html"},"modified":"2026-08-10T12:01:02","modified_gmt":"2026-08-10T04:01:02","slug":"%e4%b8%87%e5%ad%97%e4%b9%a6%e7%b1%8d%e9%80%9f%e9%80%9a%e4%b9%8b%e3%80%8aoracle%e6%95%b0%e6%8d%ae%e5%ba%93%e5%ae%9e%e7%94%a8%e6%95%99%e7%a8%8b19c%e3%80%8b","status":"publish","type":"post","link":"https:\/\/www.wsisp.com\/helps\/92451.html","title":{"rendered":"\u4e07\u5b57\u4e66\u7c4d\u901f\u901a\u4e4b\u300aOracle\u6570\u636e\u5e93\u5b9e\u7528\u6559\u7a0b(19C)\u300b"},"content":{"rendered":"<h2>\u4e07\u5b57\u4e66\u7c4d\u901f\u901a\u4e4b\u300aOracle\u6570\u636e\u5e93\u5b9e\u7528\u6559\u7a0b(19C)\u300b<\/h2>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/08\/20260810040101-6a794cfdba855.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>&#x1f4d6; \u5bfc\u8bfb&#xff1a;\u672c\u6587\u662f\u5bf9\u300aOracle\u6570\u636e\u5e93\u5b9e\u7528\u6559\u7a0b(19C)\u300b\u5168\u4e66\u7684\u7cbe\u534e\u6d53\u7f29\u4e0e\u901f\u901a\u6307\u5357\u3002\u4eceOracle\u6570\u636e\u5e93\u7684\u57fa\u7840\u5b89\u88c5\u5230\u591a\u79df\u6237\u67b6\u6784&#xff0c;\u4eceSQL\u64cd\u4f5c\u5230PL\/SQL\u5f00\u53d1&#xff0c;\u4ece\u5907\u4efd\u6062\u590d\u5230\u95ea\u56de\u6280\u672f&#xff0c;\u6db5\u76d6Oracle DBA\u548c\u5f00\u53d1\u8005\u5fc5\u987b\u638c\u63e1\u7684\u6838\u5fc3\u77e5\u8bc6\u4f53\u7cfb\u3002\u9002\u5408\u5728\u6821\u5b66\u751f\u3001\u521d\u7ea7DBA\u53ca\u9700\u8981\u5feb\u901f\u56de\u987eOracle\u77e5\u8bc6\u4f53\u7cfb\u7684\u5f00\u53d1\u8005\u9605\u8bfb\u6536\u85cf\u3002<\/p>\n<hr \/>\n<h3>\u7b2c1\u7ae0 Oracle\u6570\u636e\u5e93\u57fa\u7840<\/h3>\n<h4>1.1 Oracle\u7b80\u4ecb<\/h4>\n<p>Oracle\u6570\u636e\u5e93\u662f\u7531Oracle\u516c\u53f8\u5f00\u53d1\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93\u7ba1\u7406\u7cfb\u7edf&#xff08;RDBMS&#xff09;&#xff0c;\u81ea1979\u5e74\u53d1\u5e03\u7b2c\u4e00\u4e2a\u5546\u4e1a\u7248\u672c\u4ee5\u6765&#xff0c;\u5df2\u7ecf\u53d1\u5c55\u6210\u4e3a\u5168\u7403\u6700\u5e7f\u6cdb\u4f7f\u7528\u7684\u4f01\u4e1a\u7ea7\u6570\u636e\u5e93\u4e4b\u4e00\u3002Oracle 19c&#xff08;\u537319.3\u7248\u672c&#xff09;\u662fOracle\u6570\u636e\u5e93\u7684\u957f\u671f\u652f\u6301\u7248\u672c&#xff08;Long-Term Support Release&#xff09;&#xff0c;\u5176\u652f\u6301\u5468\u671f\u5ef6\u7eed\u52302027\u5e74&#xff0c;\u662f\u76ee\u524d\u4f01\u4e1a\u751f\u4ea7\u73af\u5883\u4e2d\u90e8\u7f72\u6700\u5e7f\u6cdb\u7684\u7248\u672c\u4e4b\u4e00\u3002<\/p>\n<p>Oracle\u6570\u636e\u5e93\u7684\u6838\u5fc3\u7279\u70b9&#xff1a;<\/p>\n<table>\n<tr>\u7279\u6027\u8bf4\u660e<\/tr>\n<tbody>\n<tr>\n<td>\u9ad8\u53ef\u7528\u6027<\/td>\n<td>\u652f\u6301RAC\u3001Data Guard\u3001\u95ea\u56de\u6280\u672f<\/td>\n<\/tr>\n<tr>\n<td>\u53ef\u6269\u5c55\u6027<\/td>\n<td>\u652f\u6301\u591a\u79df\u6237\u3001\u5206\u533a\u8868\u3001\u5e76\u884c\u5904\u7406<\/td>\n<\/tr>\n<tr>\n<td>\u5b89\u5168\u6027<\/td>\n<td>\u591a\u5c42\u52a0\u5bc6\u3001\u5ba1\u8ba1\u3001\u7ec6\u7c92\u5ea6\u8bbf\u95ee\u63a7\u5236<\/td>\n<\/tr>\n<tr>\n<td>\u8de8\u5e73\u53f0<\/td>\n<td>\u652f\u6301Linux\u3001Windows\u3001Solaris\u3001AIX\u7b49<\/td>\n<\/tr>\n<tr>\n<td>\u591a\u79df\u6237\u67b6\u6784<\/td>\n<td>CDB\/PDB\u6a21\u578b&#xff0c;\u8d44\u6e90\u9694\u79bb\u4e0e\u7ba1\u7406<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Oracle\u7248\u672c\u6f14\u8fdb\u7b80\u8ff0&#xff1a;<\/p>\n<ul>\n<li>Oracle 12c&#xff08;2013&#xff09;&#xff1a;\u5f15\u5165\u591a\u79df\u6237\u67b6\u6784<\/li>\n<li>Oracle 18c&#xff08;2018&#xff09;&#xff1a;\u5f15\u5165\u81ea\u52a8\u5316\u7279\u6027<\/li>\n<li>Oracle 19c&#xff08;2019&#xff09;&#xff1a;\u957f\u671f\u652f\u6301\u7248&#xff0c;\u6574\u540812c\/18c\u6240\u6709\u7279\u6027<\/li>\n<li>Oracle 21c&#xff08;2021&#xff09;&#xff1a;\u521b\u65b0\u7248\u672c<\/li>\n<li>Oracle 23c&#xff08;2023&#xff09;&#xff1a;AI\u5411\u91cf\u641c\u7d22\u7b49\u65b0\u7279\u6027<\/li>\n<\/ul>\n<h4>1.2 Oracle\u6570\u636e\u5e93\u5b89\u88c5\u4e0e\u5378\u8f7d<\/h4>\n<p>Oracle 19c\u5728Linux&#xff08;\u4ee5Oracle Linux 7\/8\u4e3a\u4f8b&#xff09;\u4e0a\u7684\u5b89\u88c5\u6d41\u7a0b&#xff1a;<\/p>\n<p>\u4e00\u3001\u5b89\u88c5\u524d\u51c6\u5907&#xff1a;<\/p>\n<p><span class=\"token comment\"># 1. \u68c0\u67e5\u7cfb\u7edf\u8981\u6c42<\/span><br \/>\n<span class=\"token function\">uname<\/span> <span class=\"token parameter variable\">-r<\/span>                    <span class=\"token comment\"># \u5185\u6838\u7248\u672c<\/span><br \/>\n<span class=\"token function\">free<\/span> <span class=\"token parameter variable\">-g<\/span>                     <span class=\"token comment\"># \u5185\u5b58&#xff08;\u5efa\u8bae\u81f3\u5c112GB&#xff09;<\/span><br \/>\n<span class=\"token function\">df<\/span> <span class=\"token parameter variable\">-h<\/span> \/tmp                  <span class=\"token comment\"># \u4e34\u65f6\u7a7a\u95f4&#xff08;\u5efa\u8bae\u81f3\u5c111GB&#xff09;<\/span><\/p>\n<p><span class=\"token comment\"># 2. \u521b\u5efa\u7528\u6237\u548c\u7ec4<\/span><br \/>\n<span class=\"token function\">groupadd<\/span> oinstall<br \/>\n<span class=\"token function\">groupadd<\/span> dba<br \/>\n<span class=\"token function\">useradd<\/span> <span class=\"token parameter variable\">-g<\/span> oinstall <span class=\"token parameter variable\">-G<\/span> dba oracle<br \/>\n<span class=\"token function\">passwd<\/span> oracle<\/p>\n<p><span class=\"token comment\"># 3. \u521b\u5efa\u5b89\u88c5\u76ee\u5f55<\/span><br \/>\n<span class=\"token function\">mkdir<\/span> <span class=\"token parameter variable\">-p<\/span> \/u01\/app\/oracle\/product\/19.0.0\/dbhome_1<br \/>\n<span class=\"token function\">chown<\/span> <span class=\"token parameter variable\">-R<\/span> oracle:oinstall \/u01<br \/>\n<span class=\"token function\">chmod<\/span> <span class=\"token parameter variable\">-R<\/span> <span class=\"token number\">775<\/span> \/u01<\/p>\n<p><span class=\"token comment\"># 4. \u914d\u7f6e\u5185\u6838\u53c2\u6570 \/etc\/sysctl.conf<\/span><br \/>\nfs.file-max <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">6815744<\/span><br \/>\nkernel.sem <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">250<\/span> <span class=\"token number\">32000<\/span> <span class=\"token number\">100<\/span> <span class=\"token number\">128<\/span><br \/>\nkernel.shmmni <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">4096<\/span><br \/>\nkernel.shmall <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">2097152<\/span><br \/>\nkernel.shmmax <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">4294967295<\/span><br \/>\nnet.core.rmem_default <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">262144<\/span><br \/>\nnet.core.wmem_default <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">262144<\/span><br \/>\nnet.core.rmem_max <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">4194304<\/span><br \/>\nnet.core.wmem_max <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">1048576<\/span><br \/>\nnet.ipv4.ip_local_port_range <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">9000<\/span> <span class=\"token number\">65500<\/span><\/p>\n<p><span class=\"token comment\"># 5. \u914d\u7f6e\u7528\u6237\u8d44\u6e90\u9650\u5236 \/etc\/security\/limits.conf<\/span><br \/>\noracle soft nofile <span class=\"token number\">1024<\/span><br \/>\noracle hard nofile <span class=\"token number\">65536<\/span><br \/>\noracle soft nproc <span class=\"token number\">16384<\/span><br \/>\noracle hard nproc <span class=\"token number\">16384<\/span><br \/>\noracle soft stack <span class=\"token number\">10240<\/span><br \/>\noracle hard stack <span class=\"token number\">32768<\/span><\/p>\n<p>\u4e8c\u3001\u73af\u5883\u53d8\u91cf\u914d\u7f6e&#xff08;~oracle\/.bash_profile&#xff09;&#xff1a;<\/p>\n<p><span class=\"token builtin class-name\">export<\/span> <span class=\"token assign-left variable\">ORACLE_BASE<\/span><span class=\"token operator\">&#061;<\/span>\/u01\/app\/oracle<br \/>\n<span class=\"token builtin class-name\">export<\/span> <span class=\"token assign-left variable\">ORACLE_HOME<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token variable\">$ORACLE_BASE<\/span>\/product\/19.0.0\/dbhome_1<br \/>\n<span class=\"token builtin class-name\">export<\/span> <span class=\"token assign-left variable\">ORACLE_SID<\/span><span class=\"token operator\">&#061;<\/span>orcl<br \/>\n<span class=\"token builtin class-name\">export<\/span> <span class=\"token assign-left variable\"><span class=\"token environment constant\">PATH<\/span><\/span><span class=\"token operator\">&#061;<\/span><span class=\"token variable\">$ORACLE_HOME<\/span>\/bin:<span class=\"token environment constant\">$PATH<\/span><br \/>\n<span class=\"token builtin class-name\">export<\/span> <span class=\"token assign-left variable\">LD_LIBRARY_PATH<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token variable\">$ORACLE_HOME<\/span>\/lib:<span class=\"token variable\">$LD_LIBRARY_PATH<\/span><br \/>\n<span class=\"token builtin class-name\">export<\/span> <span class=\"token assign-left variable\">NLS_LANG<\/span><span class=\"token operator\">&#061;<\/span>AMERICAN_AMERICA.AL32UTF8<\/p>\n<p>\u4e09\u3001\u9759\u9ed8\u5b89\u88c5&#xff08;\u63a8\u8350\u751f\u4ea7\u73af\u5883&#xff09;&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u89e3\u538b\u5b89\u88c5\u5305<\/span><br \/>\n<span class=\"token builtin class-name\">cd<\/span> \/u01\/app\/oracle\/product\/19.0.0\/dbhome_1<br \/>\n<span class=\"token function\">unzip<\/span> LINUX.X64_193000_db_home.zip <span class=\"token parameter variable\">-d<\/span> <span class=\"token builtin class-name\">.<\/span><\/p>\n<p><span class=\"token comment\"># \u6267\u884c\u9759\u9ed8\u5b89\u88c5<\/span><br \/>\n.\/runInstaller <span class=\"token parameter variable\">-silent<\/span> <span class=\"token parameter variable\">-responseFile<\/span> \/home\/oracle\/db_install.rsp <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token assign-left variable\">oracle.install.option<\/span><span class=\"token operator\">&#061;<\/span>INSTALL_DB_SWONLY <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token assign-left variable\">ORACLE_HOSTNAME<\/span><span class=\"token operator\">&#061;<\/span>oracledb <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token assign-left variable\">UNIX_GROUP_NAME<\/span><span class=\"token operator\">&#061;<\/span>oinstall <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token assign-left variable\">INVENTORY_LOCATION<\/span><span class=\"token operator\">&#061;<\/span>\/u01\/app\/oraInventory <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token assign-left variable\">ORACLE_HOME<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token variable\">$ORACLE_HOME<\/span> <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token assign-left variable\">ORACLE_BASE<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token variable\">$ORACLE_BASE<\/span> <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token assign-left variable\">oracle.install.db.InstallEdition<\/span><span class=\"token operator\">&#061;<\/span>EE <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token assign-left variable\">oracle.install.db.OSDBA_GROUP<\/span><span class=\"token operator\">&#061;<\/span>dba<\/p>\n<p><span class=\"token comment\"># \u8fd0\u884croot\u811a\u672c<\/span><br \/>\n<span class=\"token function\">sudo<\/span> \/u01\/app\/oraInventory\/orainstRoot.sh<br \/>\n<span class=\"token function\">sudo<\/span> <span class=\"token variable\">$ORACLE_HOME<\/span>\/root.sh<\/p>\n<p>\u56db\u3001\u5378\u8f7dOracle&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u4f7f\u7528deinstall\u5de5\u5177<\/span><br \/>\n<span class=\"token variable\">$ORACLE_HOME<\/span>\/deinstall\/deinstall<\/p>\n<p><span class=\"token comment\"># \u6e05\u7406\u6b8b\u7559<\/span><br \/>\n<span class=\"token function\">rm<\/span> <span class=\"token parameter variable\">-rf<\/span> \/u01\/app\/oracle<br \/>\n<span class=\"token function\">rm<\/span> <span class=\"token parameter variable\">-rf<\/span> \/u01\/app\/oraInventory<br \/>\n<span class=\"token comment\"># \u5220\u9664\u76f8\u5173\u7528\u6237\u3001\u7ec4\u3001\u73af\u5883\u53d8\u91cf\u914d\u7f6e<\/span><\/p>\n<h4>1.3 SQL*Plus\u5de5\u5177<\/h4>\n<p>SQL*Plus\u662fOracle\u81ea\u5e26\u7684\u547d\u4ee4\u884c\u4ea4\u4e92\u5de5\u5177&#xff0c;\u662fDBA\u65e5\u5e38\u8fd0\u7ef4\u7684\u57fa\u7840\u5de5\u5177\u3002<\/p>\n<p>\u57fa\u672c\u64cd\u4f5c&#xff1a;<\/p>\n<p><span class=\"token comment\">&#8212; \u8fde\u63a5\u6570\u636e\u5e93<\/span><br \/>\nsqlplus <span class=\"token operator\">\/<\/span> <span class=\"token keyword\">as<\/span> sysdba<br \/>\nsqlplus scott<span class=\"token operator\">\/<\/span>tiger<span class=\"token variable\">&#064;orcl<\/span><br \/>\nsqlplus sys<span class=\"token operator\">\/<\/span>password<span class=\"token variable\">&#064;orcl<\/span> <span class=\"token keyword\">as<\/span> sysdba<\/p>\n<p><span class=\"token comment\">&#8212; \u5e38\u7528SET\u547d\u4ee4<\/span><br \/>\n<span class=\"token keyword\">SET<\/span> LINESIZE <span class=\"token number\">200<\/span>          <span class=\"token comment\">&#8212; \u884c\u5bbd<\/span><br \/>\n<span class=\"token keyword\">SET<\/span> PAGESIZE <span class=\"token number\">50<\/span>           <span class=\"token comment\">&#8212; \u6bcf\u9875\u884c\u6570<\/span><br \/>\n<span class=\"token keyword\">SET<\/span> TIMING <span class=\"token keyword\">ON<\/span>             <span class=\"token comment\">&#8212; \u663e\u793a\u6267\u884c\u65f6\u95f4<\/span><br \/>\n<span class=\"token keyword\">SET<\/span> AUTOTRACE <span class=\"token keyword\">ON<\/span>          <span class=\"token comment\">&#8212; \u663e\u793a\u6267\u884c\u8ba1\u5212<\/span><br \/>\n<span class=\"token keyword\">SET<\/span> SERVEROUTPUT <span class=\"token keyword\">ON<\/span>       <span class=\"token comment\">&#8212; \u663e\u793aDBMS_OUTPUT\u8f93\u51fa<\/span><br \/>\n<span class=\"token keyword\">COLUMN<\/span> ename FORMAT A20   <span class=\"token comment\">&#8212; \u683c\u5f0f\u5316\u5217<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u6267\u884c\u811a\u672c<\/span><br \/>\n&#064;<span class=\"token operator\">\/<\/span>home<span class=\"token operator\">\/<\/span>oracle<span class=\"token operator\">\/<\/span>scripts<span class=\"token operator\">\/<\/span>create_tables<span class=\"token punctuation\">.<\/span><span class=\"token keyword\">sql<\/span><br \/>\n<span class=\"token keyword\">START<\/span> <span class=\"token operator\">\/<\/span>home<span class=\"token operator\">\/<\/span>oracle<span class=\"token operator\">\/<\/span>scripts<span class=\"token operator\">\/<\/span>init<span class=\"token punctuation\">.<\/span><span class=\"token keyword\">sql<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u5bfc\u51fa\u7ed3\u679c<\/span><br \/>\nSPOOL <span class=\"token operator\">\/<\/span>tmp<span class=\"token operator\">\/<\/span>output<span class=\"token punctuation\">.<\/span>txt<br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">FROM<\/span> employees<span class=\"token punctuation\">;<\/span><br \/>\nSPOOL <span class=\"token keyword\">OFF<\/span><\/p>\n<h4>1.4 Oracle Enterprise Manager (OEM)<\/h4>\n<p>Oracle Enterprise Manager Database Express&#xff08;EM Express&#xff09;\u662f19c\u5185\u7f6e\u7684\u8f7b\u91cf\u7ea7Web\u7ba1\u7406\u754c\u9762&#xff1a;<\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770bEM Express\u7aef\u53e3&#xff08;\u9ed8\u8ba45500&#xff09;<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> dbms_xdb_config<span class=\"token punctuation\">.<\/span>gethttpsport <span class=\"token keyword\">FROM<\/span> dual<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u4fee\u6539\u7aef\u53e3<\/span><br \/>\n<span class=\"token keyword\">EXEC<\/span> dbms_xdb_config<span class=\"token punctuation\">.<\/span>sethttpsport<span class=\"token punctuation\">(<\/span><span class=\"token number\">5501<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u8bbf\u95ee\u5730\u5740&#xff1a;https:\/\/hostname:5500\/em<\/span><\/p>\n<p>\u5bf9\u4e8e\u4f01\u4e1a\u7ea7\u5927\u89c4\u6a21\u7ba1\u7406&#xff0c;Oracle\u8fd8\u63d0\u4f9bOEM Cloud Control&#xff08;\u72ec\u7acb\u90e8\u7f72\u7684\u96c6\u4e2d\u7ba1\u7406\u5e73\u53f0&#xff09;&#xff0c;\u652f\u6301\u591a\u6570\u636e\u5e93\u3001\u4e2d\u95f4\u4ef6\u3001\u4e3b\u673a\u7684\u7edf\u4e00\u76d1\u63a7\u548c\u7ba1\u7406\u3002<\/p>\n<h4>1.5 Oracle\u7f51\u7edc\u4f53\u7cfb<\/h4>\n<p>Oracle\u7f51\u7edc\u901a\u4fe1\u57fa\u4e8eOracle Net Services&#xff0c;\u6838\u5fc3\u7ec4\u4ef6\u5305\u62ec&#xff1a;<\/p>\n<p>\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510         TCP\/IP          \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510<br \/>\n\u2502   Client    \u2502 \u25c4\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u25ba  \u2502   Server    \u2502<br \/>\n\u2502 (SQL*Plus)  \u2502                         \u2502 (Listener)  \u2502<br \/>\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518                         \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<br \/>\n      \u2502                                       \u2502<br \/>\n  tnsnames.ora                          listener.ora<\/p>\n<p>\u4e09\u5927\u914d\u7f6e\u6587\u4ef6&#xff1a;<\/p>\n<table>\n<tr>\u6587\u4ef6\u4f4d\u7f6e\u4f5c\u7528<\/tr>\n<tbody>\n<tr>\n<td>listener.ora<\/td>\n<td>$ORACLE_HOME\/network\/admin\/<\/td>\n<td>\u76d1\u542c\u5668\u914d\u7f6e<\/td>\n<\/tr>\n<tr>\n<td>tnsnames.ora<\/td>\n<td>$ORACLE_HOME\/network\/admin\/<\/td>\n<td>\u5ba2\u6237\u7aef\u8fde\u63a5\u63cf\u8ff0<\/td>\n<\/tr>\n<tr>\n<td>sqlnet.ora<\/td>\n<td>$ORACLE_HOME\/network\/admin\/<\/td>\n<td>\u7f51\u7edc\u53c2\u6570\u914d\u7f6e<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>listener.ora \u793a\u4f8b&#xff1a;<\/p>\n<p>LISTENER &#061;<br \/>\n  (DESCRIPTION_LIST &#061;<br \/>\n    (DESCRIPTION &#061;<br \/>\n      (ADDRESS &#061; (PROTOCOL &#061; TCP)(HOST &#061; oracledb)(PORT &#061; 1521))<br \/>\n    )<br \/>\n  )<\/p>\n<p>SID_LIST_LISTENER &#061;<br \/>\n  (SID_LIST &#061;<br \/>\n    (SID_DESC &#061;<br \/>\n      (GLOBAL_DBNAME &#061; orcl)<br \/>\n      (ORACLE_HOME &#061; \/u01\/app\/oracle\/product\/19.0.0\/dbhome_1)<br \/>\n      (SID_NAME &#061; orcl)<br \/>\n    )<br \/>\n  )<\/p>\n<p>tnsnames.ora \u793a\u4f8b&#xff1a;<\/p>\n<p>ORCL &#061;<br \/>\n  (DESCRIPTION &#061;<br \/>\n    (ADDRESS &#061; (PROTOCOL &#061; TCP)(HOST &#061; 192.168.1.100)(PORT &#061; 1521))<br \/>\n    (CONNECT_DATA &#061;<br \/>\n      (SERVER &#061; DEDICATED)<br \/>\n      (SERVICE_NAME &#061; orcl)<br \/>\n    )<br \/>\n  )<\/p>\n<h4>1.6 Net Configuration Assistant (NetCA)<\/h4>\n<p>NetCA\u662f\u56fe\u5f62\u5316\u7f51\u7edc\u914d\u7f6e\u5de5\u5177&#xff0c;\u7528\u4e8e&#xff1a;<\/p>\n<ul>\n<li>\u914d\u7f6e\/\u5220\u9664\u76d1\u542c\u5668<\/li>\n<li>\u914d\u7f6e\u672c\u5730Net\u670d\u52a1\u540d&#xff08;tnsnames.ora\u6761\u76ee&#xff09;<\/li>\n<li>\u914d\u7f6e\u76ee\u5f55\u670d\u52a1\u8bbf\u95ee<\/li>\n<li>\u914d\u7f6e\u547d\u540d\u65b9\u6cd5\u4f18\u5148\u7ea7<\/li>\n<\/ul>\n<p><span class=\"token comment\"># \u547d\u4ee4\u884c\u542f\u52a8<\/span><br \/>\nnetca<\/p>\n<p><span class=\"token comment\"># \u9759\u9ed8\u6a21\u5f0f<\/span><br \/>\nnetca \/silent \/responseFile \/path\/to\/netca.rsp<\/p>\n<h4>1.7 Net Manager<\/h4>\n<p>Net Manager\u662f\u66f4\u5e95\u5c42\u7684\u7f51\u7edc\u7ba1\u7406GUI\u5de5\u5177&#xff0c;\u53ef\u4ee5\u7cbe\u786e\u7f16\u8f91listener.ora\u548ctnsnames.ora\u4e2d\u7684\u6bcf\u4e00\u4e2a\u53c2\u6570&#xff0c;\u9002\u5408\u9ad8\u7ea7\u7f51\u7edc\u914d\u7f6e\u573a\u666f\u3002<\/p>\n<p>netmgr<\/p>\n<h4>1.8 Database Configuration Assistant (DBCA)<\/h4>\n<p>DBCA\u7528\u4e8e\u521b\u5efa\u3001\u914d\u7f6e\u3001\u5220\u9664Oracle\u6570\u636e\u5e93\u5b9e\u4f8b&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u56fe\u5f62\u5316\u521b\u5efa<\/span><br \/>\ndbca<\/p>\n<p><span class=\"token comment\"># \u9759\u9ed8\u521b\u5efa\u6570\u636e\u5e93<\/span><br \/>\ndbca <span class=\"token parameter variable\">-silent<\/span> <span class=\"token parameter variable\">-createDatabase<\/span> <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token parameter variable\">-templateName<\/span> General_Purpose.dbc <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token parameter variable\">-gdbName<\/span> orcl <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token parameter variable\">-sid<\/span> orcl <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token parameter variable\">-sysPassword<\/span> Oracle_2024 <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token parameter variable\">-systemPassword<\/span> Oracle_2024 <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token parameter variable\">-emConfiguration<\/span> NONE <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token parameter variable\">-datafileDestination<\/span> \/u01\/app\/oracle\/oradata <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token parameter variable\">-storageType<\/span> FS <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token parameter variable\">-characterSet<\/span> AL32UTF8 <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token parameter variable\">-nationalCharacterSet<\/span> AL16UTF16 <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token parameter variable\">-totalMemory<\/span> <span class=\"token number\">2048<\/span><\/p>\n<hr \/>\n<h3>\u7b2c2\u7ae0 Oracle\u4f53\u7cfb\u7ed3\u6784<\/h3>\n<h4>2.1 Oracle\u4f53\u7cfb\u6982\u8ff0<\/h4>\n<p>Oracle\u4f53\u7cfb\u7ed3\u6784\u662f\u7406\u89e3\u6574\u4e2a\u6570\u636e\u5e93\u8fd0\u884c\u673a\u5236\u7684\u57fa\u77f3\u3002\u4e00\u4e2aOracle\u6570\u636e\u5e93\u7cfb\u7edf\u7531 \u5b9e\u4f8b&#xff08;Instance&#xff09; \u548c \u6570\u636e\u5e93&#xff08;Database&#xff09; \u4e24\u90e8\u5206\u7ec4\u6210&#xff1a;<\/p>\n<p>\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Oracle Instance \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510<br \/>\n\u2502                                                 \u2502<br \/>\n\u2502  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 SGA \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510                \u2502<br \/>\n\u2502  \u2502  Database Buffer Cache      \u2502                \u2502<br \/>\n\u2502  \u2502  Shared Pool                \u2502                \u2502<br \/>\n\u2502  \u2502  Redo Log Buffer            \u2502                \u2502<br \/>\n\u2502  \u2502  Large Pool \/ Java Pool     \u2502                \u2502<br \/>\n\u2502  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518                \u2502<br \/>\n\u2502                                                 \u2502<br \/>\n\u2502  \u250c\u2500\u2500\u2500\u2500 Background Processes \u2500\u2500\u2500\u2500\u2510               \u2502<br \/>\n\u2502  \u2502  DBWR  LGWR  SMON  PMON      \u2502               \u2502<br \/>\n\u2502  \u2502  CKPT  ARCn  MMON  &#8230;       \u2502               \u2502<br \/>\n\u2502  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518               \u2502<br \/>\n\u2502                                                 \u2502<br \/>\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<br \/>\n                      \u2502<br \/>\n                      \u25bc<br \/>\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Oracle Database \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510<br \/>\n\u2502  Data Files  \u2502  Redo Log Files  \u2502  Control Files \u2502<br \/>\n\u2502  Parameter File  \u2502  Archive Logs  \u2502  &#8230;         \u2502<br \/>\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/p>\n<h4>2.2 \u5185\u5b58\u7ed3\u6784<\/h4>\n<p>Oracle\u5185\u5b58\u5206\u4e3a SGA&#xff08;System Global Area&#xff09; \u548c PGA&#xff08;Program Global Area&#xff09; &#xff1a;<\/p>\n<p>SGA\u7ec4\u4ef6&#xff1a;<\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770bSGA\u7ec4\u6210<\/span><br \/>\n<span class=\"token keyword\">SHOW<\/span> SGA<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">FROM<\/span> V$SGA<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u5404\u7ec4\u4ef6\u5927\u5c0f<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> component<span class=\"token punctuation\">,<\/span> current_size<span class=\"token operator\">\/<\/span><span class=\"token number\">1024<\/span><span class=\"token operator\">\/<\/span><span class=\"token number\">1024<\/span> <span class=\"token keyword\">AS<\/span> <span class=\"token string\">&#034;Size(MB)&#034;<\/span><br \/>\n<span class=\"token keyword\">FROM<\/span> V$SGA_DYNAMIC_COMPONENTS<span class=\"token punctuation\">;<\/span><\/p>\n<table>\n<tr>\u7ec4\u4ef6\u4f5c\u7528<\/tr>\n<tbody>\n<tr>\n<td>Database Buffer Cache<\/td>\n<td>\u7f13\u5b58\u4ece\u6570\u636e\u6587\u4ef6\u8bfb\u53d6\u7684\u6570\u636e\u5757<\/td>\n<\/tr>\n<tr>\n<td>Shared Pool<\/td>\n<td>\u7f13\u5b58SQL\u89e3\u6790\u7ed3\u679c\u3001\u6570\u636e\u5b57\u5178\u4fe1\u606f<\/td>\n<\/tr>\n<tr>\n<td>Redo Log Buffer<\/td>\n<td>\u6682\u5b58\u91cd\u505a\u65e5\u5fd7\u6761\u76ee<\/td>\n<\/tr>\n<tr>\n<td>Large Pool<\/td>\n<td>RMAN\u5907\u4efd\u7f13\u51b2\u3001\u5e76\u884c\u67e5\u8be2\u6d88\u606f\u7f13\u51b2<\/td>\n<\/tr>\n<tr>\n<td>Java Pool<\/td>\n<td>Java\u5b58\u50a8\u8fc7\u7a0b\u5185\u5b58<\/td>\n<\/tr>\n<tr>\n<td>Streams Pool<\/td>\n<td>Oracle Streams\/\u9ad8\u7ea7\u961f\u5217\u7f13\u51b2<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>PGA&#xff1a; \u6bcf\u4e2a\u670d\u52a1\u5668\u8fdb\u7a0b\u79c1\u6709\u7684\u5185\u5b58\u533a\u57df&#xff0c;\u7528\u4e8e\u6392\u5e8f&#xff08;SORT_AREA&#xff09;\u3001\u54c8\u5e0c\u8fde\u63a5\u3001\u4f4d\u56fe\u5408\u5e76\u7b49\u64cd\u4f5c\u3002<\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770bPGA\u7edf\u8ba1<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">FROM<\/span> V$PGASTAT<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u8bbe\u7f6e\u81ea\u52a8\u5185\u5b58\u7ba1\u7406<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> SYSTEM <span class=\"token keyword\">SET<\/span> MEMORY_TARGET <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">4<\/span>G SCOPE<span class=\"token operator\">&#061;<\/span>SPFILE<span class=\"token punctuation\">;<\/span>        <span class=\"token comment\">&#8212; AMM<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> SYSTEM <span class=\"token keyword\">SET<\/span> SGA_TARGET <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">2<\/span>G SCOPE<span class=\"token operator\">&#061;<\/span>SPFILE<span class=\"token punctuation\">;<\/span>           <span class=\"token comment\">&#8212; ASMM<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> SYSTEM <span class=\"token keyword\">SET<\/span> PGA_AGGREGATE_TARGET <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">512<\/span>M SCOPE<span class=\"token operator\">&#061;<\/span>SPFILE<span class=\"token punctuation\">;<\/span><\/p>\n<h4>2.3 \u8fdb\u7a0b\u7ed3\u6784<\/h4>\n<p>\u6838\u5fc3\u540e\u53f0\u8fdb\u7a0b&#xff1a;<\/p>\n<table>\n<tr>\u8fdb\u7a0b\u5168\u79f0\u529f\u80fd<\/tr>\n<tbody>\n<tr>\n<td>DBWR<\/td>\n<td>Database Writer<\/td>\n<td>\u5c06\u810f\u7f13\u51b2\u533a\u5199\u5165\u6570\u636e\u6587\u4ef6<\/td>\n<\/tr>\n<tr>\n<td>LGWR<\/td>\n<td>Log Writer<\/td>\n<td>\u5c06Redo Buffer\u5199\u5165\u91cd\u505a\u65e5\u5fd7\u6587\u4ef6<\/td>\n<\/tr>\n<tr>\n<td>SMON<\/td>\n<td>System Monitor<\/td>\n<td>\u5b9e\u4f8b\u6062\u590d\u3001\u7a7a\u95f4\u56de\u6536\u3001\u4e34\u65f6\u6bb5\u6e05\u7406<\/td>\n<\/tr>\n<tr>\n<td>PMON<\/td>\n<td>Process Monitor<\/td>\n<td>\u6e05\u7406\u5931\u8d25\u8fdb\u7a0b\u3001\u91ca\u653e\u8d44\u6e90<\/td>\n<\/tr>\n<tr>\n<td>CKPT<\/td>\n<td>Checkpoint<\/td>\n<td>\u89e6\u53d1\u68c0\u67e5\u70b9&#xff0c;\u66f4\u65b0\u63a7\u5236\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u5934<\/td>\n<\/tr>\n<tr>\n<td>ARCn<\/td>\n<td>Archiver<\/td>\n<td>\u5f52\u6863\u5df2\u6ee1\u7684\u91cd\u505a\u65e5\u5fd7<\/td>\n<\/tr>\n<tr>\n<td>MMON<\/td>\n<td>Manageability Monitor<\/td>\n<td>AWR\u5feb\u7167\u3001\u544a\u8b66<\/td>\n<\/tr>\n<tr>\n<td>RECO<\/td>\n<td>Recoverer<\/td>\n<td>\u5206\u5e03\u5f0f\u4e8b\u52a1\u6062\u590d<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u540e\u53f0\u8fdb\u7a0b<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> pname<span class=\"token punctuation\">,<\/span> description <span class=\"token keyword\">FROM<\/span> V$BGPROCESS <span class=\"token keyword\">WHERE<\/span> paddr <span class=\"token operator\">&lt;&gt;<\/span> <span class=\"token string\">&#039;00&#039;<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<h4>2.4 \u7269\u7406\u5b58\u50a8\u7ed3\u6784<\/h4>\n<p>Oracle\u6570\u636e\u5e93\u7684\u7269\u7406\u6587\u4ef6\u5305\u62ec&#xff1a;<\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u6240\u6709\u6570\u636e\u6587\u4ef6<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> file_name<span class=\"token punctuation\">,<\/span> bytes<span class=\"token operator\">\/<\/span><span class=\"token number\">1024<\/span><span class=\"token operator\">\/<\/span><span class=\"token number\">1024<\/span> <span class=\"token keyword\">AS<\/span> <span class=\"token string\">&#034;Size(MB)&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">status<\/span><br \/>\n<span class=\"token keyword\">FROM<\/span> DBA_DATA_FILES<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u63a7\u5236\u6587\u4ef6<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> name<span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">status<\/span> <span class=\"token keyword\">FROM<\/span> V$CONTROLFILE<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u91cd\u505a\u65e5\u5fd7\u6587\u4ef6<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token keyword\">group<\/span><span class=\"token comment\">#, member FROM V$LOGFILE;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u4e34\u65f6\u6587\u4ef6<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> file_name<span class=\"token punctuation\">,<\/span> bytes<span class=\"token operator\">\/<\/span><span class=\"token number\">1024<\/span><span class=\"token operator\">\/<\/span><span class=\"token number\">1024<\/span> <span class=\"token keyword\">FROM<\/span> DBA_TEMP_FILES<span class=\"token punctuation\">;<\/span><\/p>\n<h4>2.5 \u903b\u8f91\u5b58\u50a8\u7ed3\u6784<\/h4>\n<p>\u903b\u8f91\u5b58\u50a8\u5c42\u6b21&#xff1a;\u6570\u636e\u5e93 \u2192 \u8868\u7a7a\u95f4 \u2192 \u6bb5(Segment) \u2192 \u533a(Extent) \u2192 \u6570\u636e\u5757(Block)<\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u8868\u7a7a\u95f4<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> tablespace_name<span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">status<\/span><span class=\"token punctuation\">,<\/span> contents<br \/>\n<span class=\"token keyword\">FROM<\/span> DBA_TABLESPACES<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u6bb5\u4fe1\u606f<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> segment_name<span class=\"token punctuation\">,<\/span> segment_type<span class=\"token punctuation\">,<\/span> bytes<span class=\"token operator\">\/<\/span><span class=\"token number\">1024<\/span><span class=\"token operator\">\/<\/span><span class=\"token number\">1024<\/span><br \/>\n<span class=\"token keyword\">FROM<\/span> DBA_SEGMENTS<br \/>\n<span class=\"token keyword\">WHERE<\/span> owner <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#039;SCOTT&#039;<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u6570\u636e\u5757\u5927\u5c0f<\/span><br \/>\n<span class=\"token keyword\">SHOW<\/span> PARAMETER db_block_size<span class=\"token punctuation\">;<\/span>  <span class=\"token comment\">&#8212; \u9ed8\u8ba48KB<\/span><\/p>\n<p>\u533a&#xff08;Extent&#xff09;\u7ba1\u7406&#xff1a;<\/p>\n<ul>\n<li>\u672c\u5730\u7ba1\u7406\u8868\u7a7a\u95f4&#xff08;LMT&#xff09;&#xff1a;\u4f7f\u7528\u4f4d\u56fe\u7ba1\u7406\u533a\u5206\u914d&#xff0c;\u63a8\u8350<\/li>\n<li>\u5b57\u5178\u7ba1\u7406\u8868\u7a7a\u95f4&#xff08;DMT&#xff09;&#xff1a;\u4f7f\u7528\u6570\u636e\u5b57\u5178\u8868\u7ba1\u7406&#xff0c;\u5df2\u4e0d\u63a8\u8350<\/li>\n<\/ul>\n<h4>2.6 Oracle\u6570\u636e\u5e93\u542f\u52a8\u4e0e\u5173\u95ed<\/h4>\n<p>\u542f\u52a8\u9636\u6bb5&#xff1a;<\/p>\n<p><span class=\"token comment\">&#8212; \u5b8c\u6574\u542f\u52a8\u6d41\u7a0b<\/span><br \/>\nSTARTUP NOMOUNT<span class=\"token punctuation\">;<\/span>    <span class=\"token comment\">&#8212; \u8bfb\u53d6\u53c2\u6570\u6587\u4ef6&#xff0c;\u5206\u914d\u5185\u5b58&#xff0c;\u542f\u52a8\u540e\u53f0\u8fdb\u7a0b<\/span><br \/>\nSTARTUP MOUNT<span class=\"token punctuation\">;<\/span>      <span class=\"token comment\">&#8212; \u6253\u5f00\u63a7\u5236\u6587\u4ef6&#xff0c;\u53ef\u6267\u884c\u6062\u590d\u64cd\u4f5c<\/span><br \/>\nSTARTUP <span class=\"token keyword\">OPEN<\/span><span class=\"token punctuation\">;<\/span>       <span class=\"token comment\">&#8212; \u6253\u5f00\u6570\u636e\u6587\u4ef6\u548c\u91cd\u505a\u65e5\u5fd7&#xff0c;\u6570\u636e\u5e93\u53ef\u7528<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u4e00\u6b65\u5230\u4f4d<\/span><br \/>\nSTARTUP<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token comment\">&#8212; \u7b49\u4ef7\u4e8e<\/span><br \/>\nSTARTUP <span class=\"token keyword\">OPEN<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u53d7\u9650\u6a21\u5f0f\u542f\u52a8&#xff08;\u4ec5\u5141\u8bb8\u6709RESTRICTED SESSION\u6743\u9650\u7684\u7528\u6237&#xff09;<\/span><br \/>\nSTARTUP <span class=\"token keyword\">RESTRICT<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u5f3a\u5236\u542f\u52a8&#xff08;\u5b9e\u4f8b\u5f02\u5e38\u65f6\u4f7f\u7528&#xff09;<\/span><br \/>\nSTARTUP <span class=\"token keyword\">FORCE<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p>\u5173\u95ed\u9636\u6bb5&#xff1a;<\/p>\n<p><span class=\"token keyword\">SHUTDOWN<\/span> NORMAL<span class=\"token punctuation\">;<\/span>     <span class=\"token comment\">&#8212; \u7b49\u5f85\u6240\u6709\u8fde\u63a5\u65ad\u5f00&#xff08;\u53ef\u80fd\u7b49\u5f88\u4e45&#xff09;<\/span><br \/>\n<span class=\"token keyword\">SHUTDOWN<\/span> IMMEDIATE<span class=\"token punctuation\">;<\/span>  <span class=\"token comment\">&#8212; \u56de\u6eda\u672a\u63d0\u4ea4\u4e8b\u52a1&#xff0c;\u65ad\u5f00\u8fde\u63a5&#xff08;\u63a8\u8350&#xff09;<\/span><br \/>\n<span class=\"token keyword\">SHUTDOWN<\/span> TRANSACTIONAL<span class=\"token punctuation\">;<\/span> <span class=\"token comment\">&#8212; \u7b49\u5f85\u6d3b\u52a8\u4e8b\u52a1\u5b8c\u6210<\/span><br \/>\n<span class=\"token keyword\">SHUTDOWN<\/span> ABORT<span class=\"token punctuation\">;<\/span>      <span class=\"token comment\">&#8212; \u5f3a\u5236\u7ec8\u6b62&#xff08;\u76f8\u5f53\u4e8ekill&#xff0c;\u9700\u8981\u5b9e\u4f8b\u6062\u590d&#xff09;<\/span><\/p>\n<h4>2.7 \u6570\u636e\u5b57\u5178<\/h4>\n<p>\u6570\u636e\u5b57\u5178\u662fOracle\u7684\u5143\u6570\u636e\u5b58\u50a8&#xff0c;\u4ee5SYS\u7528\u6237\u62e5\u6709\u7684\u57fa\u8868\u4e3a\u57fa\u7840&#xff1a;<\/p>\n<p><span class=\"token comment\">&#8212; \u6570\u636e\u5b57\u5178\u89c6\u56fe\u5206\u7c7b<\/span><br \/>\n<span class=\"token comment\">&#8212; USER_*  : \u5f53\u524d\u7528\u6237\u62e5\u6709\u7684\u5bf9\u8c61<\/span><br \/>\n<span class=\"token comment\">&#8212; ALL_*   : \u5f53\u524d\u7528\u6237\u6709\u6743\u8bbf\u95ee\u7684\u5bf9\u8c61<\/span><br \/>\n<span class=\"token comment\">&#8212; DBA_*   : \u6570\u636e\u5e93\u4e2d\u6240\u6709\u5bf9\u8c61&#xff08;\u9700DBA\u6743\u9650&#xff09;<\/span><br \/>\n<span class=\"token comment\">&#8212; V$*     : \u52a8\u6001\u6027\u80fd\u89c6\u56fe&#xff08;\u5b9e\u4f8b\u8fd0\u884c\u65f6\u4fe1\u606f&#xff09;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u5e38\u7528\u67e5\u8be2<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">FROM<\/span> USER_TABLES<span class=\"token punctuation\">;<\/span>           <span class=\"token comment\">&#8212; \u5f53\u524d\u7528\u6237\u7684\u8868<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">FROM<\/span> DBA_USERS<span class=\"token punctuation\">;<\/span>             <span class=\"token comment\">&#8212; \u6240\u6709\u7528\u6237<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">FROM<\/span> V$<span class=\"token keyword\">SESSION<\/span><span class=\"token punctuation\">;<\/span>             <span class=\"token comment\">&#8212; \u5f53\u524d\u4f1a\u8bdd<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">FROM<\/span> V$<span class=\"token keyword\">SQL<\/span> <span class=\"token keyword\">WHERE<\/span> sql_text <span class=\"token operator\">LIKE<\/span> <span class=\"token string\">&#039;%employees%&#039;<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u6570\u636e\u5b57\u5178\u89c6\u56fe\u5b9a\u4e49<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> comments <span class=\"token keyword\">FROM<\/span> DICTIONARY <span class=\"token keyword\">WHERE<\/span> table_name <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#039;DBA_TABLES&#039;<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<h4>2.8 SQL\u8bed\u53e5\u7684\u5904\u7406\u6d41\u7a0b<\/h4>\n<p>\u4e00\u6761SQL\u8bed\u53e5\u5728Oracle\u4e2d\u7684\u5904\u7406\u6d41\u7a0b&#xff1a;<\/p>\n<p>SQL\u8bed\u53e5 \u2192 \u8bed\u6cd5\u89e3\u6790 \u2192 \u8bed\u4e49\u89e3\u6790 \u2192 \u6743\u9650\u68c0\u67e5 \u2192 \u67e5\u8be2\u4f18\u5316\u5668\u751f\u6210\u6267\u884c\u8ba1\u5212<br \/>\n    \u2192 \u884c\u6e90\u751f\u6210 \u2192 \u6267\u884c \u2192 \u8fd4\u56de\u7ed3\u679c<\/p>\n<li>\u89e3\u6790&#xff08;Parse&#xff09;&#xff1a;\u8bed\u6cd5\u68c0\u67e5\u3001\u8bed\u4e49\u5206\u6790\u3001\u6743\u9650\u9a8c\u8bc1\u3001\u751f\u6210\u6267\u884c\u8ba1\u5212<\/li>\n<li>\u7ed1\u5b9a&#xff08;Bind&#xff09;&#xff1a;\u66ff\u6362\u7ed1\u5b9a\u53d8\u91cf<\/li>\n<li>\u6267\u884c&#xff08;Execute&#xff09;&#xff1a;\u6309\u7167\u6267\u884c\u8ba1\u5212\u8bbf\u95ee\u6570\u636e<\/li>\n<li>\u63d0\u53d6&#xff08;Fetch&#xff09;&#xff1a;\u9010\u884c\u8fd4\u56de\u7ed3\u679c\u96c6&#xff08;SELECT\u8bed\u53e5&#xff09;<\/li>\n<p><span class=\"token comment\">&#8212; \u67e5\u770bSQL\u6267\u884c\u8ba1\u5212<\/span><br \/>\n<span class=\"token keyword\">EXPLAIN<\/span> <span class=\"token keyword\">PLAN<\/span> <span class=\"token keyword\">FOR<\/span> <span class=\"token keyword\">SELECT<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">FROM<\/span> employees <span class=\"token keyword\">WHERE<\/span> department_id <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">10<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">FROM<\/span> <span class=\"token keyword\">TABLE<\/span><span class=\"token punctuation\">(<\/span>DBMS_XPLAN<span class=\"token punctuation\">.<\/span>DISPLAY<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u5171\u4eab\u6c60\u4e2d\u7684SQL<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> sql_id<span class=\"token punctuation\">,<\/span> sql_text<span class=\"token punctuation\">,<\/span> executions<span class=\"token punctuation\">,<\/span> elapsed_time<span class=\"token operator\">\/<\/span><span class=\"token number\">1000000<\/span> <span class=\"token keyword\">AS<\/span> <span class=\"token string\">&#034;Sec&#034;<\/span><br \/>\n<span class=\"token keyword\">FROM<\/span> V$<span class=\"token keyword\">SQL<\/span><br \/>\n<span class=\"token keyword\">WHERE<\/span> sql_text <span class=\"token operator\">LIKE<\/span> <span class=\"token string\">&#039;%employees%&#039;<\/span><br \/>\n<span class=\"token keyword\">ORDER<\/span> <span class=\"token keyword\">BY<\/span> elapsed_time <span class=\"token keyword\">DESC<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<hr \/>\n<h3>\u7b2c3\u7ae0 Oracle\u5b58\u50a8\u7ed3\u6784\u7ba1\u7406<\/h3>\n<h4>3.1 \u7528\u6237\u8868\u7a7a\u95f4\u7ba1\u7406<\/h4>\n<p><span class=\"token comment\">&#8212; \u521b\u5efa\u8868\u7a7a\u95f4<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">TABLESPACE<\/span> tbs_data<br \/>\n  DATAFILE <span class=\"token string\">&#039;\/u01\/app\/oracle\/oradata\/orcl\/tbs_data01.dbf&#039;<\/span> SIZE <span class=\"token number\">500<\/span>M<br \/>\n  AUTOEXTEND <span class=\"token keyword\">ON<\/span> <span class=\"token keyword\">NEXT<\/span> <span class=\"token number\">100<\/span>M MAXSIZE <span class=\"token number\">10<\/span>G<br \/>\n  EXTENT MANAGEMENT <span class=\"token keyword\">LOCAL<\/span><br \/>\n  SEGMENT SPACE MANAGEMENT AUTO<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u4fee\u6539\u8868\u7a7a\u95f4<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">TABLESPACE<\/span> tbs_data <span class=\"token keyword\">ADD<\/span> DATAFILE <span class=\"token string\">&#039;\/u01\/app\/oracle\/oradata\/orcl\/tbs_data02.dbf&#039;<\/span> SIZE <span class=\"token number\">500<\/span>M<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">TABLESPACE<\/span> tbs_data <span class=\"token keyword\">READ<\/span> ONLY<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">TABLESPACE<\/span> tbs_data OFFLINE<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u5220\u9664\u8868\u7a7a\u95f4<\/span><br \/>\n<span class=\"token keyword\">DROP<\/span> <span class=\"token keyword\">TABLESPACE<\/span> tbs_data INCLUDING CONTENTS <span class=\"token operator\">AND<\/span> DATAFILES<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u8868\u7a7a\u95f4\u4f7f\u7528\u60c5\u51b5<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> tablespace_name<span class=\"token punctuation\">,<\/span><br \/>\n       <span class=\"token function\">ROUND<\/span><span class=\"token punctuation\">(<\/span>used_space <span class=\"token operator\">*<\/span> <span class=\"token number\">8192<\/span> <span class=\"token operator\">\/<\/span> <span class=\"token number\">1024<\/span> <span class=\"token operator\">\/<\/span> <span class=\"token number\">1024<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">2<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">AS<\/span> used_mb<span class=\"token punctuation\">,<\/span><br \/>\n       <span class=\"token function\">ROUND<\/span><span class=\"token punctuation\">(<\/span>tablespace_size <span class=\"token operator\">*<\/span> <span class=\"token number\">8192<\/span> <span class=\"token operator\">\/<\/span> <span class=\"token number\">1024<\/span> <span class=\"token operator\">\/<\/span> <span class=\"token number\">1024<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">2<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">AS<\/span> total_mb<span class=\"token punctuation\">,<\/span><br \/>\n       <span class=\"token function\">ROUND<\/span><span class=\"token punctuation\">(<\/span>used_percent<span class=\"token punctuation\">,<\/span> <span class=\"token number\">2<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">AS<\/span> used_pct<br \/>\n<span class=\"token keyword\">FROM<\/span> DBA_TABLESPACE_USAGE_METRICS<br \/>\n<span class=\"token keyword\">ORDER<\/span> <span class=\"token keyword\">BY<\/span> used_percent <span class=\"token keyword\">DESC<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<h4>3.2 \u4e34\u65f6\u8868\u7a7a\u95f4\u7ba1\u7406<\/h4>\n<p>\u4e34\u65f6\u8868\u7a7a\u95f4\u7528\u4e8e\u6392\u5e8f\u3001\u54c8\u5e0c\u8fde\u63a5\u7b49\u64cd\u4f5c\u7684\u4e34\u65f6\u6570\u636e\u5b58\u50a8&#xff1a;<\/p>\n<p><span class=\"token comment\">&#8212; \u521b\u5efa\u4e34\u65f6\u8868\u7a7a\u95f4<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">TEMPORARY<\/span> <span class=\"token keyword\">TABLESPACE<\/span> temp_ts<br \/>\n  TEMPFILE <span class=\"token string\">&#039;\/u01\/app\/oracle\/oradata\/orcl\/temp02.dbf&#039;<\/span> SIZE <span class=\"token number\">2<\/span>G<br \/>\n  AUTOEXTEND <span class=\"token keyword\">ON<\/span> <span class=\"token keyword\">NEXT<\/span> <span class=\"token number\">500<\/span>M MAXSIZE <span class=\"token number\">8<\/span>G<br \/>\n  EXTENT MANAGEMENT <span class=\"token keyword\">LOCAL<\/span> UNIFORM SIZE <span class=\"token number\">1<\/span>M<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u8bbe\u4e3a\u9ed8\u8ba4\u4e34\u65f6\u8868\u7a7a\u95f4<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">DATABASE<\/span> <span class=\"token keyword\">DEFAULT<\/span> <span class=\"token keyword\">TEMPORARY<\/span> <span class=\"token keyword\">TABLESPACE<\/span> temp_ts<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u521b\u5efa\u4e34\u65f6\u8868\u7a7a\u95f4\u7ec4<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">TEMPORARY<\/span> <span class=\"token keyword\">TABLESPACE<\/span> temp_ts2 TEMPFILE <span class=\"token string\">&#039;\/u01\/oradata\/temp02.dbf&#039;<\/span> SIZE <span class=\"token number\">2<\/span>G<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">TABLESPACE<\/span> temp_ts2 <span class=\"token keyword\">TABLESPACE<\/span> <span class=\"token keyword\">GROUP<\/span> temp_group<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">TABLESPACE<\/span> temp_ts <span class=\"token keyword\">TABLESPACE<\/span> <span class=\"token keyword\">GROUP<\/span> temp_group<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">DATABASE<\/span> <span class=\"token keyword\">DEFAULT<\/span> <span class=\"token keyword\">TEMPORARY<\/span> <span class=\"token keyword\">TABLESPACE<\/span> temp_group<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u4e34\u65f6\u8868\u7a7a\u95f4\u4f7f\u7528<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> tablespace_name<span class=\"token punctuation\">,<\/span> tablespace_size<span class=\"token operator\">\/<\/span><span class=\"token number\">1024<\/span><span class=\"token operator\">\/<\/span><span class=\"token number\">1024<\/span> <span class=\"token keyword\">AS<\/span> total_mb<span class=\"token punctuation\">,<\/span><br \/>\n       allocated_space<span class=\"token operator\">\/<\/span><span class=\"token number\">1024<\/span><span class=\"token operator\">\/<\/span><span class=\"token number\">1024<\/span> <span class=\"token keyword\">AS<\/span> alloc_mb<span class=\"token punctuation\">,<\/span><br \/>\n       free_space<span class=\"token operator\">\/<\/span><span class=\"token number\">1024<\/span><span class=\"token operator\">\/<\/span><span class=\"token number\">1024<\/span> <span class=\"token keyword\">AS<\/span> free_mb<br \/>\n<span class=\"token keyword\">FROM<\/span> DBA_TEMP_FREE_SPACE<span class=\"token punctuation\">;<\/span><\/p>\n<h4>3.3 \u8fd8\u539f\u8868\u7a7a\u95f4\u7ba1\u7406<\/h4>\n<p>\u8fd8\u539f&#xff08;UNDO&#xff09;\u8868\u7a7a\u95f4\u5b58\u50a8\u4e8b\u52a1\u4fee\u6539\u524d\u7684\u65e7\u6570\u636e&#xff0c;\u7528\u4e8e\u56de\u6eda\u3001\u8bfb\u4e00\u81f4\u6027\u548c\u95ea\u56de&#xff1a;<\/p>\n<p><span class=\"token comment\">&#8212; \u521b\u5efa\u8fd8\u539f\u8868\u7a7a\u95f4<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> UNDO <span class=\"token keyword\">TABLESPACE<\/span> undotbs2<br \/>\n  DATAFILE <span class=\"token string\">&#039;\/u01\/app\/oracle\/oradata\/orcl\/undotbs02.dbf&#039;<\/span> SIZE <span class=\"token number\">2<\/span>G<br \/>\n  AUTOEXTEND <span class=\"token keyword\">ON<\/span> <span class=\"token keyword\">NEXT<\/span> <span class=\"token number\">500<\/span>M MAXSIZE <span class=\"token number\">8<\/span>G<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u5207\u6362\u8fd8\u539f\u8868\u7a7a\u95f4<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> SYSTEM <span class=\"token keyword\">SET<\/span> UNDO_TABLESPACE <span class=\"token operator\">&#061;<\/span> undotbs2<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u8fd8\u539f\u6bb5\u4f7f\u7528<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> segment_name<span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">status<\/span><span class=\"token punctuation\">,<\/span> bytes<span class=\"token operator\">\/<\/span><span class=\"token number\">1024<\/span><span class=\"token operator\">\/<\/span><span class=\"token number\">1024<\/span><br \/>\n<span class=\"token keyword\">FROM<\/span> DBA_UNDO_EXTENTS<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u8bbe\u7f6e\u8fd8\u539f\u4fdd\u7559\u65f6\u95f4&#xff08;\u79d2&#xff09;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> SYSTEM <span class=\"token keyword\">SET<\/span> UNDO_RETENTION <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">3600<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<h4>3.4 \u63a7\u5236\u6587\u4ef6\u7ba1\u7406<\/h4>\n<p>\u63a7\u5236\u6587\u4ef6\u8bb0\u5f55\u6570\u636e\u5e93\u7684\u7269\u7406\u7ed3\u6784\u5143\u6570\u636e&#xff0c;\u662f\u6570\u636e\u5e93\u6700\u5173\u952e\u7684\u4e8c\u8fdb\u5236\u6587\u4ef6&#xff1a;<\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u63a7\u5236\u6587\u4ef6\u4f4d\u7f6e<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> name<span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">status<\/span><span class=\"token punctuation\">,<\/span> block_size <span class=\"token keyword\">FROM<\/span> V$CONTROLFILE<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u63a7\u5236\u6587\u4ef6\u8bb0\u5f55\u7684\u5185\u5bb9<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token keyword\">type<\/span><span class=\"token punctuation\">,<\/span> record_size<span class=\"token punctuation\">,<\/span> records_total<span class=\"token punctuation\">,<\/span> records_used<br \/>\n<span class=\"token keyword\">FROM<\/span> V$CONTROLFILE_RECORD_SECTION<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u5907\u4efd\u63a7\u5236\u6587\u4ef6<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">DATABASE<\/span> <span class=\"token keyword\">BACKUP<\/span> CONTROLFILE <span class=\"token keyword\">TO<\/span> <span class=\"token string\">&#039;\/tmp\/controlfile_backup.ctl&#039;<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">DATABASE<\/span> <span class=\"token keyword\">BACKUP<\/span> CONTROLFILE <span class=\"token keyword\">TO<\/span> TRACE<span class=\"token punctuation\">;<\/span>  <span class=\"token comment\">&#8212; \u751f\u6210\u91cd\u5efa\u811a\u672c<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u591a\u8def\u590d\u7528\u63a7\u5236\u6587\u4ef6&#xff08;\u4fee\u6539\u53c2\u6570\u540e\u91cd\u542f&#xff09;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> SYSTEM <span class=\"token keyword\">SET<\/span> control_files <span class=\"token operator\">&#061;<\/span><br \/>\n  <span class=\"token string\">&#039;\/u01\/oradata\/orcl\/control01.ctl&#039;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token string\">&#039;\/u01\/oradata\/orcl\/control02.ctl&#039;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token string\">&#039;\/u02\/oradata\/orcl\/control03.ctl&#039;<\/span><br \/>\nSCOPE <span class=\"token operator\">&#061;<\/span> SPFILE<span class=\"token punctuation\">;<\/span><\/p>\n<h4>3.5 \u8054\u673a\u91cd\u505a\u65e5\u5fd7\u6587\u4ef6\u7ba1\u7406<\/h4>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u65e5\u5fd7\u7ec4<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token keyword\">group<\/span><span class=\"token comment\">#, members, bytes\/1024\/1024 AS size_mb, status<\/span><br \/>\n<span class=\"token keyword\">FROM<\/span> V$LOG<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u6dfb\u52a0\u65e5\u5fd7\u7ec4<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">DATABASE<\/span> <span class=\"token keyword\">ADD<\/span> LOGFILE <span class=\"token keyword\">GROUP<\/span> <span class=\"token number\">4<\/span><br \/>\n  <span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;\/u01\/oradata\/orcl\/redo04a.log&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;\/u02\/oradata\/orcl\/redo04b.log&#039;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n  SIZE <span class=\"token number\">500<\/span>M<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u6dfb\u52a0\u6210\u5458&#xff08;\u591a\u8def\u590d\u7528&#xff09;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">DATABASE<\/span> <span class=\"token keyword\">ADD<\/span> LOGFILE MEMBER <span class=\"token string\">&#039;\/u02\/oradata\/orcl\/redo01b.log&#039;<\/span> <span class=\"token keyword\">TO<\/span> <span class=\"token keyword\">GROUP<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u5220\u9664\u65e5\u5fd7\u7ec4&#xff08;\u4e0d\u80fd\u5220\u9664CURRENT\u72b6\u6001\u7684\u7ec4&#xff09;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">DATABASE<\/span> <span class=\"token keyword\">DROP<\/span> LOGFILE <span class=\"token keyword\">GROUP<\/span> <span class=\"token number\">4<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u5f3a\u5236\u65e5\u5fd7\u5207\u6362<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> SYSTEM SWITCH LOGFILE<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> SYSTEM <span class=\"token keyword\">CHECKPOINT<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<h4>3.6 \u91cd\u505a\u65e5\u5fd7\u6587\u4ef6\u5f52\u6863\u7ba1\u7406<\/h4>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u5f52\u6863\u6a21\u5f0f<\/span><br \/>\nARCHIVE LOG LIST<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> log_mode <span class=\"token keyword\">FROM<\/span> V$<span class=\"token keyword\">DATABASE<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u5f00\u542f\u5f52\u6863\u6a21\u5f0f<\/span><br \/>\n<span class=\"token keyword\">SHUTDOWN<\/span> IMMEDIATE<span class=\"token punctuation\">;<\/span><br \/>\nSTARTUP MOUNT<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">DATABASE<\/span> ARCHIVELOG<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">DATABASE<\/span> <span class=\"token keyword\">OPEN<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u8bbe\u7f6e\u5f52\u6863\u76ee\u7684\u5730<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> SYSTEM <span class=\"token keyword\">SET<\/span> LOG_ARCHIVE_DEST_1 <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#039;LOCATION&#061;\/u01\/archive MANDATORY&#039;<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> SYSTEM <span class=\"token keyword\">SET<\/span> LOG_ARCHIVE_FORMAT <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#039;arch_%t_%s_%r.arc&#039;<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u624b\u52a8\u5f52\u6863<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> SYSTEM ARCHIVE LOG <span class=\"token keyword\">CURRENT<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u5f52\u6863\u65e5\u5fd7<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> sequence<span class=\"token comment\">#, name, applied FROM V$ARCHIVED_LOG ORDER BY sequence# DESC;<\/span><\/p>\n<h4>3.7 \u521d\u59cb\u5316\u53c2\u6570\u6587\u4ef6\u7ba1\u7406<\/h4>\n<p><span class=\"token comment\">&#8212; SPFILE vs PFILE<\/span><br \/>\n<span class=\"token comment\">&#8212; SPFILE: \u4e8c\u8fdb\u5236&#xff0c;\u53ef\u901a\u8fc7ALTER SYSTEM\u4fee\u6539&#xff0c;\u4f18\u5148\u7ea7\u9ad8<\/span><br \/>\n<span class=\"token comment\">&#8212; PFILE: \u6587\u672c&#xff0c;\u9700\u91cd\u542f\u751f\u6548<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u53c2\u6570<\/span><br \/>\n<span class=\"token keyword\">SHOW<\/span> PARAMETER db_name<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> name<span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">value<\/span><span class=\"token punctuation\">,<\/span> issys_modifiable <span class=\"token keyword\">FROM<\/span> V$PARAMETER <span class=\"token keyword\">WHERE<\/span> name <span class=\"token operator\">LIKE<\/span> <span class=\"token string\">&#039;%sga%&#039;<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u4fee\u6539\u53c2\u6570<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> SYSTEM <span class=\"token keyword\">SET<\/span> sga_target <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">4<\/span>G SCOPE<span class=\"token operator\">&#061;<\/span>SPFILE<span class=\"token punctuation\">;<\/span>       <span class=\"token comment\">&#8212; \u91cd\u542f\u751f\u6548<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> SYSTEM <span class=\"token keyword\">SET<\/span> open_cursors <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">500<\/span> SCOPE<span class=\"token operator\">&#061;<\/span>BOTH<span class=\"token punctuation\">;<\/span>      <span class=\"token comment\">&#8212; \u7acb\u5373&#043;\u6301\u4e45\u5316<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> SYSTEM <span class=\"token keyword\">SET<\/span> <span class=\"token string\">&#034;_hidden_param&#034;<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token keyword\">value<\/span> SCOPE<span class=\"token operator\">&#061;<\/span>MEMORY<span class=\"token punctuation\">;<\/span> <span class=\"token comment\">&#8212; \u4ec5\u5f53\u524d\u5b9e\u4f8b<\/span><\/p>\n<p><span class=\"token comment\">&#8212; SPFILE\u4e0ePFILE\u4e92\u8f6c<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> PFILE<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#039;\/tmp\/initorcl.ora&#039;<\/span> <span class=\"token keyword\">FROM<\/span> SPFILE<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> SPFILE <span class=\"token keyword\">FROM<\/span> PFILE<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#039;\/tmp\/initorcl.ora&#039;<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<hr \/>\n<h3>\u7b2c4\u7ae0 \u6a21\u5f0f\u5bf9\u8c61\u7ba1\u7406<\/h3>\n<h4>4.1 \u6a21\u5f0f\u542b\u4e49<\/h4>\n<p>\u6a21\u5f0f&#xff08;Schema&#xff09; \u662f\u6570\u636e\u5e93\u5bf9\u8c61\u7684\u903b\u8f91\u5bb9\u5668&#xff0c;\u4e0e\u7528\u6237\u4e00\u4e00\u5bf9\u5e94\u3002\u7528\u6237SCOTT\u521b\u5efa\u7684\u6240\u6709\u5bf9\u8c61\u90fd\u5c5e\u4e8eSCOTT\u6a21\u5f0f\u3002\u6a21\u5f0f\u5bf9\u8c61\u5305\u62ec&#xff1a;\u8868\u3001\u89c6\u56fe\u3001\u7d22\u5f15\u3001\u5e8f\u5217\u3001\u540c\u4e49\u8bcd\u3001\u5b58\u50a8\u8fc7\u7a0b\u7b49\u3002<\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u5f53\u524d\u7528\u6237&#xff08;\u6a21\u5f0f&#xff09;<\/span><br \/>\n<span class=\"token keyword\">SHOW<\/span> <span class=\"token keyword\">USER<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u5f53\u524d\u6a21\u5f0f\u4e0b\u7684\u6240\u6709\u5bf9\u8c61<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> object_name<span class=\"token punctuation\">,<\/span> object_type<span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">status<\/span> <span class=\"token keyword\">FROM<\/span> USER_OBJECTS<span class=\"token punctuation\">;<\/span><\/p>\n<h4>4.2 \u6570\u636e\u8868<\/h4>\n<p><span class=\"token comment\">&#8212; \u521b\u5efa\u8868<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">TABLE<\/span> employees <span class=\"token punctuation\">(<\/span><br \/>\n    employee_id    NUMBER<span class=\"token punctuation\">(<\/span><span class=\"token number\">6<\/span><span class=\"token punctuation\">)<\/span>     <span class=\"token keyword\">PRIMARY<\/span> <span class=\"token keyword\">KEY<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    first_name     VARCHAR2<span class=\"token punctuation\">(<\/span><span class=\"token number\">50<\/span><span class=\"token punctuation\">)<\/span>  <span class=\"token operator\">NOT<\/span> <span class=\"token boolean\">NULL<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    last_name      VARCHAR2<span class=\"token punctuation\">(<\/span><span class=\"token number\">50<\/span><span class=\"token punctuation\">)<\/span>  <span class=\"token operator\">NOT<\/span> <span class=\"token boolean\">NULL<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    email          VARCHAR2<span class=\"token punctuation\">(<\/span><span class=\"token number\">100<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">UNIQUE<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    hire_date      <span class=\"token keyword\">DATE<\/span>          <span class=\"token keyword\">DEFAULT<\/span> SYSDATE<span class=\"token punctuation\">,<\/span><br \/>\n    salary         NUMBER<span class=\"token punctuation\">(<\/span><span class=\"token number\">10<\/span><span class=\"token punctuation\">,<\/span><span class=\"token number\">2<\/span><span class=\"token punctuation\">)<\/span>  <span class=\"token keyword\">CHECK<\/span> <span class=\"token punctuation\">(<\/span>salary <span class=\"token operator\">&gt;<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    department_id  NUMBER<span class=\"token punctuation\">(<\/span><span class=\"token number\">4<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    <span class=\"token keyword\">CONSTRAINT<\/span> fk_dept <span class=\"token keyword\">FOREIGN<\/span> <span class=\"token keyword\">KEY<\/span> <span class=\"token punctuation\">(<\/span>department_id<span class=\"token punctuation\">)<\/span><br \/>\n        <span class=\"token keyword\">REFERENCES<\/span> departments<span class=\"token punctuation\">(<\/span>department_id<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">TABLESPACE<\/span> tbs_data<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u4fee\u6539\u8868\u7ed3\u6784<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">TABLE<\/span> employees <span class=\"token keyword\">ADD<\/span> <span class=\"token punctuation\">(<\/span>phone VARCHAR2<span class=\"token punctuation\">(<\/span><span class=\"token number\">20<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">TABLE<\/span> employees <span class=\"token keyword\">MODIFY<\/span> <span class=\"token punctuation\">(<\/span>salary NUMBER<span class=\"token punctuation\">(<\/span><span class=\"token number\">12<\/span><span class=\"token punctuation\">,<\/span><span class=\"token number\">2<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">TABLE<\/span> employees <span class=\"token keyword\">DROP<\/span> <span class=\"token keyword\">COLUMN<\/span> phone<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">TABLE<\/span> employees <span class=\"token keyword\">RENAME<\/span> <span class=\"token keyword\">COLUMN<\/span> first_name <span class=\"token keyword\">TO<\/span> given_name<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u8868\u91cd\u547d\u540d<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">TABLE<\/span> employees <span class=\"token keyword\">RENAME<\/span> <span class=\"token keyword\">TO<\/span> emp<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u622a\u65ad\u8868&#xff08;\u4e0d\u53ef\u56de\u6eda&#xff0c;\u91ca\u653e\u7a7a\u95f4&#xff09;<\/span><br \/>\n<span class=\"token keyword\">TRUNCATE<\/span> <span class=\"token keyword\">TABLE<\/span> employees<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u5220\u9664\u8868<\/span><br \/>\n<span class=\"token keyword\">DROP<\/span> <span class=\"token keyword\">TABLE<\/span> employees <span class=\"token keyword\">PURGE<\/span><span class=\"token punctuation\">;<\/span>  <span class=\"token comment\">&#8212; \u4e0d\u8fdb\u5165\u56de\u6536\u7ad9<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u8868\u7ed3\u6784<\/span><br \/>\n<span class=\"token keyword\">DESC<\/span> employees<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> column_name<span class=\"token punctuation\">,<\/span> data_type<span class=\"token punctuation\">,<\/span> nullable <span class=\"token keyword\">FROM<\/span> USER_TAB_COLUMNS <span class=\"token keyword\">WHERE<\/span> table_name <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#039;EMPLOYEES&#039;<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<h4>4.3 \u7d22\u5f15<\/h4>\n<p><span class=\"token comment\">&#8212; B\u6811\u7d22\u5f15&#xff08;\u9ed8\u8ba4&#xff09;<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">INDEX<\/span> idx_emp_name <span class=\"token keyword\">ON<\/span> employees<span class=\"token punctuation\">(<\/span>last_name<span class=\"token punctuation\">,<\/span> first_name<span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token keyword\">TABLESPACE<\/span> tbs_index<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u552f\u4e00\u7d22\u5f15<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">UNIQUE<\/span> <span class=\"token keyword\">INDEX<\/span> idx_emp_email <span class=\"token keyword\">ON<\/span> employees<span class=\"token punctuation\">(<\/span>email<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u4f4d\u56fe\u7d22\u5f15&#xff08;\u9002\u5408\u4f4e\u57fa\u6570\u5217&#xff0c;DML\u5c11&#xff09;<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> BITMAP <span class=\"token keyword\">INDEX<\/span> idx_emp_dept <span class=\"token keyword\">ON<\/span> employees<span class=\"token punctuation\">(<\/span>department_id<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u51fd\u6570\u7d22\u5f15<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">INDEX<\/span> idx_emp_upper <span class=\"token keyword\">ON<\/span> employees<span class=\"token punctuation\">(<\/span>UPPER<span class=\"token punctuation\">(<\/span>last_name<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u590d\u5408\u7d22\u5f15<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">INDEX<\/span> idx_emp_dept_date <span class=\"token keyword\">ON<\/span> employees<span class=\"token punctuation\">(<\/span>department_id<span class=\"token punctuation\">,<\/span> hire_date <span class=\"token keyword\">DESC<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u7d22\u5f15<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> index_name<span class=\"token punctuation\">,<\/span> index_type<span class=\"token punctuation\">,<\/span> uniqueness<span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">status<\/span><br \/>\n<span class=\"token keyword\">FROM<\/span> USER_INDEXES <span class=\"token keyword\">WHERE<\/span> table_name <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#039;EMPLOYEES&#039;<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u7d22\u5f15\u6709\u6548\u6027\u5206\u6790<\/span><br \/>\n<span class=\"token keyword\">ANALYZE<\/span> <span class=\"token keyword\">INDEX<\/span> idx_emp_name VALIDATE STRUCTURE<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> name<span class=\"token punctuation\">,<\/span> height<span class=\"token punctuation\">,<\/span> blocks<span class=\"token punctuation\">,<\/span> del_lf_rows <span class=\"token keyword\">FROM<\/span> INDEX_STATS<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u91cd\u5efa\u7d22\u5f15<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">INDEX<\/span> idx_emp_name REBUILD ONLINE <span class=\"token keyword\">TABLESPACE<\/span> tbs_index<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u5220\u9664\u7d22\u5f15<\/span><br \/>\n<span class=\"token keyword\">DROP<\/span> <span class=\"token keyword\">INDEX<\/span> idx_emp_name<span class=\"token punctuation\">;<\/span><\/p>\n<h4>4.4 \u5206\u533a<\/h4>\n<p>\u5206\u533a\u8868\u5c06\u5927\u8868\u6309\u89c4\u5219\u62c6\u5206\u4e3a\u591a\u4e2a\u7269\u7406\u6bb5&#xff0c;\u63d0\u5347\u67e5\u8be2\u6027\u80fd\u548c\u53ef\u7ba1\u7406\u6027&#xff1a;<\/p>\n<p><span class=\"token comment\">&#8212; \u8303\u56f4\u5206\u533a&#xff08;\u6309\u65f6\u95f4&#xff09;<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">TABLE<\/span> sales <span class=\"token punctuation\">(<\/span><br \/>\n    sale_id     NUMBER <span class=\"token keyword\">PRIMARY<\/span> <span class=\"token keyword\">KEY<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    sale_date   <span class=\"token keyword\">DATE<\/span> <span class=\"token operator\">NOT<\/span> <span class=\"token boolean\">NULL<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    amount      NUMBER<span class=\"token punctuation\">(<\/span><span class=\"token number\">12<\/span><span class=\"token punctuation\">,<\/span><span class=\"token number\">2<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    region      VARCHAR2<span class=\"token punctuation\">(<\/span><span class=\"token number\">50<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">PARTITION<\/span> <span class=\"token keyword\">BY<\/span> RANGE <span class=\"token punctuation\">(<\/span>sale_date<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">(<\/span><br \/>\n    <span class=\"token keyword\">PARTITION<\/span> p_2024q1 <span class=\"token keyword\">VALUES<\/span> LESS THAN <span class=\"token punctuation\">(<\/span><span class=\"token keyword\">DATE<\/span> <span class=\"token string\">&#039;2024-04-01&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    <span class=\"token keyword\">PARTITION<\/span> p_2024q2 <span class=\"token keyword\">VALUES<\/span> LESS THAN <span class=\"token punctuation\">(<\/span><span class=\"token keyword\">DATE<\/span> <span class=\"token string\">&#039;2024-07-01&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    <span class=\"token keyword\">PARTITION<\/span> p_2024q3 <span class=\"token keyword\">VALUES<\/span> LESS THAN <span class=\"token punctuation\">(<\/span><span class=\"token keyword\">DATE<\/span> <span class=\"token string\">&#039;2024-10-01&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    <span class=\"token keyword\">PARTITION<\/span> p_2024q4 <span class=\"token keyword\">VALUES<\/span> LESS THAN <span class=\"token punctuation\">(<\/span><span class=\"token keyword\">DATE<\/span> <span class=\"token string\">&#039;2025-01-01&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    <span class=\"token keyword\">PARTITION<\/span> p_max    <span class=\"token keyword\">VALUES<\/span> LESS THAN <span class=\"token punctuation\">(<\/span>MAXVALUE<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u5217\u8868\u5206\u533a<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">TABLE<\/span> customers <span class=\"token punctuation\">(<\/span><br \/>\n    cust_id   NUMBER <span class=\"token keyword\">PRIMARY<\/span> <span class=\"token keyword\">KEY<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    region    VARCHAR2<span class=\"token punctuation\">(<\/span><span class=\"token number\">20<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    name      VARCHAR2<span class=\"token punctuation\">(<\/span><span class=\"token number\">100<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">PARTITION<\/span> <span class=\"token keyword\">BY<\/span> LIST <span class=\"token punctuation\">(<\/span>region<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">(<\/span><br \/>\n    <span class=\"token keyword\">PARTITION<\/span> p_east  <span class=\"token keyword\">VALUES<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;Beijing&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;Shanghai&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;Tianjin&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    <span class=\"token keyword\">PARTITION<\/span> p_west  <span class=\"token keyword\">VALUES<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;Chengdu&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;Chongqing&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;Kunming&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    <span class=\"token keyword\">PARTITION<\/span> p_other <span class=\"token keyword\">VALUES<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token keyword\">DEFAULT<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u54c8\u5e0c\u5206\u533a<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">TABLE<\/span> orders <span class=\"token punctuation\">(<\/span><br \/>\n    order_id  NUMBER <span class=\"token keyword\">PRIMARY<\/span> <span class=\"token keyword\">KEY<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    cust_id   NUMBER<span class=\"token punctuation\">,<\/span><br \/>\n    amount    NUMBER<br \/>\n<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">PARTITION<\/span> <span class=\"token keyword\">BY<\/span> <span class=\"token keyword\">HASH<\/span> <span class=\"token punctuation\">(<\/span>order_id<span class=\"token punctuation\">)<\/span> PARTITIONS <span class=\"token number\">8<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u5206\u533a\u7ef4\u62a4<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">TABLE<\/span> sales <span class=\"token keyword\">ADD<\/span> <span class=\"token keyword\">PARTITION<\/span> p_2025q1 <span class=\"token keyword\">VALUES<\/span> LESS THAN <span class=\"token punctuation\">(<\/span><span class=\"token keyword\">DATE<\/span> <span class=\"token string\">&#039;2025-04-01&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">TABLE<\/span> sales <span class=\"token keyword\">DROP<\/span> <span class=\"token keyword\">PARTITION<\/span> p_2024q1<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">TABLE<\/span> sales <span class=\"token keyword\">TRUNCATE<\/span> <span class=\"token keyword\">PARTITION<\/span> p_2024q2<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">TABLE<\/span> sales SPLIT <span class=\"token keyword\">PARTITION<\/span> p_max AT <span class=\"token punctuation\">(<\/span><span class=\"token keyword\">DATE<\/span> <span class=\"token string\">&#039;2025-07-01&#039;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">INTO<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token keyword\">PARTITION<\/span> p_2025q2<span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">PARTITION<\/span> p_max<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<h4>4.5 \u7d22\u5f15\u5316\u8868<\/h4>\n<p>\u7d22\u5f15\u7ec4\u7ec7\u8868&#xff08;IOT&#xff09;\u5c06\u6570\u636e\u6309\u4e3b\u952e\u987a\u5e8f\u5b58\u50a8\u5728B\u6811\u7d22\u5f15\u7ed3\u6784\u4e2d&#xff0c;\u9002\u5408\u4e3b\u952e\u8bbf\u95ee\u4e3a\u4e3b\u7684\u573a\u666f&#xff1a;<\/p>\n<p><span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">TABLE<\/span> order_items <span class=\"token punctuation\">(<\/span><br \/>\n    order_id    NUMBER<span class=\"token punctuation\">,<\/span><br \/>\n    item_id     NUMBER<span class=\"token punctuation\">,<\/span><br \/>\n    quantity    NUMBER<span class=\"token punctuation\">,<\/span><br \/>\n    unit_price  NUMBER<span class=\"token punctuation\">(<\/span><span class=\"token number\">8<\/span><span class=\"token punctuation\">,<\/span><span class=\"token number\">2<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    <span class=\"token keyword\">CONSTRAINT<\/span> pk_order_items <span class=\"token keyword\">PRIMARY<\/span> <span class=\"token keyword\">KEY<\/span> <span class=\"token punctuation\">(<\/span>order_id<span class=\"token punctuation\">,<\/span> item_id<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">)<\/span><br \/>\nORGANIZATION <span class=\"token keyword\">INDEX<\/span><br \/>\nINCLUDING unit_price<br \/>\nOVERFLOW <span class=\"token keyword\">TABLESPACE<\/span> tbs_overflow<span class=\"token punctuation\">;<\/span><\/p>\n<h4>4.6 \u5176\u4ed6\u5bf9\u8c61<\/h4>\n<p><span class=\"token comment\">&#8212; \u5e8f\u5217<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> SEQUENCE seq_emp_id <span class=\"token keyword\">START<\/span> <span class=\"token keyword\">WITH<\/span> <span class=\"token number\">1000<\/span> INCREMENT <span class=\"token keyword\">BY<\/span> <span class=\"token number\">1<\/span> NOCACHE NOCYCLE<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> seq_emp_id<span class=\"token punctuation\">.<\/span>NEXTVAL <span class=\"token keyword\">FROM<\/span> DUAL<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u89c6\u56fe<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> <span class=\"token operator\">OR<\/span> <span class=\"token keyword\">REPLACE<\/span> <span class=\"token keyword\">VIEW<\/span> v_emp_dept <span class=\"token keyword\">AS<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> e<span class=\"token punctuation\">.<\/span>employee_id<span class=\"token punctuation\">,<\/span> e<span class=\"token punctuation\">.<\/span>last_name<span class=\"token punctuation\">,<\/span> d<span class=\"token punctuation\">.<\/span>department_name<br \/>\n<span class=\"token keyword\">FROM<\/span> employees e <span class=\"token keyword\">JOIN<\/span> departments d <span class=\"token keyword\">ON<\/span> e<span class=\"token punctuation\">.<\/span>department_id <span class=\"token operator\">&#061;<\/span> d<span class=\"token punctuation\">.<\/span>department_id<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u540c\u4e49\u8bcd<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> SYNONYM emp <span class=\"token keyword\">FOR<\/span> hr<span class=\"token punctuation\">.<\/span>employees<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">PUBLIC<\/span> SYNONYM emp <span class=\"token keyword\">FOR<\/span> hr<span class=\"token punctuation\">.<\/span>employees<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u7269\u5316\u89c6\u56fe<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> MATERIALIZED <span class=\"token keyword\">VIEW<\/span> mv_sales_summary<br \/>\nBUILD IMMEDIATE REFRESH FAST <span class=\"token keyword\">ON<\/span> <span class=\"token keyword\">COMMIT<\/span> <span class=\"token keyword\">AS<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> region<span class=\"token punctuation\">,<\/span> <span class=\"token function\">SUM<\/span><span class=\"token punctuation\">(<\/span>amount<span class=\"token punctuation\">)<\/span> total_amount <span class=\"token keyword\">FROM<\/span> sales <span class=\"token keyword\">GROUP<\/span> <span class=\"token keyword\">BY<\/span> region<span class=\"token punctuation\">;<\/span><\/p>\n<hr \/>\n<h3>\u7b2c5\u7ae0 Oracle\u6570\u636e\u64cd\u4f5c<\/h3>\n<h4>5.1 SQL\u6982\u8ff0<\/h4>\n<p>Oracle SQL\u9075\u5faaANSI SQL\u6807\u51c6&#xff0c;\u5e76\u6269\u5c55\u4e86\u5927\u91cfOracle\u7279\u6709\u8bed\u6cd5\u3002SQL\u8bed\u53e5\u5206\u7c7b&#xff1a;<\/p>\n<ul>\n<li>DDL&#xff08;\u6570\u636e\u5b9a\u4e49&#xff09;&#xff1a;CREATE, ALTER, DROP, TRUNCATE<\/li>\n<li>DML&#xff08;\u6570\u636e\u64cd\u7eb5&#xff09;&#xff1a;SELECT, INSERT, UPDATE, DELETE, MERGE<\/li>\n<li>DCL&#xff08;\u6570\u636e\u63a7\u5236&#xff09;&#xff1a;GRANT, REVOKE<\/li>\n<li>TCL&#xff08;\u4e8b\u52a1\u63a7\u5236&#xff09;&#xff1a;COMMIT, ROLLBACK, SAVEPOINT<\/li>\n<\/ul>\n<h4>5.2 \u6570\u636e\u67e5\u8be2<\/h4>\n<p><span class=\"token comment\">&#8212; \u57fa\u7840\u67e5\u8be2<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> employee_id<span class=\"token punctuation\">,<\/span> last_name<span class=\"token punctuation\">,<\/span> salary <span class=\"token operator\">*<\/span> <span class=\"token number\">12<\/span> <span class=\"token keyword\">AS<\/span> annual_salary<br \/>\n<span class=\"token keyword\">FROM<\/span> employees<br \/>\n<span class=\"token keyword\">WHERE<\/span> department_id <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">80<\/span><br \/>\n<span class=\"token keyword\">ORDER<\/span> <span class=\"token keyword\">BY<\/span> salary <span class=\"token keyword\">DESC<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u591a\u8868\u8fde\u63a5<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> e<span class=\"token punctuation\">.<\/span>last_name<span class=\"token punctuation\">,<\/span> d<span class=\"token punctuation\">.<\/span>department_name<span class=\"token punctuation\">,<\/span> l<span class=\"token punctuation\">.<\/span>city<br \/>\n<span class=\"token keyword\">FROM<\/span> employees e<br \/>\n<span class=\"token keyword\">JOIN<\/span> departments d <span class=\"token keyword\">ON<\/span> e<span class=\"token punctuation\">.<\/span>department_id <span class=\"token operator\">&#061;<\/span> d<span class=\"token punctuation\">.<\/span>department_id<br \/>\n<span class=\"token keyword\">JOIN<\/span> locations l <span class=\"token keyword\">ON<\/span> d<span class=\"token punctuation\">.<\/span>location_id <span class=\"token operator\">&#061;<\/span> l<span class=\"token punctuation\">.<\/span>location_id<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u5b50\u67e5\u8be2<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> last_name<span class=\"token punctuation\">,<\/span> salary<br \/>\n<span class=\"token keyword\">FROM<\/span> employees<br \/>\n<span class=\"token keyword\">WHERE<\/span> salary <span class=\"token operator\">&gt;<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token keyword\">SELECT<\/span> <span class=\"token function\">AVG<\/span><span class=\"token punctuation\">(<\/span>salary<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">FROM<\/span> employees<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u96c6\u5408\u64cd\u4f5c<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> employee_id <span class=\"token keyword\">FROM<\/span> employees <span class=\"token keyword\">WHERE<\/span> department_id <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">10<\/span><br \/>\n<span class=\"token keyword\">UNION<\/span> <span class=\"token keyword\">ALL<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> employee_id <span class=\"token keyword\">FROM<\/span> employees <span class=\"token keyword\">WHERE<\/span> salary <span class=\"token operator\">&gt;<\/span> <span class=\"token number\">10000<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u5206\u6790\u51fd\u6570<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> department_id<span class=\"token punctuation\">,<\/span> last_name<span class=\"token punctuation\">,<\/span> salary<span class=\"token punctuation\">,<\/span><br \/>\n       RANK<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">OVER<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token keyword\">PARTITION<\/span> <span class=\"token keyword\">BY<\/span> department_id <span class=\"token keyword\">ORDER<\/span> <span class=\"token keyword\">BY<\/span> salary <span class=\"token keyword\">DESC<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">AS<\/span> dept_rank<span class=\"token punctuation\">,<\/span><br \/>\n       <span class=\"token function\">SUM<\/span><span class=\"token punctuation\">(<\/span>salary<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">OVER<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token keyword\">PARTITION<\/span> <span class=\"token keyword\">BY<\/span> department_id<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">AS<\/span> dept_total<br \/>\n<span class=\"token keyword\">FROM<\/span> employees<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u5c42\u6b21\u67e5\u8be2<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> LPAD<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039; &#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">LEVEL<\/span><span class=\"token operator\">*<\/span><span class=\"token number\">2<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">||<\/span> last_name <span class=\"token keyword\">AS<\/span> org_chart<br \/>\n<span class=\"token keyword\">FROM<\/span> employees<br \/>\n<span class=\"token keyword\">START<\/span> <span class=\"token keyword\">WITH<\/span> manager_id <span class=\"token operator\">IS<\/span> <span class=\"token boolean\">NULL<\/span><br \/>\n<span class=\"token keyword\">CONNECT<\/span> <span class=\"token keyword\">BY<\/span> PRIOR employee_id <span class=\"token operator\">&#061;<\/span> manager_id<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; PIVOT\u884c\u8f6c\u5217<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">FROM<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token keyword\">SELECT<\/span> department_id<span class=\"token punctuation\">,<\/span> salary <span class=\"token keyword\">FROM<\/span> employees<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">PIVOT<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token function\">SUM<\/span><span class=\"token punctuation\">(<\/span>salary<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">FOR<\/span> department_id <span class=\"token operator\">IN<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token number\">10<\/span> <span class=\"token keyword\">AS<\/span> <span class=\"token string\">&#034;Dept10&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">20<\/span> <span class=\"token keyword\">AS<\/span> <span class=\"token string\">&#034;Dept20&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">30<\/span> <span class=\"token keyword\">AS<\/span> <span class=\"token string\">&#034;Dept30&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<h4>5.3 \u6570\u636e\u64cd\u7eb5<\/h4>\n<p><span class=\"token comment\">&#8212; INSERT<\/span><br \/>\n<span class=\"token keyword\">INSERT<\/span> <span class=\"token keyword\">INTO<\/span> employees <span class=\"token punctuation\">(<\/span>employee_id<span class=\"token punctuation\">,<\/span> last_name<span class=\"token punctuation\">,<\/span> email<span class=\"token punctuation\">,<\/span> hire_date<span class=\"token punctuation\">,<\/span> salary<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">VALUES<\/span> <span class=\"token punctuation\">(<\/span>seq_emp_id<span class=\"token punctuation\">.<\/span>NEXTVAL<span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;Zhang&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;zhang&#064;example.com&#039;<\/span><span class=\"token punctuation\">,<\/span> SYSDATE<span class=\"token punctuation\">,<\/span> <span class=\"token number\">8000<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u591a\u8868\u63d2\u5165<\/span><br \/>\n<span class=\"token keyword\">INSERT<\/span> <span class=\"token keyword\">ALL<\/span><br \/>\n  <span class=\"token keyword\">WHEN<\/span> salary <span class=\"token operator\">&gt;<\/span> <span class=\"token number\">10000<\/span> <span class=\"token keyword\">THEN<\/span> <span class=\"token keyword\">INTO<\/span> high_salary <span class=\"token keyword\">VALUES<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token operator\">*<\/span><span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token keyword\">WHEN<\/span> salary <span class=\"token operator\">&lt;&#061;<\/span> <span class=\"token number\">10000<\/span> <span class=\"token keyword\">THEN<\/span> <span class=\"token keyword\">INTO<\/span> low_salary <span class=\"token keyword\">VALUES<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token operator\">*<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">FROM<\/span> employees<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; MERGE&#xff08;UPSERT&#xff09;<\/span><br \/>\n<span class=\"token keyword\">MERGE<\/span> <span class=\"token keyword\">INTO<\/span> target_table t<br \/>\n<span class=\"token keyword\">USING<\/span> source_table s <span class=\"token keyword\">ON<\/span> <span class=\"token punctuation\">(<\/span>t<span class=\"token punctuation\">.<\/span>id <span class=\"token operator\">&#061;<\/span> s<span class=\"token punctuation\">.<\/span>id<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">WHEN<\/span> <span class=\"token keyword\">MATCHED<\/span> <span class=\"token keyword\">THEN<\/span> <span class=\"token keyword\">UPDATE<\/span> <span class=\"token keyword\">SET<\/span> t<span class=\"token punctuation\">.<\/span>name <span class=\"token operator\">&#061;<\/span> s<span class=\"token punctuation\">.<\/span>name<span class=\"token punctuation\">,<\/span> t<span class=\"token punctuation\">.<\/span>salary <span class=\"token operator\">&#061;<\/span> s<span class=\"token punctuation\">.<\/span>salary<br \/>\n<span class=\"token keyword\">WHEN<\/span> <span class=\"token operator\">NOT<\/span> <span class=\"token keyword\">MATCHED<\/span> <span class=\"token keyword\">THEN<\/span> <span class=\"token keyword\">INSERT<\/span> <span class=\"token punctuation\">(<\/span>id<span class=\"token punctuation\">,<\/span> name<span class=\"token punctuation\">,<\/span> salary<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">VALUES<\/span> <span class=\"token punctuation\">(<\/span>s<span class=\"token punctuation\">.<\/span>id<span class=\"token punctuation\">,<\/span> s<span class=\"token punctuation\">.<\/span>name<span class=\"token punctuation\">,<\/span> s<span class=\"token punctuation\">.<\/span>salary<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; UPDATE<\/span><br \/>\n<span class=\"token keyword\">UPDATE<\/span> employees <span class=\"token keyword\">SET<\/span> salary <span class=\"token operator\">&#061;<\/span> salary <span class=\"token operator\">*<\/span> <span class=\"token number\">1.1<\/span><br \/>\n<span class=\"token keyword\">WHERE<\/span> department_id <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">20<\/span> <span class=\"token operator\">AND<\/span> hire_date <span class=\"token operator\">&lt;<\/span> <span class=\"token keyword\">DATE<\/span> <span class=\"token string\">&#039;2020-01-01&#039;<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; DELETE<\/span><br \/>\n<span class=\"token keyword\">DELETE<\/span> <span class=\"token keyword\">FROM<\/span> employees <span class=\"token keyword\">WHERE<\/span> employee_id <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">999<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u4e8b\u52a1\u63a7\u5236<\/span><br \/>\n<span class=\"token keyword\">SAVEPOINT<\/span> sp1<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">UPDATE<\/span> employees <span class=\"token keyword\">SET<\/span> salary <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">0<\/span> <span class=\"token keyword\">WHERE<\/span> employee_id <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">100<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">ROLLBACK<\/span> <span class=\"token keyword\">TO<\/span> sp1<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">COMMIT<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<h4>5.4 Oracle\u5e38\u7528\u51fd\u6570<\/h4>\n<p><span class=\"token comment\">&#8212; \u5b57\u7b26\u4e32\u51fd\u6570<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> UPPER<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;hello&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> LOWER<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;WORLD&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> INITCAP<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;oracle db&#039;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">FROM<\/span> DUAL<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> SUBSTR<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;Oracle Database&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">6<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">FROM<\/span> DUAL<span class=\"token punctuation\">;<\/span>          <span class=\"token comment\">&#8212; Oracle<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> INSTR<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;hello world&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;world&#039;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">FROM<\/span> DUAL<span class=\"token punctuation\">;<\/span>            <span class=\"token comment\">&#8212; 7<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> LENGTH<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;Oracle&#039;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">FROM<\/span> DUAL<span class=\"token punctuation\">;<\/span>                         <span class=\"token comment\">&#8212; 6<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token keyword\">REPLACE<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;Oracle&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;Ora&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;My&#039;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">FROM<\/span> DUAL<span class=\"token punctuation\">;<\/span>          <span class=\"token comment\">&#8212; Mycle<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> LPAD<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;7&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">5<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;0&#039;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">FROM<\/span> DUAL<span class=\"token punctuation\">;<\/span>                       <span class=\"token comment\">&#8212; 00007<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> TRIM<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;  hello  &#039;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">FROM<\/span> DUAL<span class=\"token punctuation\">;<\/span>                        <span class=\"token comment\">&#8212; hello<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> REGEXP_SUBSTR<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;abc123def&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;[0-9]&#043;&#039;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">FROM<\/span> DUAL<span class=\"token punctuation\">;<\/span>    <span class=\"token comment\">&#8212; 123<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u6570\u503c\u51fd\u6570<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token function\">ROUND<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">3.14159<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">2<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">FROM<\/span> DUAL<span class=\"token punctuation\">;<\/span>   <span class=\"token comment\">&#8212; 3.14<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> TRUNC<span class=\"token punctuation\">(<\/span><span class=\"token number\">3.99<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">FROM<\/span> DUAL<span class=\"token punctuation\">;<\/span>         <span class=\"token comment\">&#8212; 3<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token function\">MOD<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">17<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">5<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">FROM<\/span> DUAL<span class=\"token punctuation\">;<\/span>          <span class=\"token comment\">&#8212; 2<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> CEIL<span class=\"token punctuation\">(<\/span><span class=\"token number\">4.1<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> FLOOR<span class=\"token punctuation\">(<\/span><span class=\"token number\">4.9<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">FROM<\/span> DUAL<span class=\"token punctuation\">;<\/span>  <span class=\"token comment\">&#8212; 5, 4<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> POWER<span class=\"token punctuation\">(<\/span><span class=\"token number\">2<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">10<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">FROM<\/span> DUAL<span class=\"token punctuation\">;<\/span>        <span class=\"token comment\">&#8212; 1024<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u65e5\u671f\u51fd\u6570<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> SYSDATE<span class=\"token punctuation\">,<\/span> SYSTIMESTAMP <span class=\"token keyword\">FROM<\/span> DUAL<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> ADD_MONTHS<span class=\"token punctuation\">(<\/span>SYSDATE<span class=\"token punctuation\">,<\/span> <span class=\"token number\">3<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">FROM<\/span> DUAL<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> MONTHS_BETWEEN<span class=\"token punctuation\">(<\/span><span class=\"token keyword\">DATE<\/span> <span class=\"token string\">&#039;2025-01-01&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">DATE<\/span> <span class=\"token string\">&#039;2024-01-01&#039;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">FROM<\/span> DUAL<span class=\"token punctuation\">;<\/span>  <span class=\"token comment\">&#8212; 12<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> LAST_DAY<span class=\"token punctuation\">(<\/span>SYSDATE<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">FROM<\/span> DUAL<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> NEXT_DAY<span class=\"token punctuation\">(<\/span>SYSDATE<span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;MONDAY&#039;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">FROM<\/span> DUAL<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> EXTRACT<span class=\"token punctuation\">(<\/span><span class=\"token keyword\">YEAR<\/span> <span class=\"token keyword\">FROM<\/span> SYSDATE<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">FROM<\/span> DUAL<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u8f6c\u6362\u51fd\u6570<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> TO_CHAR<span class=\"token punctuation\">(<\/span>SYSDATE<span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;YYYY-MM-DD HH24:MI:SS&#039;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">FROM<\/span> DUAL<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> TO_NUMBER<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;12345&#039;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">FROM<\/span> DUAL<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> TO_DATE<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;2025-06-15&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;YYYY-MM-DD&#039;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">FROM<\/span> DUAL<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> CAST<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;2025-01-01&#039;<\/span> <span class=\"token keyword\">AS<\/span> <span class=\"token keyword\">DATE<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">FROM<\/span> DUAL<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u805a\u5408\u4e0e\u6761\u4ef6<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> department_id<span class=\"token punctuation\">,<\/span> <span class=\"token function\">COUNT<\/span><span class=\"token punctuation\">(<\/span><span class=\"token operator\">*<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token function\">AVG<\/span><span class=\"token punctuation\">(<\/span>salary<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token function\">MAX<\/span><span class=\"token punctuation\">(<\/span>salary<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">FROM<\/span> employees <span class=\"token keyword\">GROUP<\/span> <span class=\"token keyword\">BY<\/span> department_id <span class=\"token keyword\">HAVING<\/span> <span class=\"token function\">COUNT<\/span><span class=\"token punctuation\">(<\/span><span class=\"token operator\">*<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&gt;<\/span> <span class=\"token number\">5<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token keyword\">SELECT<\/span> <span class=\"token keyword\">CASE<\/span> <span class=\"token keyword\">WHEN<\/span> salary <span class=\"token operator\">&gt;<\/span> <span class=\"token number\">10000<\/span> <span class=\"token keyword\">THEN<\/span> <span class=\"token string\">&#039;High&#039;<\/span><br \/>\n            <span class=\"token keyword\">WHEN<\/span> salary <span class=\"token operator\">&gt;<\/span> <span class=\"token number\">5000<\/span>  <span class=\"token keyword\">THEN<\/span> <span class=\"token string\">&#039;Mid&#039;<\/span><br \/>\n            <span class=\"token keyword\">ELSE<\/span> <span class=\"token string\">&#039;Low&#039;<\/span> <span class=\"token keyword\">END<\/span> <span class=\"token keyword\">AS<\/span> <span class=\"token keyword\">level<\/span><br \/>\n<span class=\"token keyword\">FROM<\/span> employees<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token keyword\">SELECT<\/span> NVL<span class=\"token punctuation\">(<\/span>commission_pct<span class=\"token punctuation\">,<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">COALESCE<\/span><span class=\"token punctuation\">(<\/span>phone<span class=\"token punctuation\">,<\/span> email<span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;N\/A&#039;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">FROM<\/span> employees<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> DECODE<span class=\"token punctuation\">(<\/span><span class=\"token keyword\">status<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;A&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;Active&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;I&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;Inactive&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;Unknown&#039;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">FROM<\/span> accounts<span class=\"token punctuation\">;<\/span><\/p>\n<hr \/>\n<h3>\u7b2c6\u7ae0 \u7528\u6237\u5b89\u5168\u7ba1\u7406<\/h3>\n<h4>6.1 \u7528\u6237\u5b89\u5168\u6982\u8ff0<\/h4>\n<p>Oracle\u5b89\u5168\u4f53\u7cfb\u5305\u542b&#xff1a;\u8ba4\u8bc1 \u2192 \u6388\u6743 \u2192 \u5ba1\u8ba1 \u4e09\u5c42\u673a\u5236\u3002\u901a\u8fc7\u7528\u6237\u3001\u6743\u9650\u3001\u89d2\u8272\u3001\u6982\u8981\u6587\u4ef6\u5b9e\u73b0\u7cbe\u7ec6\u5316\u8bbf\u95ee\u63a7\u5236\u3002<\/p>\n<h4>6.2 \u6982\u8981\u6587\u4ef6\u7ba1\u7406<\/h4>\n<p>\u6982\u8981\u6587\u4ef6&#xff08;Profile&#xff09;\u7528\u4e8e\u9650\u5236\u7528\u6237\u8d44\u6e90\u4f7f\u7528\u548c\u5bc6\u7801\u7b56\u7565&#xff1a;<\/p>\n<p><span class=\"token comment\">&#8212; \u521b\u5efa\u6982\u8981\u6587\u4ef6<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> PROFILE profile_app <span class=\"token keyword\">LIMIT<\/span><br \/>\n  SESSIONS_PER_USER          <span class=\"token number\">10<\/span><br \/>\n  CPU_PER_SESSION            <span class=\"token number\">360000<\/span>    <span class=\"token comment\">&#8212; \u5398\u79d2<\/span><br \/>\n  CPU_PER_CALL               <span class=\"token number\">6000<\/span><br \/>\n  CONNECT_TIME               <span class=\"token number\">480<\/span>       <span class=\"token comment\">&#8212; \u5206\u949f<\/span><br \/>\n  IDLE_TIME                  <span class=\"token number\">60<\/span><br \/>\n  LOGICAL_READS_PER_SESSION  <span class=\"token number\">500000<\/span><br \/>\n  PRIVATE_SGA                <span class=\"token number\">100<\/span>M<br \/>\n  FAILED_LOGIN_ATTEMPTS      <span class=\"token number\">5<\/span><br \/>\n  PASSWORD_LIFE_TIME         <span class=\"token number\">90<\/span><br \/>\n  PASSWORD_REUSE_TIME        <span class=\"token number\">365<\/span><br \/>\n  PASSWORD_LOCK_TIME         <span class=\"token number\">1<\/span><br \/>\n  PASSWORD_GRACE_TIME        <span class=\"token number\">7<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u5e94\u7528\u6982\u8981\u6587\u4ef6<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">USER<\/span> app_user PROFILE profile_app<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u6982\u8981\u6587\u4ef6<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">FROM<\/span> DBA_PROFILES <span class=\"token keyword\">WHERE<\/span> profile <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#039;PROFILE_APP&#039;<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u4fee\u6539\/\u5220\u9664<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> PROFILE profile_app <span class=\"token keyword\">LIMIT<\/span> FAILED_LOGIN_ATTEMPTS <span class=\"token number\">3<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">DROP<\/span> PROFILE profile_app <span class=\"token keyword\">CASCADE<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<h4>6.3 \u7528\u6237\u7ba1\u7406<\/h4>\n<p><span class=\"token comment\">&#8212; \u521b\u5efa\u7528\u6237<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">USER<\/span> app_user IDENTIFIED <span class=\"token keyword\">BY<\/span> <span class=\"token string\">&#034;Secure#Pass2025&#034;<\/span><br \/>\n  <span class=\"token keyword\">DEFAULT<\/span> <span class=\"token keyword\">TABLESPACE<\/span> tbs_data<br \/>\n  <span class=\"token keyword\">TEMPORARY<\/span> <span class=\"token keyword\">TABLESPACE<\/span> <span class=\"token keyword\">temp<\/span><br \/>\n  QUOTA <span class=\"token number\">500<\/span>M <span class=\"token keyword\">ON<\/span> tbs_data<br \/>\n  PROFILE profile_app<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u4fee\u6539\u7528\u6237<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">USER<\/span> app_user IDENTIFIED <span class=\"token keyword\">BY<\/span> <span class=\"token string\">&#034;NewPass#2025&#034;<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">USER<\/span> app_user ACCOUNT <span class=\"token keyword\">LOCK<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">USER<\/span> app_user ACCOUNT <span class=\"token keyword\">UNLOCK<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">USER<\/span> app_user QUOTA UNLIMITED <span class=\"token keyword\">ON<\/span> tbs_data<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u5220\u9664\u7528\u6237<\/span><br \/>\n<span class=\"token keyword\">DROP<\/span> <span class=\"token keyword\">USER<\/span> app_user <span class=\"token keyword\">CASCADE<\/span><span class=\"token punctuation\">;<\/span>  <span class=\"token comment\">&#8212; CASCADE\u5220\u9664\u6240\u6709\u5bf9\u8c61<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u7528\u6237\u4fe1\u606f<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> username<span class=\"token punctuation\">,<\/span> account_status<span class=\"token punctuation\">,<\/span> default_tablespace<span class=\"token punctuation\">,<\/span> created<br \/>\n<span class=\"token keyword\">FROM<\/span> DBA_USERS <span class=\"token keyword\">ORDER<\/span> <span class=\"token keyword\">BY<\/span> created <span class=\"token keyword\">DESC<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<h4>6.4 \u6743\u9650\u7ba1\u7406<\/h4>\n<p><span class=\"token comment\">&#8212; \u7cfb\u7edf\u6743\u9650&#xff08;200&#043;\u79cd&#xff09;<\/span><br \/>\n<span class=\"token keyword\">GRANT<\/span> <span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">SESSION<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">TABLE<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">VIEW<\/span> <span class=\"token keyword\">TO<\/span> app_user<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">GRANT<\/span> <span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">ANY<\/span> <span class=\"token keyword\">TABLE<\/span> <span class=\"token keyword\">TO<\/span> app_user <span class=\"token keyword\">WITH<\/span> ADMIN <span class=\"token keyword\">OPTION<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">GRANT<\/span> DBA <span class=\"token keyword\">TO<\/span> app_user<span class=\"token punctuation\">;<\/span>  <span class=\"token comment\">&#8212; \u8c28\u614e&#xff01;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u5bf9\u8c61\u6743\u9650<\/span><br \/>\n<span class=\"token keyword\">GRANT<\/span> <span class=\"token keyword\">SELECT<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">INSERT<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">UPDATE<\/span> <span class=\"token keyword\">ON<\/span> hr<span class=\"token punctuation\">.<\/span>employees <span class=\"token keyword\">TO<\/span> app_user<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">GRANT<\/span> <span class=\"token keyword\">EXECUTE<\/span> <span class=\"token keyword\">ON<\/span> hr<span class=\"token punctuation\">.<\/span>pkg_salary <span class=\"token keyword\">TO<\/span> app_user<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">GRANT<\/span> <span class=\"token keyword\">ALL<\/span> <span class=\"token keyword\">ON<\/span> hr<span class=\"token punctuation\">.<\/span>employees <span class=\"token keyword\">TO<\/span> app_user <span class=\"token keyword\">WITH<\/span> <span class=\"token keyword\">GRANT<\/span> <span class=\"token keyword\">OPTION<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u64a4\u9500\u6743\u9650<\/span><br \/>\n<span class=\"token keyword\">REVOKE<\/span> <span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">TABLE<\/span> <span class=\"token keyword\">FROM<\/span> app_user<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">REVOKE<\/span> <span class=\"token keyword\">SELECT<\/span> <span class=\"token keyword\">ON<\/span> hr<span class=\"token punctuation\">.<\/span>employees <span class=\"token keyword\">FROM<\/span> app_user<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u6743\u9650<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">FROM<\/span> DBA_SYS_PRIVS <span class=\"token keyword\">WHERE<\/span> grantee <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#039;APP_USER&#039;<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">FROM<\/span> DBA_TAB_PRIVS <span class=\"token keyword\">WHERE<\/span> grantee <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#039;APP_USER&#039;<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">FROM<\/span> SESSION_PRIVS<span class=\"token punctuation\">;<\/span>  <span class=\"token comment\">&#8212; \u5f53\u524d\u4f1a\u8bdd\u6743\u9650<\/span><\/p>\n<h4>6.5 \u89d2\u8272\u7ba1\u7406<\/h4>\n<p><span class=\"token comment\">&#8212; \u521b\u5efa\u89d2\u8272<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> ROLE role_developer<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> ROLE role_dba IDENTIFIED <span class=\"token keyword\">BY<\/span> <span class=\"token string\">&#034;RolePass123&#034;<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u6388\u4e88\u6743\u9650\u7ed9\u89d2\u8272<\/span><br \/>\n<span class=\"token keyword\">GRANT<\/span> <span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">SESSION<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">TABLE<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">PROCEDURE<\/span> <span class=\"token keyword\">TO<\/span> role_developer<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">GRANT<\/span> <span class=\"token keyword\">SELECT<\/span> <span class=\"token keyword\">ANY<\/span> <span class=\"token keyword\">TABLE<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">INSERT<\/span> <span class=\"token keyword\">ANY<\/span> <span class=\"token keyword\">TABLE<\/span> <span class=\"token keyword\">TO<\/span> role_developer<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u5c06\u89d2\u8272\u6388\u4e88\u7528\u6237<\/span><br \/>\n<span class=\"token keyword\">GRANT<\/span> role_developer <span class=\"token keyword\">TO<\/span> app_user<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">GRANT<\/span> role_developer <span class=\"token keyword\">TO<\/span> dev_user <span class=\"token keyword\">WITH<\/span> ADMIN <span class=\"token keyword\">OPTION<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u89d2\u8272\u5c42\u7ea7<\/span><br \/>\n<span class=\"token keyword\">GRANT<\/span> role_developer <span class=\"token keyword\">TO<\/span> role_dba<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u89d2\u8272<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">FROM<\/span> DBA_ROLES<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">FROM<\/span> DBA_ROLE_PRIVS <span class=\"token keyword\">WHERE<\/span> grantee <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#039;APP_USER&#039;<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">FROM<\/span> ROLE_ROLE_PRIVS <span class=\"token keyword\">WHERE<\/span> role <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#039;ROLE_DBA&#039;<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u542f\u7528\/\u7981\u7528\u89d2\u8272<\/span><br \/>\n<span class=\"token keyword\">SET<\/span> ROLE role_developer<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">SET<\/span> ROLE NONE<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">SET<\/span> ROLE <span class=\"token keyword\">ALL<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<h4>6.6 \u5ba1\u8ba1<\/h4>\n<p><span class=\"token comment\">&#8212; \u7edf\u4e00\u5ba1\u8ba1&#xff08;19c\u63a8\u8350&#xff09;<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> AUDIT POLICY pol_dml_actions<br \/>\n  ACTIONS <span class=\"token keyword\">SELECT<\/span> <span class=\"token keyword\">ON<\/span> hr<span class=\"token punctuation\">.<\/span>employees<span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">INSERT<\/span> <span class=\"token keyword\">ON<\/span> hr<span class=\"token punctuation\">.<\/span>employees<span class=\"token punctuation\">,<\/span><br \/>\n          <span class=\"token keyword\">UPDATE<\/span> <span class=\"token keyword\">ON<\/span> hr<span class=\"token punctuation\">.<\/span>employees<span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">DELETE<\/span> <span class=\"token keyword\">ON<\/span> hr<span class=\"token punctuation\">.<\/span>employees<br \/>\n  <span class=\"token keyword\">WHEN<\/span> <span class=\"token string\">&#039;SYS_CONTEXT(&#039;&#039;USERENV&#039;&#039;,&#039;&#039;CLIENT_IDENTIFIER&#039;&#039;) !&#061; &#039;&#039;batch_job&#039;&#039;&#039;<\/span><br \/>\n  EVALUATE PER <span class=\"token keyword\">SESSION<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p>AUDIT POLICY pol_dml_actions<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u5ba1\u8ba1\u7279\u6743\u64cd\u4f5c<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> AUDIT POLICY pol_priv_ops<br \/>\n  ACTIONS <span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">USER<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">DROP<\/span> <span class=\"token keyword\">USER<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">USER<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">GRANT<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">REVOKE<\/span><span class=\"token punctuation\">;<\/span><br \/>\nAUDIT POLICY pol_priv_ops <span class=\"token keyword\">BY<\/span> <span class=\"token keyword\">ALL<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u5ba1\u8ba1\u7ed3\u679c<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> event_timestamp<span class=\"token punctuation\">,<\/span> dbusername<span class=\"token punctuation\">,<\/span> action_name<span class=\"token punctuation\">,<\/span> object_name<span class=\"token punctuation\">,<\/span> return_code<br \/>\n<span class=\"token keyword\">FROM<\/span> UNIFIED_AUDIT_TRAIL<br \/>\n<span class=\"token keyword\">WHERE<\/span> event_timestamp <span class=\"token operator\">&gt;<\/span> SYSDATE <span class=\"token operator\">&#8211;<\/span> <span class=\"token number\">1<\/span><br \/>\n<span class=\"token keyword\">ORDER<\/span> <span class=\"token keyword\">BY<\/span> event_timestamp <span class=\"token keyword\">DESC<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u6e05\u7406\u5ba1\u8ba1\u6570\u636e<\/span><br \/>\n<span class=\"token keyword\">EXEC<\/span> DBMS_AUDIT_MGMT<span class=\"token punctuation\">.<\/span>CLEAN_AUDIT_TRAIL<span class=\"token punctuation\">(<\/span>audit_trail_type <span class=\"token operator\">&#061;<\/span><span class=\"token operator\">&gt;<\/span> DBMS_AUDIT_MGMT<span class=\"token punctuation\">.<\/span>AUDIT_TRAIL_UNIFIED<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<hr \/>\n<h3>\u7b2c7\u7ae0 PL\/SQL\u7a0b\u5e8f\u5f00\u53d1<\/h3>\n<h4>7.1 PL\/SQL\u5f00\u53d1\u57fa\u7840<\/h4>\n<p>PL\/SQL\u662fOracle\u7684\u8fc7\u7a0b\u5316SQL\u6269\u5c55\u8bed\u8a00&#xff0c;\u652f\u6301\u53d8\u91cf\u3001\u63a7\u5236\u6d41\u3001\u5f02\u5e38\u5904\u7406&#xff1a;<\/p>\n<p><span class=\"token comment\">&#8212; \u533f\u540d\u5757<\/span><br \/>\n<span class=\"token keyword\">DECLARE<\/span><br \/>\n    v_name    VARCHAR2<span class=\"token punctuation\">(<\/span><span class=\"token number\">100<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    v_salary  NUMBER<span class=\"token punctuation\">(<\/span><span class=\"token number\">10<\/span><span class=\"token punctuation\">,<\/span><span class=\"token number\">2<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    v_bonus   NUMBER<span class=\"token punctuation\">(<\/span><span class=\"token number\">10<\/span><span class=\"token punctuation\">,<\/span><span class=\"token number\">2<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    c_rate    CONSTANT NUMBER :<span class=\"token operator\">&#061;<\/span> <span class=\"token number\">0.15<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">BEGIN<\/span><br \/>\n    <span class=\"token keyword\">SELECT<\/span> last_name<span class=\"token punctuation\">,<\/span> salary <span class=\"token keyword\">INTO<\/span> v_name<span class=\"token punctuation\">,<\/span> v_salary<br \/>\n    <span class=\"token keyword\">FROM<\/span> employees <span class=\"token keyword\">WHERE<\/span> employee_id <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">100<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p>    <span class=\"token keyword\">IF<\/span> v_salary <span class=\"token operator\">&gt;<\/span> <span class=\"token number\">10000<\/span> <span class=\"token keyword\">THEN<\/span><br \/>\n        v_bonus :<span class=\"token operator\">&#061;<\/span> v_salary <span class=\"token operator\">*<\/span> c_rate<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">ELSE<\/span><br \/>\n        v_bonus :<span class=\"token operator\">&#061;<\/span> v_salary <span class=\"token operator\">*<\/span> <span class=\"token number\">0.10<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">END<\/span> <span class=\"token keyword\">IF<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p>    DBMS_OUTPUT<span class=\"token punctuation\">.<\/span>PUT_LINE<span class=\"token punctuation\">(<\/span>v_name <span class=\"token operator\">||<\/span> <span class=\"token string\">&#039; bonus: &#039;<\/span> <span class=\"token operator\">||<\/span> v_bonus<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\nEXCEPTION<br \/>\n    <span class=\"token keyword\">WHEN<\/span> NO_DATA_FOUND <span class=\"token keyword\">THEN<\/span><br \/>\n        DBMS_OUTPUT<span class=\"token punctuation\">.<\/span>PUT_LINE<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;Employee not found&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">WHEN<\/span> TOO_MANY_ROWS <span class=\"token keyword\">THEN<\/span><br \/>\n        DBMS_OUTPUT<span class=\"token punctuation\">.<\/span>PUT_LINE<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;Multiple rows returned&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">WHEN<\/span> OTHERS <span class=\"token keyword\">THEN<\/span><br \/>\n        DBMS_OUTPUT<span class=\"token punctuation\">.<\/span>PUT_LINE<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;Error: &#039;<\/span> <span class=\"token operator\">||<\/span> SQLERRM<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">END<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token operator\">\/<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u63a7\u5236\u6d41<\/span><br \/>\n<span class=\"token keyword\">BEGIN<\/span><br \/>\n    <span class=\"token keyword\">FOR<\/span> i <span class=\"token operator\">IN<\/span> <span class=\"token number\">1.<\/span><span class=\"token number\">.10<\/span> <span class=\"token keyword\">LOOP<\/span><br \/>\n        <span class=\"token keyword\">CONTINUE<\/span> <span class=\"token keyword\">WHEN<\/span> <span class=\"token function\">MOD<\/span><span class=\"token punctuation\">(<\/span>i<span class=\"token punctuation\">,<\/span> <span class=\"token number\">2<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        DBMS_OUTPUT<span class=\"token punctuation\">.<\/span>PUT_LINE<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;Odd: &#039;<\/span> <span class=\"token operator\">||<\/span> i<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">END<\/span> <span class=\"token keyword\">LOOP<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p>    <span class=\"token keyword\">FOR<\/span> rec <span class=\"token operator\">IN<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token keyword\">SELECT<\/span> employee_id<span class=\"token punctuation\">,<\/span> last_name <span class=\"token keyword\">FROM<\/span> employees <span class=\"token keyword\">WHERE<\/span> ROWNUM <span class=\"token operator\">&lt;&#061;<\/span> <span class=\"token number\">5<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">LOOP<\/span><br \/>\n        DBMS_OUTPUT<span class=\"token punctuation\">.<\/span>PUT_LINE<span class=\"token punctuation\">(<\/span>rec<span class=\"token punctuation\">.<\/span>employee_id <span class=\"token operator\">||<\/span> <span class=\"token string\">&#039;: &#039;<\/span> <span class=\"token operator\">||<\/span> rec<span class=\"token punctuation\">.<\/span>last_name<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">END<\/span> <span class=\"token keyword\">LOOP<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">END<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token operator\">\/<\/span><\/p>\n<h4>7.2 \u6e38\u6807<\/h4>\n<p><span class=\"token comment\">&#8212; \u663e\u5f0f\u6e38\u6807<\/span><br \/>\n<span class=\"token keyword\">DECLARE<\/span><br \/>\n    <span class=\"token keyword\">CURSOR<\/span> c_emp <span class=\"token operator\">IS<\/span><br \/>\n        <span class=\"token keyword\">SELECT<\/span> employee_id<span class=\"token punctuation\">,<\/span> last_name<span class=\"token punctuation\">,<\/span> salary<br \/>\n        <span class=\"token keyword\">FROM<\/span> employees <span class=\"token keyword\">WHERE<\/span> department_id <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">80<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    v_emp c_emp<span class=\"token operator\">%<\/span>ROWTYPE<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">BEGIN<\/span><br \/>\n    <span class=\"token keyword\">OPEN<\/span> c_emp<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">LOOP<\/span><br \/>\n        <span class=\"token keyword\">FETCH<\/span> c_emp <span class=\"token keyword\">INTO<\/span> v_emp<span class=\"token punctuation\">;<\/span><br \/>\n        <span class=\"token keyword\">EXIT<\/span> <span class=\"token keyword\">WHEN<\/span> c_emp<span class=\"token operator\">%<\/span>NOTFOUND<span class=\"token punctuation\">;<\/span><br \/>\n        DBMS_OUTPUT<span class=\"token punctuation\">.<\/span>PUT_LINE<span class=\"token punctuation\">(<\/span>v_emp<span class=\"token punctuation\">.<\/span>last_name <span class=\"token operator\">||<\/span> <span class=\"token string\">&#039;: &#039;<\/span> <span class=\"token operator\">||<\/span> v_emp<span class=\"token punctuation\">.<\/span>salary<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">END<\/span> <span class=\"token keyword\">LOOP<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">CLOSE<\/span> c_emp<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">END<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token operator\">\/<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u53c2\u6570\u5316\u6e38\u6807<\/span><br \/>\n<span class=\"token keyword\">DECLARE<\/span><br \/>\n    <span class=\"token keyword\">CURSOR<\/span> c_dept_emp<span class=\"token punctuation\">(<\/span>p_dept_id NUMBER<span class=\"token punctuation\">)<\/span> <span class=\"token operator\">IS<\/span><br \/>\n        <span class=\"token keyword\">SELECT<\/span> last_name<span class=\"token punctuation\">,<\/span> salary <span class=\"token keyword\">FROM<\/span> employees <span class=\"token keyword\">WHERE<\/span> department_id <span class=\"token operator\">&#061;<\/span> p_dept_id<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">BEGIN<\/span><br \/>\n    <span class=\"token keyword\">FOR<\/span> rec <span class=\"token operator\">IN<\/span> c_dept_emp<span class=\"token punctuation\">(<\/span><span class=\"token number\">20<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">LOOP<\/span><br \/>\n        DBMS_OUTPUT<span class=\"token punctuation\">.<\/span>PUT_LINE<span class=\"token punctuation\">(<\/span>rec<span class=\"token punctuation\">.<\/span>last_name<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">END<\/span> <span class=\"token keyword\">LOOP<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">END<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token operator\">\/<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u6e38\u6807FOR UPDATE&#xff08;\u7528\u4e8e\u66f4\u65b0&#xff09;<\/span><br \/>\n<span class=\"token keyword\">DECLARE<\/span><br \/>\n    <span class=\"token keyword\">CURSOR<\/span> c_update <span class=\"token operator\">IS<\/span><br \/>\n        <span class=\"token keyword\">SELECT<\/span> salary <span class=\"token keyword\">FROM<\/span> employees <span class=\"token keyword\">WHERE<\/span> department_id <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">30<\/span><br \/>\n        <span class=\"token keyword\">FOR<\/span> <span class=\"token keyword\">UPDATE<\/span> NOWAIT<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">BEGIN<\/span><br \/>\n    <span class=\"token keyword\">FOR<\/span> rec <span class=\"token operator\">IN<\/span> c_update <span class=\"token keyword\">LOOP<\/span><br \/>\n        <span class=\"token keyword\">UPDATE<\/span> employees <span class=\"token keyword\">SET<\/span> salary <span class=\"token operator\">&#061;<\/span> rec<span class=\"token punctuation\">.<\/span>salary <span class=\"token operator\">*<\/span> <span class=\"token number\">1.05<\/span><br \/>\n        <span class=\"token keyword\">WHERE<\/span> <span class=\"token keyword\">CURRENT<\/span> <span class=\"token keyword\">OF<\/span> c_update<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">END<\/span> <span class=\"token keyword\">LOOP<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">COMMIT<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">END<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token operator\">\/<\/span><\/p>\n<p><span class=\"token comment\">&#8212; REF CURSOR&#xff08;\u52a8\u6001\u6e38\u6807&#xff09;<\/span><br \/>\n<span class=\"token keyword\">DECLARE<\/span><br \/>\n    <span class=\"token keyword\">TYPE<\/span> t_ref_cur <span class=\"token operator\">IS<\/span> REF <span class=\"token keyword\">CURSOR<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    v_cur t_ref_cur<span class=\"token punctuation\">;<\/span><br \/>\n    v_name VARCHAR2<span class=\"token punctuation\">(<\/span><span class=\"token number\">100<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">BEGIN<\/span><br \/>\n    <span class=\"token keyword\">OPEN<\/span> v_cur <span class=\"token keyword\">FOR<\/span> <span class=\"token keyword\">SELECT<\/span> last_name <span class=\"token keyword\">FROM<\/span> employees <span class=\"token keyword\">WHERE<\/span> ROWNUM <span class=\"token operator\">&lt;&#061;<\/span> <span class=\"token number\">3<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">LOOP<\/span><br \/>\n        <span class=\"token keyword\">FETCH<\/span> v_cur <span class=\"token keyword\">INTO<\/span> v_name<span class=\"token punctuation\">;<\/span><br \/>\n        <span class=\"token keyword\">EXIT<\/span> <span class=\"token keyword\">WHEN<\/span> v_cur<span class=\"token operator\">%<\/span>NOTFOUND<span class=\"token punctuation\">;<\/span><br \/>\n        DBMS_OUTPUT<span class=\"token punctuation\">.<\/span>PUT_LINE<span class=\"token punctuation\">(<\/span>v_name<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">END<\/span> <span class=\"token keyword\">LOOP<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">CLOSE<\/span> v_cur<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">END<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token operator\">\/<\/span><\/p>\n<h4>7.3 \u5b58\u50a8\u8fc7\u7a0b<\/h4>\n<p><span class=\"token keyword\">CREATE<\/span> <span class=\"token operator\">OR<\/span> <span class=\"token keyword\">REPLACE<\/span> <span class=\"token keyword\">PROCEDURE<\/span> sp_adjust_salary <span class=\"token punctuation\">(<\/span><br \/>\n    p_dept_id    <span class=\"token operator\">IN<\/span>  NUMBER<span class=\"token punctuation\">,<\/span><br \/>\n    p_percent    <span class=\"token operator\">IN<\/span>  NUMBER <span class=\"token keyword\">DEFAULT<\/span> <span class=\"token number\">5<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    p_count      <span class=\"token keyword\">OUT<\/span> NUMBER<br \/>\n<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token operator\">IS<\/span><br \/>\n    v_count NUMBER :<span class=\"token operator\">&#061;<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">BEGIN<\/span><br \/>\n    <span class=\"token keyword\">UPDATE<\/span> employees<br \/>\n    <span class=\"token keyword\">SET<\/span> salary <span class=\"token operator\">&#061;<\/span> salary <span class=\"token operator\">*<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token number\">1<\/span> <span class=\"token operator\">&#043;<\/span> p_percent <span class=\"token operator\">\/<\/span> <span class=\"token number\">100<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">WHERE<\/span> department_id <span class=\"token operator\">&#061;<\/span> p_dept_id<span class=\"token punctuation\">;<\/span><\/p>\n<p>    v_count :<span class=\"token operator\">&#061;<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">%<\/span><span class=\"token keyword\">ROWCOUNT<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    p_count :<span class=\"token operator\">&#061;<\/span> v_count<span class=\"token punctuation\">;<\/span><\/p>\n<p>    DBMS_OUTPUT<span class=\"token punctuation\">.<\/span>PUT_LINE<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;Updated &#039;<\/span> <span class=\"token operator\">||<\/span> v_count <span class=\"token operator\">||<\/span> <span class=\"token string\">&#039; employees.&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">COMMIT<\/span><span class=\"token punctuation\">;<\/span><br \/>\nEXCEPTION<br \/>\n    <span class=\"token keyword\">WHEN<\/span> OTHERS <span class=\"token keyword\">THEN<\/span><br \/>\n        <span class=\"token keyword\">ROLLBACK<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        RAISE_APPLICATION_ERROR<span class=\"token punctuation\">(<\/span><span class=\"token operator\">&#8211;<\/span><span class=\"token number\">20001<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;Salary adjustment failed: &#039;<\/span> <span class=\"token operator\">||<\/span> SQLERRM<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">END<\/span> sp_adjust_salary<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token operator\">\/<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u8c03\u7528<\/span><br \/>\n<span class=\"token keyword\">DECLARE<\/span><br \/>\n    v_cnt NUMBER<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">BEGIN<\/span><br \/>\n    sp_adjust_salary<span class=\"token punctuation\">(<\/span><span class=\"token number\">80<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">10<\/span><span class=\"token punctuation\">,<\/span> v_cnt<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    DBMS_OUTPUT<span class=\"token punctuation\">.<\/span>PUT_LINE<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;Affected: &#039;<\/span> <span class=\"token operator\">||<\/span> v_cnt<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">END<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token operator\">\/<\/span><\/p>\n<h4>7.4 \u51fd\u6570<\/h4>\n<p><span class=\"token keyword\">CREATE<\/span> <span class=\"token operator\">OR<\/span> <span class=\"token keyword\">REPLACE<\/span> <span class=\"token keyword\">FUNCTION<\/span> fn_get_annual_salary <span class=\"token punctuation\">(<\/span><br \/>\n    p_emp_id <span class=\"token operator\">IN<\/span> NUMBER<br \/>\n<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">RETURN<\/span> NUMBER<br \/>\n<span class=\"token operator\">IS<\/span><br \/>\n    v_annual NUMBER<span class=\"token punctuation\">(<\/span><span class=\"token number\">12<\/span><span class=\"token punctuation\">,<\/span><span class=\"token number\">2<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">BEGIN<\/span><br \/>\n    <span class=\"token keyword\">SELECT<\/span> <span class=\"token punctuation\">(<\/span>salary <span class=\"token operator\">&#043;<\/span> NVL<span class=\"token punctuation\">(<\/span>commission_pct<span class=\"token punctuation\">,<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">*<\/span> salary<span class=\"token punctuation\">)<\/span> <span class=\"token operator\">*<\/span> <span class=\"token number\">12<\/span><br \/>\n    <span class=\"token keyword\">INTO<\/span> v_annual<br \/>\n    <span class=\"token keyword\">FROM<\/span> employees<br \/>\n    <span class=\"token keyword\">WHERE<\/span> employee_id <span class=\"token operator\">&#061;<\/span> p_emp_id<span class=\"token punctuation\">;<\/span><\/p>\n<p>    <span class=\"token keyword\">RETURN<\/span> v_annual<span class=\"token punctuation\">;<\/span><br \/>\nEXCEPTION<br \/>\n    <span class=\"token keyword\">WHEN<\/span> NO_DATA_FOUND <span class=\"token keyword\">THEN<\/span><br \/>\n        <span class=\"token keyword\">RETURN<\/span> <span class=\"token operator\">&#8211;<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">END<\/span> fn_get_annual_salary<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token operator\">\/<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u8c03\u7528<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> last_name<span class=\"token punctuation\">,<\/span> fn_get_annual_salary<span class=\"token punctuation\">(<\/span>employee_id<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">AS<\/span> annual<br \/>\n<span class=\"token keyword\">FROM<\/span> employees <span class=\"token keyword\">WHERE<\/span> department_id <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">10<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<h4>7.5 \u7a0b\u5e8f\u5305<\/h4>\n<p>\u7a0b\u5e8f\u5305&#xff08;Package&#xff09;\u5c06\u76f8\u5173\u7684\u7c7b\u578b\u3001\u53d8\u91cf\u3001\u6e38\u6807\u3001\u8fc7\u7a0b\u548c\u51fd\u6570\u5c01\u88c5\u5728\u4e00\u8d77&#xff1a;<\/p>\n<p><span class=\"token comment\">&#8212; \u5305\u89c4\u8303&#xff08;\u63a5\u53e3&#xff09;<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> <span class=\"token operator\">OR<\/span> <span class=\"token keyword\">REPLACE<\/span> PACKAGE pkg_employee <span class=\"token keyword\">AS<\/span><br \/>\n    c_max_salary CONSTANT NUMBER :<span class=\"token operator\">&#061;<\/span> <span class=\"token number\">999999<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">TYPE<\/span> t_emp_rec <span class=\"token operator\">IS<\/span> RECORD <span class=\"token punctuation\">(<\/span><br \/>\n        emp_id   NUMBER<span class=\"token punctuation\">,<\/span><br \/>\n        name     VARCHAR2<span class=\"token punctuation\">(<\/span><span class=\"token number\">100<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n        salary   NUMBER<br \/>\n    <span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">TYPE<\/span> t_emp_tab <span class=\"token operator\">IS<\/span> <span class=\"token keyword\">TABLE<\/span> <span class=\"token keyword\">OF<\/span> t_emp_rec <span class=\"token keyword\">INDEX<\/span> <span class=\"token keyword\">BY<\/span> PLS_INTEGER<span class=\"token punctuation\">;<\/span><\/p>\n<p>    <span class=\"token keyword\">PROCEDURE<\/span> hire_employee<span class=\"token punctuation\">(<\/span>p_name VARCHAR2<span class=\"token punctuation\">,<\/span> p_dept NUMBER<span class=\"token punctuation\">,<\/span> p_salary NUMBER<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">PROCEDURE<\/span> fire_employee<span class=\"token punctuation\">(<\/span>p_emp_id NUMBER<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">FUNCTION<\/span> get_salary<span class=\"token punctuation\">(<\/span>p_emp_id NUMBER<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">RETURN<\/span> NUMBER<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">FUNCTION<\/span> get_dept_employees<span class=\"token punctuation\">(<\/span>p_dept_id NUMBER<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">RETURN<\/span> t_emp_tab<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">END<\/span> pkg_employee<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token operator\">\/<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u5305\u4f53&#xff08;\u5b9e\u73b0&#xff09;<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> <span class=\"token operator\">OR<\/span> <span class=\"token keyword\">REPLACE<\/span> PACKAGE BODY pkg_employee <span class=\"token keyword\">AS<\/span><\/p>\n<p>    <span class=\"token keyword\">PROCEDURE<\/span> hire_employee<span class=\"token punctuation\">(<\/span>p_name VARCHAR2<span class=\"token punctuation\">,<\/span> p_dept NUMBER<span class=\"token punctuation\">,<\/span> p_salary NUMBER<span class=\"token punctuation\">)<\/span> <span class=\"token operator\">IS<\/span><br \/>\n    <span class=\"token keyword\">BEGIN<\/span><br \/>\n        <span class=\"token keyword\">IF<\/span> p_salary <span class=\"token operator\">&gt;<\/span> c_max_salary <span class=\"token keyword\">THEN<\/span><br \/>\n            RAISE_APPLICATION_ERROR<span class=\"token punctuation\">(<\/span><span class=\"token operator\">&#8211;<\/span><span class=\"token number\">20002<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;Salary exceeds maximum&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        <span class=\"token keyword\">END<\/span> <span class=\"token keyword\">IF<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        <span class=\"token keyword\">INSERT<\/span> <span class=\"token keyword\">INTO<\/span> employees<span class=\"token punctuation\">(<\/span>employee_id<span class=\"token punctuation\">,<\/span> last_name<span class=\"token punctuation\">,<\/span> department_id<span class=\"token punctuation\">,<\/span> salary<span class=\"token punctuation\">,<\/span> hire_date<span class=\"token punctuation\">)<\/span><br \/>\n        <span class=\"token keyword\">VALUES<\/span><span class=\"token punctuation\">(<\/span>seq_emp_id<span class=\"token punctuation\">.<\/span>NEXTVAL<span class=\"token punctuation\">,<\/span> p_name<span class=\"token punctuation\">,<\/span> p_dept<span class=\"token punctuation\">,<\/span> p_salary<span class=\"token punctuation\">,<\/span> SYSDATE<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        <span class=\"token keyword\">COMMIT<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">END<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p>    <span class=\"token keyword\">PROCEDURE<\/span> fire_employee<span class=\"token punctuation\">(<\/span>p_emp_id NUMBER<span class=\"token punctuation\">)<\/span> <span class=\"token operator\">IS<\/span><br \/>\n    <span class=\"token keyword\">BEGIN<\/span><br \/>\n        <span class=\"token keyword\">DELETE<\/span> <span class=\"token keyword\">FROM<\/span> employees <span class=\"token keyword\">WHERE<\/span> employee_id <span class=\"token operator\">&#061;<\/span> p_emp_id<span class=\"token punctuation\">;<\/span><br \/>\n        <span class=\"token keyword\">IF<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">%<\/span><span class=\"token keyword\">ROWCOUNT<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">0<\/span> <span class=\"token keyword\">THEN<\/span><br \/>\n            RAISE_APPLICATION_ERROR<span class=\"token punctuation\">(<\/span><span class=\"token operator\">&#8211;<\/span><span class=\"token number\">20003<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;Employee not found&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        <span class=\"token keyword\">END<\/span> <span class=\"token keyword\">IF<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        <span class=\"token keyword\">COMMIT<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">END<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p>    <span class=\"token keyword\">FUNCTION<\/span> get_salary<span class=\"token punctuation\">(<\/span>p_emp_id NUMBER<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">RETURN<\/span> NUMBER <span class=\"token operator\">IS<\/span><br \/>\n        v_sal NUMBER<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">BEGIN<\/span><br \/>\n        <span class=\"token keyword\">SELECT<\/span> salary <span class=\"token keyword\">INTO<\/span> v_sal <span class=\"token keyword\">FROM<\/span> employees <span class=\"token keyword\">WHERE<\/span> employee_id <span class=\"token operator\">&#061;<\/span> p_emp_id<span class=\"token punctuation\">;<\/span><br \/>\n        <span class=\"token keyword\">RETURN<\/span> v_sal<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">END<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p>    <span class=\"token keyword\">FUNCTION<\/span> get_dept_employees<span class=\"token punctuation\">(<\/span>p_dept_id NUMBER<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">RETURN<\/span> t_emp_tab <span class=\"token operator\">IS<\/span><br \/>\n        v_tab t_emp_tab<span class=\"token punctuation\">;<\/span><br \/>\n        i PLS_INTEGER :<span class=\"token operator\">&#061;<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">BEGIN<\/span><br \/>\n        <span class=\"token keyword\">FOR<\/span> rec <span class=\"token operator\">IN<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token keyword\">SELECT<\/span> employee_id<span class=\"token punctuation\">,<\/span> last_name<span class=\"token punctuation\">,<\/span> salary<br \/>\n                    <span class=\"token keyword\">FROM<\/span> employees <span class=\"token keyword\">WHERE<\/span> department_id <span class=\"token operator\">&#061;<\/span> p_dept_id<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">LOOP<\/span><br \/>\n            i :<span class=\"token operator\">&#061;<\/span> i <span class=\"token operator\">&#043;<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span><br \/>\n            v_tab<span class=\"token punctuation\">(<\/span>i<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span>emp_id :<span class=\"token operator\">&#061;<\/span> rec<span class=\"token punctuation\">.<\/span>employee_id<span class=\"token punctuation\">;<\/span><br \/>\n            v_tab<span class=\"token punctuation\">(<\/span>i<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span>name :<span class=\"token operator\">&#061;<\/span> rec<span class=\"token punctuation\">.<\/span>last_name<span class=\"token punctuation\">;<\/span><br \/>\n            v_tab<span class=\"token punctuation\">(<\/span>i<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span>salary :<span class=\"token operator\">&#061;<\/span> rec<span class=\"token punctuation\">.<\/span>salary<span class=\"token punctuation\">;<\/span><br \/>\n        <span class=\"token keyword\">END<\/span> <span class=\"token keyword\">LOOP<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        <span class=\"token keyword\">RETURN<\/span> v_tab<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">END<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token keyword\">END<\/span> pkg_employee<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token operator\">\/<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u8c03\u7528<\/span><br \/>\n<span class=\"token keyword\">EXEC<\/span> pkg_employee<span class=\"token punctuation\">.<\/span>hire_employee<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;Li Ming&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">20<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">8000<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> pkg_employee<span class=\"token punctuation\">.<\/span>get_salary<span class=\"token punctuation\">(<\/span><span class=\"token number\">100<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">FROM<\/span> DUAL<span class=\"token punctuation\">;<\/span><\/p>\n<h4>7.6 \u89e6\u53d1\u5668<\/h4>\n<p><span class=\"token comment\">&#8212; \u884c\u7ea7\u89e6\u53d1\u5668&#xff08;\u5ba1\u8ba1\u65e5\u5fd7&#xff09;<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> <span class=\"token operator\">OR<\/span> <span class=\"token keyword\">REPLACE<\/span> <span class=\"token keyword\">TRIGGER<\/span> trg_emp_salary_audit<br \/>\n<span class=\"token keyword\">AFTER<\/span> <span class=\"token keyword\">UPDATE<\/span> <span class=\"token keyword\">OF<\/span> salary <span class=\"token keyword\">ON<\/span> employees<br \/>\n<span class=\"token keyword\">FOR EACH ROW<\/span><br \/>\n<span class=\"token keyword\">WHEN<\/span> <span class=\"token punctuation\">(<\/span>OLD<span class=\"token punctuation\">.<\/span>salary <span class=\"token operator\">&lt;&gt;<\/span> NEW<span class=\"token punctuation\">.<\/span>salary<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">DECLARE<\/span><br \/>\n    PRAGMA AUTONOMOUS_TRANSACTION<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">BEGIN<\/span><br \/>\n    <span class=\"token keyword\">INSERT<\/span> <span class=\"token keyword\">INTO<\/span> salary_audit_log <span class=\"token punctuation\">(<\/span><br \/>\n        employee_id<span class=\"token punctuation\">,<\/span> old_salary<span class=\"token punctuation\">,<\/span> new_salary<span class=\"token punctuation\">,<\/span> changed_by<span class=\"token punctuation\">,<\/span> changed_at<br \/>\n    <span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">VALUES<\/span> <span class=\"token punctuation\">(<\/span><br \/>\n        :OLD<span class=\"token punctuation\">.<\/span>employee_id<span class=\"token punctuation\">,<\/span> :OLD<span class=\"token punctuation\">.<\/span>salary<span class=\"token punctuation\">,<\/span> :NEW<span class=\"token punctuation\">.<\/span>salary<span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">USER<\/span><span class=\"token punctuation\">,<\/span> SYSTIMESTAMP<br \/>\n    <span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">COMMIT<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">END<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token operator\">\/<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u8bed\u53e5\u7ea7\u89e6\u53d1\u5668<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> <span class=\"token operator\">OR<\/span> <span class=\"token keyword\">REPLACE<\/span> <span class=\"token keyword\">TRIGGER<\/span> trg_emp_insert_check<br \/>\nBEFORE <span class=\"token keyword\">INSERT<\/span> <span class=\"token keyword\">ON<\/span> employees<br \/>\n<span class=\"token keyword\">BEGIN<\/span><br \/>\n    <span class=\"token keyword\">IF<\/span> TO_CHAR<span class=\"token punctuation\">(<\/span>SYSDATE<span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;HH24&#039;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">NOT<\/span> <span class=\"token operator\">BETWEEN<\/span> <span class=\"token string\">&#039;08&#039;<\/span> <span class=\"token operator\">AND<\/span> <span class=\"token string\">&#039;18&#039;<\/span> <span class=\"token keyword\">THEN<\/span><br \/>\n        RAISE_APPLICATION_ERROR<span class=\"token punctuation\">(<\/span><span class=\"token operator\">&#8211;<\/span><span class=\"token number\">20010<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;Insert only allowed during work hours&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">END<\/span> <span class=\"token keyword\">IF<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">END<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token operator\">\/<\/span><\/p>\n<p><span class=\"token comment\">&#8212; INSTEAD OF\u89e6\u53d1\u5668&#xff08;\u7528\u4e8e\u89c6\u56fe&#xff09;<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> <span class=\"token operator\">OR<\/span> <span class=\"token keyword\">REPLACE<\/span> <span class=\"token keyword\">TRIGGER<\/span> trg_v_emp_dept_insert<br \/>\nINSTEAD <span class=\"token keyword\">OF<\/span> <span class=\"token keyword\">INSERT<\/span> <span class=\"token keyword\">ON<\/span> v_emp_dept<br \/>\n<span class=\"token keyword\">FOR EACH ROW<\/span><br \/>\n<span class=\"token keyword\">BEGIN<\/span><br \/>\n    <span class=\"token keyword\">INSERT<\/span> <span class=\"token keyword\">INTO<\/span> employees<span class=\"token punctuation\">(<\/span>last_name<span class=\"token punctuation\">,<\/span> department_id<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">VALUES<\/span><span class=\"token punctuation\">(<\/span>:NEW<span class=\"token punctuation\">.<\/span>last_name<span class=\"token punctuation\">,<\/span> :NEW<span class=\"token punctuation\">.<\/span>department_id<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">END<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token operator\">\/<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u89e6\u53d1\u5668<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> trigger_name<span class=\"token punctuation\">,<\/span> trigger_type<span class=\"token punctuation\">,<\/span> triggering_event<span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">status<\/span><br \/>\n<span class=\"token keyword\">FROM<\/span> USER_TRIGGERS <span class=\"token keyword\">WHERE<\/span> table_name <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#039;EMPLOYEES&#039;<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u7981\u7528\/\u542f\u7528<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">TRIGGER<\/span> trg_emp_salary_audit <span class=\"token keyword\">DISABLE<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">TRIGGER<\/span> trg_emp_salary_audit <span class=\"token keyword\">ENABLE<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<hr \/>\n<h3>\u7b2c8\u7ae0 \u6570\u636e\u5e93\u5907\u4efd\u4e0e\u6062\u590d<\/h3>\n<h4>8.1 \u5907\u4efd\u4e0e\u6062\u590d\u6982\u8ff0<\/h4>\n<table>\n<tr>\u5907\u4efd\u7c7b\u578b\u8bf4\u660e\u5de5\u5177<\/tr>\n<tbody>\n<tr>\n<td>\u7269\u7406\u5907\u4efd<\/td>\n<td>\u5907\u4efd\u6570\u636e\u6587\u4ef6\u3001\u63a7\u5236\u6587\u4ef6\u3001\u65e5\u5fd7\u6587\u4ef6<\/td>\n<td>RMAN \/ OS\u547d\u4ee4<\/td>\n<\/tr>\n<tr>\n<td>\u903b\u8f91\u5907\u4efd<\/td>\n<td>\u5bfc\u51fa\u8868\/\u6a21\u5f0f\/\u6570\u636e\u5e93\u7684\u903b\u8f91\u6570\u636e<\/td>\n<td>Data Pump (expdp\/impdp)<\/td>\n<\/tr>\n<tr>\n<td>\u5168\u91cf\u5907\u4efd<\/td>\n<td>\u5907\u4efd\u6240\u6709\u6570\u636e\u5757<\/td>\n<td>RMAN BACKUP DATABASE<\/td>\n<\/tr>\n<tr>\n<td>\u589e\u91cf\u5907\u4efd<\/td>\n<td>\u4ec5\u5907\u4efd\u81ea\u4e0a\u6b21\u4ee5\u6765\u53d8\u5316\u7684\u5757<\/td>\n<td>RMAN INCREMENTAL<\/td>\n<\/tr>\n<tr>\n<td>\u70ed\u5907\u4efd<\/td>\n<td>\u6570\u636e\u5e93OPEN\u72b6\u6001\u4e0b\u5907\u4efd<\/td>\n<td>\u9700\u5f52\u6863\u6a21\u5f0f<\/td>\n<\/tr>\n<tr>\n<td>\u51b7\u5907\u4efd<\/td>\n<td>\u6570\u636e\u5e93\u5173\u95ed\u540e\u5907\u4efd<\/td>\n<td>OS\u590d\u5236<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u6062\u590d\u573a\u666f&#xff1a;<\/p>\n<ul>\n<li>\u6570\u636e\u6587\u4ef6\u635f\u574f \u2192 \u8fd8\u539f&#043;\u6062\u590d<\/li>\n<li>\u8bef\u5220\u8868 \u2192 \u95ea\u56de\/\u65f6\u95f4\u70b9\u6062\u590d<\/li>\n<li>\u5b9e\u4f8b\u5d29\u6e83 \u2192 \u81ea\u52a8\u5b9e\u4f8b\u6062\u590d&#xff08;SMON&#xff09;<\/li>\n<li>\u4ecb\u8d28\u6545\u969c \u2192 RMAN\u6062\u590d<\/li>\n<\/ul>\n<h4>8.2 \u624b\u52a8\u5907\u4efd\u4e0e\u6062\u590d<\/h4>\n<p><span class=\"token comment\">&#8212; \u70ed\u5907\u4efd&#xff08;\u9700\u5f52\u6863\u6a21\u5f0f&#xff09;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">TABLESPACE<\/span> tbs_data <span class=\"token keyword\">BEGIN<\/span> <span class=\"token keyword\">BACKUP<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token comment\">&#8212; OS\u5c42\u9762\u590d\u5236\u6570\u636e\u6587\u4ef6<\/span><br \/>\n<span class=\"token comment\">&#8212; cp \/u01\/oradata\/orcl\/tbs_data01.dbf \/backup\/<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">TABLESPACE<\/span> tbs_data <span class=\"token keyword\">END<\/span> <span class=\"token keyword\">BACKUP<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u7528\u6237\u7ba1\u7406\u7684\u5b8c\u5168\u6062\u590d<\/span><br \/>\n<span class=\"token comment\">&#8212; 1. \u8fd8\u539f\u6570\u636e\u6587\u4ef6<\/span><br \/>\n<span class=\"token comment\">&#8212; 2. \u6062\u590d<\/span><br \/>\nRECOVER DATAFILE <span class=\"token string\">&#039;\/u01\/oradata\/orcl\/tbs_data01.dbf&#039;<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token comment\">&#8212; \u6216<\/span><br \/>\nRECOVER <span class=\"token keyword\">DATABASE<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token comment\">&#8212; 3. \u6253\u5f00<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">DATABASE<\/span> <span class=\"token keyword\">OPEN<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<h4>8.3 RMAN\u5907\u4efd\u4e0e\u6062\u590d<\/h4>\n<p>RMAN&#xff08;Recovery Manager&#xff09;\u662fOracle\u5b98\u65b9\u63a8\u8350\u7684\u7269\u7406\u5907\u4efd\u6062\u590d\u5de5\u5177&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u8fde\u63a5RMAN<\/span><br \/>\nrman target \/<\/p>\n<p><span class=\"token comment\"># \u914d\u7f6e<\/span><br \/>\nCONFIGURE RETENTION POLICY TO REDUNDANCY <span class=\"token number\">2<\/span><span class=\"token punctuation\">;<\/span><br \/>\nCONFIGURE CONTROLFILE AUTOBACKUP ON<span class=\"token punctuation\">;<\/span><br \/>\nCONFIGURE DEFAULT DEVICE TYPE TO DISK<span class=\"token punctuation\">;<\/span><br \/>\nCONFIGURE CHANNEL DEVICE TYPE DISK FORMAT <span class=\"token string\">&#039;\/backup\/rman\/%U&#039;<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\"># \u5168\u5e93\u5907\u4efd<\/span><br \/>\nBACKUP DATABASE PLUS ARCHIVELOG<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\"># \u589e\u91cf\u5907\u4efd<\/span><br \/>\nBACKUP INCREMENTAL LEVEL <span class=\"token number\">0<\/span> DATABASE<span class=\"token punctuation\">;<\/span>    &#8212; <span class=\"token number\">0<\/span>\u7ea7&#xff08;\u57fa\u7ebf&#xff09;<br \/>\nBACKUP INCREMENTAL LEVEL <span class=\"token number\">1<\/span> DATABASE<span class=\"token punctuation\">;<\/span>    &#8212; <span class=\"token number\">1<\/span>\u7ea7\u589e\u91cf<\/p>\n<p><span class=\"token comment\"># \u8868\u7a7a\u95f4\u5907\u4efd<\/span><br \/>\nBACKUP TABLESPACE tbs_data<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\"># \u5f52\u6863\u65e5\u5fd7\u5907\u4efd<\/span><br \/>\nBACKUP ARCHIVELOG ALL DELETE INPUT<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\"># \u63a7\u5236\u6587\u4ef6\u5907\u4efd<\/span><br \/>\nBACKUP CURRENT CONTROLFILE<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\"># \u67e5\u770b\u5907\u4efd<\/span><br \/>\nLIST BACKUP SUMMARY<span class=\"token punctuation\">;<\/span><br \/>\nLIST BACKUP OF DATABASE<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\"># \u6062\u590d\u6574\u4e2a\u6570\u636e\u5e93<\/span><br \/>\nRUN <span class=\"token punctuation\">{<\/span><br \/>\n    STARTUP MOUNT<span class=\"token punctuation\">;<\/span><br \/>\n    RESTORE DATABASE<span class=\"token punctuation\">;<\/span><br \/>\n    RECOVER DATABASE<span class=\"token punctuation\">;<\/span><br \/>\n    ALTER DATABASE OPEN<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<p><span class=\"token comment\"># \u6062\u590d\u5230\u6307\u5b9a\u65f6\u95f4\u70b9&#xff08;PITR&#xff09;<\/span><br \/>\nRUN <span class=\"token punctuation\">{<\/span><br \/>\n    STARTUP MOUNT<span class=\"token punctuation\">;<\/span><br \/>\n    SET UNTIL TIME <span class=\"token string\">&#034;TO_DATE(&#039;2025-06-15 14:00:00&#039;,&#039;YYYY-MM-DD HH24:MI:SS&#039;)&#034;<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    RESTORE DATABASE<span class=\"token punctuation\">;<\/span><br \/>\n    RECOVER DATABASE<span class=\"token punctuation\">;<\/span><br \/>\n    ALTER DATABASE OPEN RESETLOGS<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<p><span class=\"token comment\"># \u6062\u590d\u5355\u4e2a\u6570\u636e\u6587\u4ef6<\/span><br \/>\nRUN <span class=\"token punctuation\">{<\/span><br \/>\n    SQL <span class=\"token string\">&#039;ALTER TABLESPACE tbs_data OFFLINE&#039;<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    RESTORE DATAFILE <span class=\"token string\">&#039;\/u01\/oradata\/orcl\/tbs_data01.dbf&#039;<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    RECOVER DATAFILE <span class=\"token string\">&#039;\/u01\/oradata\/orcl\/tbs_data01.dbf&#039;<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    SQL <span class=\"token string\">&#039;ALTER TABLESPACE tbs_data ONLINE&#039;<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<p><span class=\"token comment\"># \u4ea4\u53c9\u68c0\u67e5\u4e0e\u6e05\u7406<\/span><br \/>\nCROSSCHECK BACKUP<span class=\"token punctuation\">;<\/span><br \/>\nDELETE NOPROMPT OBSOLETE<span class=\"token punctuation\">;<\/span><br \/>\nDELETE NOPROMPT EXPIRED BACKUP<span class=\"token punctuation\">;<\/span><\/p>\n<h4>8.4 \u903b\u8f91\u5907\u4efd\u4e0e\u6062\u590d<\/h4>\n<p>Data Pump\u662fOracle\u7684\u903b\u8f91\u5907\u4efd\u5de5\u5177&#xff08;\u66ff\u4ee3\u65e7\u7248exp\/imp&#xff09;&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u5168\u5e93\u5bfc\u51fa<\/span><br \/>\nexpdp system\/password <span class=\"token assign-left variable\">DIRECTORY<\/span><span class=\"token operator\">&#061;<\/span>dpump_dir <span class=\"token assign-left variable\">DUMPFILE<\/span><span class=\"token operator\">&#061;<\/span>full_db.dmp <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token assign-left variable\">FULL<\/span><span class=\"token operator\">&#061;<\/span>Y <span class=\"token assign-left variable\">LOGFILE<\/span><span class=\"token operator\">&#061;<\/span>full_db.log <span class=\"token assign-left variable\">COMPRESSION<\/span><span class=\"token operator\">&#061;<\/span>ALL <span class=\"token assign-left variable\">PARALLEL<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token number\">4<\/span><\/p>\n<p><span class=\"token comment\"># \u6a21\u5f0f\u5bfc\u51fa<\/span><br \/>\nexpdp system\/password <span class=\"token assign-left variable\">DIRECTORY<\/span><span class=\"token operator\">&#061;<\/span>dpump_dir <span class=\"token assign-left variable\">DUMPFILE<\/span><span class=\"token operator\">&#061;<\/span>hr_schema.dmp <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token assign-left variable\">SCHEMAS<\/span><span class=\"token operator\">&#061;<\/span>HR <span class=\"token assign-left variable\">LOGFILE<\/span><span class=\"token operator\">&#061;<\/span>hr_schema.log<\/p>\n<p><span class=\"token comment\"># \u8868\u5bfc\u51fa<\/span><br \/>\nexpdp hr\/password <span class=\"token assign-left variable\">DIRECTORY<\/span><span class=\"token operator\">&#061;<\/span>dpump_dir <span class=\"token assign-left variable\">DUMPFILE<\/span><span class=\"token operator\">&#061;<\/span>employees.dmp <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token assign-left variable\">TABLES<\/span><span class=\"token operator\">&#061;<\/span>employees,departments<\/p>\n<p><span class=\"token comment\"># \u5bfc\u5165<\/span><br \/>\nimpdp system\/password <span class=\"token assign-left variable\">DIRECTORY<\/span><span class=\"token operator\">&#061;<\/span>dpump_dir <span class=\"token assign-left variable\">DUMPFILE<\/span><span class=\"token operator\">&#061;<\/span>hr_schema.dmp <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token assign-left variable\">SCHEMAS<\/span><span class=\"token operator\">&#061;<\/span>HR <span class=\"token assign-left variable\">REMAP_SCHEMA<\/span><span class=\"token operator\">&#061;<\/span>HR:HR_NEW <span class=\"token assign-left variable\">LOGFILE<\/span><span class=\"token operator\">&#061;<\/span>import.log<\/p>\n<p><span class=\"token comment\"># \u8868\u7a7a\u95f4\u4f20\u8f93<\/span><br \/>\nexpdp system\/password <span class=\"token assign-left variable\">DIRECTORY<\/span><span class=\"token operator\">&#061;<\/span>dpump_dir <span class=\"token assign-left variable\">DUMPFILE<\/span><span class=\"token operator\">&#061;<\/span>ts_transport.dmp <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token assign-left variable\">TRANSPORT_TABLESPACES<\/span><span class=\"token operator\">&#061;<\/span>tbs_data<\/p>\n<p><span class=\"token comment\"># \u521b\u5efa\u76ee\u5f55\u5bf9\u8c61<\/span><br \/>\nCREATE DIRECTORY dpump_dir AS <span class=\"token string\">&#039;\/u01\/backup\/datapump&#039;<\/span><span class=\"token punctuation\">;<\/span><br \/>\nGRANT READ, WRITE ON DIRECTORY dpump_dir TO hr<span class=\"token punctuation\">;<\/span><\/p>\n<hr \/>\n<h3>\u7b2c9\u7ae0 \u95ea\u56de\u6280\u672f<\/h3>\n<h4>9.1 \u95ea\u56de\u6280\u672f\u6982\u8ff0<\/h4>\n<p>\u95ea\u56de&#xff08;Flashback&#xff09;\u6280\u672f\u662fOracle\u63d0\u4f9b\u7684\u4e00\u7ec4\u6570\u636e\u6062\u590d\u624b\u6bb5&#xff0c;\u53ef\u5728\u4e0d\u505a\u5b8c\u6574\u6062\u590d\u7684\u60c5\u51b5\u4e0b\u5feb\u901f\u56de\u9000\u9519\u8bef\u64cd\u4f5c&#xff1a;<\/p>\n<table>\n<tr>\u6280\u672f\u7528\u9014\u4f9d\u8d56<\/tr>\n<tbody>\n<tr>\n<td>\u95ea\u56de\u67e5\u8be2<\/td>\n<td>\u67e5\u770b\u8fc7\u53bb\u67d0\u65f6\u523b\u7684\u6570\u636e<\/td>\n<td>UNDO<\/td>\n<\/tr>\n<tr>\n<td>\u95ea\u56de\u7248\u672c\u67e5\u8be2<\/td>\n<td>\u67e5\u770b\u6570\u636e\u7684\u6240\u6709\u5386\u53f2\u7248\u672c<\/td>\n<td>UNDO<\/td>\n<\/tr>\n<tr>\n<td>\u95ea\u56de\u4e8b\u52a1\u67e5\u8be2<\/td>\n<td>\u67e5\u770b\u4e8b\u52a1\u7ea7\u53d8\u66f4\u53ca\u53cd\u5411SQL<\/td>\n<td>UNDO<\/td>\n<\/tr>\n<tr>\n<td>\u95ea\u56de\u8868<\/td>\n<td>\u5c06\u8868\u56de\u9000\u5230\u8fc7\u53bb\u67d0\u65f6\u523b<\/td>\n<td>UNDO &#043; \u884c\u79fb\u52a8<\/td>\n<\/tr>\n<tr>\n<td>\u95ea\u56de\u5220\u9664<\/td>\n<td>\u6062\u590d\u88abDROP\u7684\u8868<\/td>\n<td>\u56de\u6536\u7ad9<\/td>\n<\/tr>\n<tr>\n<td>\u95ea\u56de\u6570\u636e\u5e93<\/td>\n<td>\u5c06\u6574\u4e2a\u6570\u636e\u5e93\u56de\u9000<\/td>\n<td>\u95ea\u56de\u65e5\u5fd7<\/td>\n<\/tr>\n<tr>\n<td>\u95ea\u56de\u6570\u636e\u5f52\u6863<\/td>\n<td>\u957f\u671f\u4fdd\u7559\u5386\u53f2\u6570\u636e<\/td>\n<td>FDA\u8868\u7a7a\u95f4<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>9.2 \u95ea\u56de\u67e5\u8be2<\/h4>\n<p><span class=\"token comment\">&#8212; \u67e5\u8be25\u5206\u949f\u524d\u7684\u6570\u636e<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">FROM<\/span> employees<br \/>\n<span class=\"token keyword\">AS<\/span> <span class=\"token keyword\">OF<\/span> <span class=\"token keyword\">TIMESTAMP<\/span> <span class=\"token punctuation\">(<\/span>SYSTIMESTAMP <span class=\"token operator\">&#8211;<\/span> <span class=\"token keyword\">INTERVAL<\/span> <span class=\"token string\">&#039;5&#039;<\/span> <span class=\"token keyword\">MINUTE<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">WHERE<\/span> employee_id <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">100<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u8be2\u6307\u5b9aSCN\u7684\u6570\u636e<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">FROM<\/span> employees<br \/>\n<span class=\"token keyword\">AS<\/span> <span class=\"token keyword\">OF<\/span> SCN <span class=\"token number\">123456789<\/span><br \/>\n<span class=\"token keyword\">WHERE<\/span> department_id <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">20<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u8be2\u6307\u5b9a\u65f6\u95f4\u70b9<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">FROM<\/span> employees<br \/>\n<span class=\"token keyword\">AS<\/span> <span class=\"token keyword\">OF<\/span> <span class=\"token keyword\">TIMESTAMP<\/span> TO_TIMESTAMP<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;2025-06-15 10:00:00&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;YYYY-MM-DD HH24:MI:SS&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u57fa\u4e8e\u95ea\u56de\u67e5\u8be2\u6062\u590d\u6570\u636e<\/span><br \/>\n<span class=\"token keyword\">INSERT<\/span> <span class=\"token keyword\">INTO<\/span> employees<br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">FROM<\/span> employees<br \/>\n<span class=\"token keyword\">AS<\/span> <span class=\"token keyword\">OF<\/span> <span class=\"token keyword\">TIMESTAMP<\/span> <span class=\"token punctuation\">(<\/span>SYSTIMESTAMP <span class=\"token operator\">&#8211;<\/span> <span class=\"token keyword\">INTERVAL<\/span> <span class=\"token string\">&#039;30&#039;<\/span> <span class=\"token keyword\">MINUTE<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">WHERE<\/span> employee_id <span class=\"token operator\">NOT<\/span> <span class=\"token operator\">IN<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token keyword\">SELECT<\/span> employee_id <span class=\"token keyword\">FROM<\/span> employees<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<h4>9.3 \u95ea\u56de\u7248\u672c\u67e5\u8be2<\/h4>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u67d0\u884c\u7684\u6240\u6709\u5386\u53f2\u7248\u672c<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> versions_starttime<span class=\"token punctuation\">,<\/span> versions_endtime<span class=\"token punctuation\">,<\/span> versions_operation<span class=\"token punctuation\">,<\/span><br \/>\n       employee_id<span class=\"token punctuation\">,<\/span> salary<br \/>\n<span class=\"token keyword\">FROM<\/span> employees<br \/>\nVERSIONS <span class=\"token operator\">BETWEEN<\/span> <span class=\"token keyword\">TIMESTAMP<\/span> MINVALUE <span class=\"token operator\">AND<\/span> MAXVALUE<br \/>\n<span class=\"token keyword\">WHERE<\/span> employee_id <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">100<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; VERSIONS_OPERATION: I&#061;Insert, U&#061;Update, D&#061;Delete<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770bSCN\u8303\u56f4<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> versions_startscn<span class=\"token punctuation\">,<\/span> versions_endscn<span class=\"token punctuation\">,<\/span> versions_xid<span class=\"token punctuation\">,<\/span> salary<br \/>\n<span class=\"token keyword\">FROM<\/span> employees<br \/>\nVERSIONS <span class=\"token operator\">BETWEEN<\/span> SCN MINVALUE <span class=\"token operator\">AND<\/span> MAXVALUE<br \/>\n<span class=\"token keyword\">WHERE<\/span> employee_id <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">100<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<h4>9.4 \u95ea\u56de\u4e8b\u52a1\u67e5\u8be2<\/h4>\n<p><span class=\"token comment\">&#8212; \u67e5\u8be2\u7279\u5b9a\u4e8b\u52a1\u7684\u53d8\u66f4\u53ca\u64a4\u9500SQL<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> xid<span class=\"token punctuation\">,<\/span> operation<span class=\"token punctuation\">,<\/span> table_name<span class=\"token punctuation\">,<\/span> undo_sql<br \/>\n<span class=\"token keyword\">FROM<\/span> FLASHBACK_TRANSACTION_QUERY<br \/>\n<span class=\"token keyword\">WHERE<\/span> table_name <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#039;EMPLOYEES&#039;<\/span><br \/>\n  <span class=\"token operator\">AND<\/span> operation <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#039;UPDATE&#039;<\/span><br \/>\n  <span class=\"token operator\">AND<\/span> commit_timestamp <span class=\"token operator\">&gt;<\/span> SYSDATE <span class=\"token operator\">&#8211;<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u7ed3\u5408\u95ea\u56de\u7248\u672c\u67e5\u8be2\u83b7\u53d6\u4e8b\u52a1ID<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> versions_xid <span class=\"token keyword\">FROM<\/span> employees<br \/>\nVERSIONS <span class=\"token operator\">BETWEEN<\/span> <span class=\"token keyword\">TIMESTAMP<\/span> MINVALUE <span class=\"token operator\">AND<\/span> MAXVALUE<br \/>\n<span class=\"token keyword\">WHERE<\/span> employee_id <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">100<\/span> <span class=\"token operator\">AND<\/span> versions_operation <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#039;U&#039;<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<h4>9.5 \u95ea\u56de\u8868<\/h4>\n<p><span class=\"token comment\">&#8212; \u542f\u7528\u884c\u79fb\u52a8&#xff08;\u95ea\u56de\u8868\u524d\u63d0&#xff09;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">TABLE<\/span> employees <span class=\"token keyword\">ENABLE<\/span> <span class=\"token keyword\">ROW<\/span> MOVEMENT<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u95ea\u56de\u8868\u5230\u6307\u5b9a\u65f6\u95f4<\/span><br \/>\nFLASHBACK <span class=\"token keyword\">TABLE<\/span> employees <span class=\"token keyword\">TO<\/span> <span class=\"token keyword\">TIMESTAMP<\/span><br \/>\n  TO_TIMESTAMP<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;2025-06-15 09:00:00&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;YYYY-MM-DD HH24:MI:SS&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u95ea\u56de\u8868\u5230\u6307\u5b9aSCN<\/span><br \/>\nFLASHBACK <span class=\"token keyword\">TABLE<\/span> employees <span class=\"token keyword\">TO<\/span> SCN <span class=\"token number\">987654321<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u95ea\u56de\u591a\u4e2a\u8868&#xff08;\u4fdd\u6301\u5f15\u7528\u5b8c\u6574\u6027&#xff09;<\/span><br \/>\nFLASHBACK <span class=\"token keyword\">TABLE<\/span> employees<span class=\"token punctuation\">,<\/span> departments <span class=\"token keyword\">TO<\/span> <span class=\"token keyword\">TIMESTAMP<\/span> <span class=\"token punctuation\">(<\/span>SYSTIMESTAMP <span class=\"token operator\">&#8211;<\/span> <span class=\"token keyword\">INTERVAL<\/span> <span class=\"token string\">&#039;1&#039;<\/span> <span class=\"token keyword\">HOUR<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<h4>9.6 \u95ea\u56de\u5220\u9664<\/h4>\n<p><span class=\"token comment\">&#8212; \u5220\u9664\u8868&#xff08;\u8fdb\u5165\u56de\u6536\u7ad9&#xff09;<\/span><br \/>\n<span class=\"token keyword\">DROP<\/span> <span class=\"token keyword\">TABLE<\/span> employees<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u56de\u6536\u7ad9<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> object_name<span class=\"token punctuation\">,<\/span> original_name<span class=\"token punctuation\">,<\/span> droptime <span class=\"token keyword\">FROM<\/span> RECYCLEBIN<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">SHOW<\/span> RECYCLEBIN<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u6062\u590d\u8868<\/span><br \/>\nFLASHBACK <span class=\"token keyword\">TABLE<\/span> employees <span class=\"token keyword\">TO<\/span> BEFORE <span class=\"token keyword\">DROP<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u6062\u590d\u5e76\u91cd\u547d\u540d<\/span><br \/>\nFLASHBACK <span class=\"token keyword\">TABLE<\/span> employees <span class=\"token keyword\">TO<\/span> BEFORE <span class=\"token keyword\">DROP<\/span> <span class=\"token keyword\">RENAME<\/span> <span class=\"token keyword\">TO<\/span> employees_restored<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u6e05\u7a7a\u56de\u6536\u7ad9<\/span><br \/>\n<span class=\"token keyword\">PURGE<\/span> RECYCLEBIN<span class=\"token punctuation\">;<\/span>              <span class=\"token comment\">&#8212; \u5f53\u524d\u7528\u6237<\/span><br \/>\n<span class=\"token keyword\">PURGE<\/span> DBA_RECYCLEBIN<span class=\"token punctuation\">;<\/span>          <span class=\"token comment\">&#8212; DBA<\/span><br \/>\n<span class=\"token keyword\">PURGE<\/span> <span class=\"token keyword\">TABLE<\/span> employees<span class=\"token punctuation\">;<\/span>         <span class=\"token comment\">&#8212; \u6307\u5b9a\u8868<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u7ed5\u8fc7\u56de\u6536\u7ad9\u76f4\u63a5\u5220\u9664<\/span><br \/>\n<span class=\"token keyword\">DROP<\/span> <span class=\"token keyword\">TABLE<\/span> employees <span class=\"token keyword\">PURGE<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<h4>9.7 \u95ea\u56de\u6570\u636e\u5e93<\/h4>\n<p><span class=\"token comment\">&#8212; \u524d\u63d0&#xff1a;\u5f00\u542f\u95ea\u56de\u65e5\u5fd7&#xff08;\u9700MOUNT\u72b6\u6001\u914d\u7f6e&#xff09;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> SYSTEM <span class=\"token keyword\">SET<\/span> DB_FLASHBACK_RETENTION_TARGET <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">4320<\/span><span class=\"token punctuation\">;<\/span>  <span class=\"token comment\">&#8212; \u4fdd\u75593\u5929&#xff08;\u5206\u949f&#xff09;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">DATABASE<\/span> FLASHBACK <span class=\"token keyword\">ON<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u6267\u884c\u95ea\u56de\u6570\u636e\u5e93<\/span><br \/>\n<span class=\"token keyword\">SHUTDOWN<\/span> IMMEDIATE<span class=\"token punctuation\">;<\/span><br \/>\nSTARTUP MOUNT<span class=\"token punctuation\">;<\/span><br \/>\nFLASHBACK <span class=\"token keyword\">DATABASE<\/span> <span class=\"token keyword\">TO<\/span> <span class=\"token keyword\">TIMESTAMP<\/span><br \/>\n  TO_TIMESTAMP<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;2025-06-14 08:00:00&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;YYYY-MM-DD HH24:MI:SS&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token comment\">&#8212; \u6216<\/span><br \/>\nFLASHBACK <span class=\"token keyword\">DATABASE<\/span> <span class=\"token keyword\">TO<\/span> SCN <span class=\"token number\">567890123<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">DATABASE<\/span> <span class=\"token keyword\">OPEN<\/span> RESETLOGS<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u521b\u5efa\u8fd8\u539f\u70b9&#xff08;\u547d\u540d\u5feb\u7167&#xff09;<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">RESTORE<\/span> <span class=\"token keyword\">POINT<\/span> before_upgrade GUARANTEE FLASHBACK <span class=\"token keyword\">DATABASE<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token comment\">&#8212; \u95ea\u56de\u5230\u8fd8\u539f\u70b9<\/span><br \/>\nFLASHBACK <span class=\"token keyword\">DATABASE<\/span> <span class=\"token keyword\">TO<\/span> <span class=\"token keyword\">RESTORE<\/span> <span class=\"token keyword\">POINT<\/span> before_upgrade<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">DROP<\/span> <span class=\"token keyword\">RESTORE<\/span> <span class=\"token keyword\">POINT<\/span> before_upgrade<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u95ea\u56de\u65e5\u5fd7<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> oldest_flashback_scn<span class=\"token punctuation\">,<\/span> retention_target<span class=\"token punctuation\">,<\/span> flashback_size<span class=\"token operator\">\/<\/span><span class=\"token number\">1024<\/span><span class=\"token operator\">\/<\/span><span class=\"token number\">1024<\/span><br \/>\n<span class=\"token keyword\">FROM<\/span> V$FLASHBACK_DATABASE_LOG<span class=\"token punctuation\">;<\/span><\/p>\n<h4>9.8 \u95ea\u56de\u6570\u636e\u5f52\u6863&#xff08;FDA&#xff09;<\/h4>\n<p><span class=\"token comment\">&#8212; \u521b\u5efa\u95ea\u56de\u5f52\u6863\u8868\u7a7a\u95f4<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">TABLESPACE<\/span> fda_ts DATAFILE <span class=\"token string\">&#039;\/u01\/oradata\/orcl\/fda01.dbf&#039;<\/span> SIZE <span class=\"token number\">2<\/span>G<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u521b\u5efa\u95ea\u56de\u5f52\u6863<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> FLASHBACK ARCHIVE fda_1year<br \/>\n  <span class=\"token keyword\">TABLESPACE<\/span> fda_ts<br \/>\n  RETENTION <span class=\"token number\">1<\/span> <span class=\"token keyword\">YEAR<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u8bbe\u4e3a\u9ed8\u8ba4<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> FLASHBACK ARCHIVE fda_1year <span class=\"token keyword\">SET<\/span> <span class=\"token keyword\">DEFAULT<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u4e3a\u8868\u542f\u7528\u95ea\u56de\u5f52\u6863<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">TABLE<\/span> hr<span class=\"token punctuation\">.<\/span>employees FLASHBACK ARCHIVE fda_1year<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u8be2\u4efb\u610f\u5386\u53f2\u65f6\u95f4\u70b9<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">FROM<\/span> hr<span class=\"token punctuation\">.<\/span>employees<br \/>\n<span class=\"token keyword\">AS<\/span> <span class=\"token keyword\">OF<\/span> <span class=\"token keyword\">TIMESTAMP<\/span> TO_TIMESTAMP<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;2024-01-01 00:00:00&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;YYYY-MM-DD HH24:MI:SS&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u79fb\u9664\u95ea\u56de\u5f52\u6863<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">TABLE<\/span> hr<span class=\"token punctuation\">.<\/span>employees <span class=\"token keyword\">NO<\/span> FLASHBACK ARCHIVE<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">DROP<\/span> FLASHBACK ARCHIVE fda_1year<span class=\"token punctuation\">;<\/span><\/p>\n<hr \/>\n<h3>\u7b2c10\u7ae0 \u591a\u79df\u6237\u6570\u636e\u5e93\u4f53\u7cfb<\/h3>\n<h4>10.1 \u591a\u79df\u6237\u6570\u636e\u5e93\u7cfb\u7edf\u7ed3\u6784<\/h4>\n<p>Oracle 12c\u5f15\u5165\u7684\u591a\u79df\u6237&#xff08;Multitenant&#xff09;\u67b6\u6784\u662fOracle\u6570\u636e\u5e93\u7684\u91cd\u5927\u53d8\u9769&#xff0c;19c\u4e2d\u5df2\u6210\u4e3a\u9ed8\u8ba4\u548c\u63a8\u8350\u67b6\u6784&#xff1a;<\/p>\n<p>\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 CDB (Container Database) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510<br \/>\n\u2502                                                                 \u2502<br \/>\n\u2502  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510          \u2502<br \/>\n\u2502  \u2502  ROOT     \u2502  \u2502  PDB$SEED\u2502  \u2502  PDB1   \u2502  \u2502  PDB2   \u2502  &#8230;     \u2502<br \/>\n\u2502  \u2502 (CDB$ROOT)\u2502  \u2502 (\u6a21\u677f\u5e93)  \u2502  \u2502(\u4e1a\u52a1\u5e931)\u2502  \u2502(\u4e1a\u52a1\u5e932)\u2502          \u2502<br \/>\n\u2502  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518          \u2502<br \/>\n\u2502                                                                 \u2502<br \/>\n\u2502  \u5171\u4eab: SGA\u3001\u540e\u53f0\u8fdb\u7a0b\u3001\u53c2\u6570\u6587\u4ef6\u3001\u63a7\u5236\u6587\u4ef6\u3001\u91cd\u505a\u65e5\u5fd7                 \u2502<br \/>\n\u2502  \u9694\u79bb: \u6570\u636e\u6587\u4ef6\u3001\u7528\u6237\u3001\u8868\u7a7a\u95f4\u3001\u5e94\u7528\u5bf9\u8c61                            \u2502<br \/>\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/p>\n<p>\u6838\u5fc3\u6982\u5ff5&#xff1a;<\/p>\n<ul>\n<li>CDB&#xff08;Container Database&#xff09;&#xff1a;\u5bb9\u5668\u6570\u636e\u5e93&#xff0c;\u6700\u5916\u5c42\u5bb9\u5668<\/li>\n<li>CDB$ROOT&#xff1a;\u6839\u5bb9\u5668&#xff0c;\u5b58\u50a8Oracle\u5143\u6570\u636e<\/li>\n<li>PDB$SEED&#xff1a;\u79cd\u5b50PDB&#xff0c;\u521b\u5efa\u65b0PDB\u7684\u6a21\u677f&#xff08;\u53ea\u8bfb&#xff09;<\/li>\n<li>PDB&#xff08;Pluggable Database&#xff09;&#xff1a;\u53ef\u63d2\u62d4\u6570\u636e\u5e93&#xff0c;\u627f\u8f7d\u5b9e\u9645\u4e1a\u52a1<\/li>\n<\/ul>\n<h4>10.2 \u521b\u5efaCDB\u4e0ePDB<\/h4>\n<p><span class=\"token comment\">&#8212; \u521b\u5efaCDB&#xff08;DBCA\u6216\u624b\u52a8&#xff09;<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">DATABASE<\/span> cdb1<br \/>\n  <span class=\"token keyword\">USER<\/span> SYS IDENTIFIED <span class=\"token keyword\">BY<\/span> sys_pass<br \/>\n  <span class=\"token keyword\">USER<\/span> SYSTEM IDENTIFIED <span class=\"token keyword\">BY<\/span> system_pass<br \/>\n  <span class=\"token keyword\">ENABLE<\/span> PLUGGABLE <span class=\"token keyword\">DATABASE<\/span><br \/>\n  SEED FILE_NAME_CONVERT <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;\/u01\/oradata\/&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;\/u01\/oradata\/cdb1\/pdbseed\/&#039;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n  DATAFILE <span class=\"token string\">&#039;\/u01\/oradata\/cdb1\/system01.dbf&#039;<\/span> SIZE <span class=\"token number\">500<\/span>M<br \/>\n  SYSAUX DATAFILE <span class=\"token string\">&#039;\/u01\/oradata\/cdb1\/sysaux01.dbf&#039;<\/span> SIZE <span class=\"token number\">500<\/span>M<br \/>\n  UNDO <span class=\"token keyword\">TABLESPACE<\/span> undotbs1 DATAFILE <span class=\"token string\">&#039;\/u01\/oradata\/cdb1\/undotbs01.dbf&#039;<\/span> SIZE <span class=\"token number\">200<\/span>M<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u521b\u5efaPDB<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> PLUGGABLE <span class=\"token keyword\">DATABASE<\/span> pdb_sales<br \/>\n  ADMIN <span class=\"token keyword\">USER<\/span> pdb_admin IDENTIFIED <span class=\"token keyword\">BY<\/span> <span class=\"token string\">&#034;Admin#2025&#034;<\/span><br \/>\n  FILE_NAME_CONVERT <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;\/u01\/oradata\/cdb1\/pdbseed\/&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;\/u01\/oradata\/cdb1\/pdb_sales\/&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u4ece\u73b0\u6709PDB\u514b\u9686<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> PLUGGABLE <span class=\"token keyword\">DATABASE<\/span> pdb_sales_copy <span class=\"token keyword\">FROM<\/span> pdb_sales<br \/>\n  FILE_NAME_CONVERT <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;\/u01\/oradata\/cdb1\/pdb_sales\/&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;\/u01\/oradata\/cdb1\/pdb_sales_copy\/&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u6253\u5f00PDB<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> PLUGGABLE <span class=\"token keyword\">DATABASE<\/span> pdb_sales <span class=\"token keyword\">OPEN<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> PLUGGABLE <span class=\"token keyword\">DATABASE<\/span> <span class=\"token keyword\">ALL<\/span> <span class=\"token keyword\">OPEN<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u4fdd\u5b58PDB\u72b6\u6001&#xff08;\u91cd\u542f\u540e\u81ea\u52a8\u6253\u5f00&#xff09;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> PLUGGABLE <span class=\"token keyword\">DATABASE<\/span> pdb_sales <span class=\"token keyword\">SAVE<\/span> STATE<span class=\"token punctuation\">;<\/span><\/p>\n<h4>10.3 \u7ba1\u7406CDB\u4e0ePDB<\/h4>\n<p><span class=\"token comment\">&#8212; \u67e5\u770b\u5bb9\u5668\u4fe1\u606f<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> con_id<span class=\"token punctuation\">,<\/span> name<span class=\"token punctuation\">,<\/span> open_mode<span class=\"token punctuation\">,<\/span> restricted <span class=\"token keyword\">FROM<\/span> V$CONTAINERS<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">SHOW<\/span> PDBS<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u5207\u6362\u5bb9\u5668<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">SESSION<\/span> <span class=\"token keyword\">SET<\/span> CONTAINER <span class=\"token operator\">&#061;<\/span> pdb_sales<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">SESSION<\/span> <span class=\"token keyword\">SET<\/span> CONTAINER <span class=\"token operator\">&#061;<\/span> CDB$ROOT<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u5173\u95edPDB<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> PLUGGABLE <span class=\"token keyword\">DATABASE<\/span> pdb_sales <span class=\"token keyword\">CLOSE<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> PLUGGABLE <span class=\"token keyword\">DATABASE<\/span> <span class=\"token keyword\">ALL<\/span> <span class=\"token keyword\">CLOSE<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u62d4\u51faPDB&#xff08;Unplug&#xff09;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> PLUGGABLE <span class=\"token keyword\">DATABASE<\/span> pdb_sales <span class=\"token keyword\">CLOSE<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> PLUGGABLE <span class=\"token keyword\">DATABASE<\/span> pdb_sales UNPLUG <span class=\"token keyword\">INTO<\/span> <span class=\"token string\">&#039;\/tmp\/pdb_sales.xml&#039;<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u63d2\u5165PDB&#xff08;Plug&#xff09;<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> PLUGGABLE <span class=\"token keyword\">DATABASE<\/span> pdb_new<br \/>\n  <span class=\"token keyword\">USING<\/span> <span class=\"token string\">&#039;\/tmp\/pdb_sales.xml&#039;<\/span><br \/>\n  FILE_NAME_CONVERT <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;\/old_path\/&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;\/new_path\/&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u5220\u9664PDB<\/span><br \/>\n<span class=\"token keyword\">DROP<\/span> PLUGGABLE <span class=\"token keyword\">DATABASE<\/span> pdb_sales INCLUDING DATAFILES<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u8d44\u6e90\u7ba1\u7406<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> SYSTEM <span class=\"token keyword\">SET<\/span> CPU_COUNT <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">4<\/span> CONTAINER <span class=\"token operator\">&#061;<\/span> pdb_sales<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> PLUGGABLE <span class=\"token keyword\">DATABASE<\/span> pdb_sales <span class=\"token keyword\">SET<\/span> DEFAULT_TABLESPACE <span class=\"token operator\">&#061;<\/span> tbs_pdb<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u67e5\u770bPDB\u8d44\u6e90\u4f7f\u7528<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> con_id<span class=\"token punctuation\">,<\/span> name<span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">value<\/span> <span class=\"token keyword\">FROM<\/span> V$SYSTEM_PARAMETER <span class=\"token keyword\">WHERE<\/span> name <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#039;cpu_count&#039;<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<h4>10.4 \u591a\u79df\u6237\u6570\u636e\u5e93\u5b89\u5168\u7ba1\u7406<\/h4>\n<p><span class=\"token comment\">&#8212; CDB\u7ea7\u522b\u7528\u6237&#xff08;\u516c\u5171\u7528\u6237&#xff0c;\u4ee5C##\u6216c##\u5f00\u5934&#xff09;<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">USER<\/span> c<span class=\"token comment\">##global_admin IDENTIFIED BY &#034;Global#2025&#034; CONTAINER &#061; ALL;<\/span><br \/>\n<span class=\"token keyword\">GRANT<\/span> <span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">SESSION<\/span> <span class=\"token keyword\">TO<\/span> c<span class=\"token comment\">##global_admin CONTAINER &#061; ALL;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; PDB\u7ea7\u522b\u7528\u6237&#xff08;\u672c\u5730\u7528\u6237&#xff09;<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">SESSION<\/span> <span class=\"token keyword\">SET<\/span> CONTAINER <span class=\"token operator\">&#061;<\/span> pdb_sales<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">USER<\/span> local_app IDENTIFIED <span class=\"token keyword\">BY<\/span> <span class=\"token string\">&#034;Local#2025&#034;<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">GRANT<\/span> <span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">SESSION<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">TABLE<\/span> <span class=\"token keyword\">TO<\/span> local_app<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u516c\u5171\u89d2\u8272<\/span><br \/>\n<span class=\"token keyword\">CREATE<\/span> ROLE c<span class=\"token comment\">##role_dba CONTAINER &#061; ALL;<\/span><br \/>\n<span class=\"token keyword\">GRANT<\/span> DBA <span class=\"token keyword\">TO<\/span> c<span class=\"token comment\">##role_dba CONTAINER &#061; ALL;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; \u6743\u9650\u7ee7\u627f<\/span><br \/>\n<span class=\"token keyword\">GRANT<\/span> <span class=\"token keyword\">SELECT<\/span> <span class=\"token keyword\">ANY<\/span> <span class=\"token keyword\">TABLE<\/span> <span class=\"token keyword\">TO<\/span> c<span class=\"token comment\">##global_admin CONTAINER &#061; ALL;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; PDB\u4e2d\u67e5\u770b\u6743\u9650<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">SESSION<\/span> <span class=\"token keyword\">SET<\/span> CONTAINER <span class=\"token operator\">&#061;<\/span> pdb_sales<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">SELECT<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">FROM<\/span> DBA_SYS_PRIVS <span class=\"token keyword\">WHERE<\/span> grantee <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#039;LOCAL_APP&#039;<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<h4>10.5 \u591a\u79df\u6237\u6570\u636e\u5e93\u5907\u4efd\u4e0e\u6062\u590d<\/h4>\n<p><span class=\"token comment\"># RMAN\u8fde\u63a5CDB<\/span><br \/>\nrman target \/<\/p>\n<p><span class=\"token comment\"># \u5907\u4efd\u6574\u4e2aCDB&#xff08;\u5305\u542b\u6240\u6709PDB&#xff09;<\/span><br \/>\nBACKUP DATABASE PLUS ARCHIVELOG<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\"># \u5907\u4efd\u5355\u4e2aPDB<\/span><br \/>\nBACKUP PLUGGABLE DATABASE pdb_sales<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\"># \u5907\u4efdPDB\u7684\u8868\u7a7a\u95f4<\/span><br \/>\nBACKUP TABLESPACE pdb_sales:users<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\"># \u6062\u590d\u5355\u4e2aPDB<\/span><br \/>\nRUN <span class=\"token punctuation\">{<\/span><br \/>\n    ALTER PLUGGABLE DATABASE pdb_sales CLOSE<span class=\"token punctuation\">;<\/span><br \/>\n    RESTORE PLUGGABLE DATABASE pdb_sales<span class=\"token punctuation\">;<\/span><br \/>\n    RECOVER PLUGGABLE DATABASE pdb_sales<span class=\"token punctuation\">;<\/span><br \/>\n    ALTER PLUGGABLE DATABASE pdb_sales OPEN<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<p><span class=\"token comment\"># PDB\u65f6\u95f4\u70b9\u6062\u590d<\/span><br \/>\nRUN <span class=\"token punctuation\">{<\/span><br \/>\n    ALTER PLUGGABLE DATABASE pdb_sales CLOSE<span class=\"token punctuation\">;<\/span><br \/>\n    SET UNTIL TIME <span class=\"token string\">&#034;TO_DATE(&#039;2025-06-15 12:00:00&#039;,&#039;YYYY-MM-DD HH24:MI:SS&#039;)&#034;<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    RESTORE PLUGGABLE DATABASE pdb_sales<span class=\"token punctuation\">;<\/span><br \/>\n    RECOVER PLUGGABLE DATABASE pdb_sales<span class=\"token punctuation\">;<\/span><br \/>\n    ALTER PLUGGABLE DATABASE pdb_sales OPEN RESETLOGS<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<p><span class=\"token comment\">&#8212; PDB\u7ea7\u522b\u95ea\u56de<\/span><br \/>\n<span class=\"token keyword\">ALTER<\/span> <span class=\"token keyword\">SESSION<\/span> <span class=\"token keyword\">SET<\/span> CONTAINER <span class=\"token operator\">&#061;<\/span> pdb_sales<span class=\"token punctuation\">;<\/span><br \/>\nFLASHBACK PLUGGABLE <span class=\"token keyword\">DATABASE<\/span> pdb_sales <span class=\"token keyword\">TO<\/span> <span class=\"token keyword\">TIMESTAMP<\/span><br \/>\n  TO_TIMESTAMP<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;2025-06-15 08:00:00&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;YYYY-MM-DD HH24:MI:SS&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token comment\">&#8212; Data Pump\u5728PDB\u4e2d\u64cd\u4f5c<\/span><br \/>\n<span class=\"token comment\">&#8212; \u9700\u8fde\u63a5PDB\u7684\u670d\u52a1\u540d<\/span><br \/>\nexpdp system<span class=\"token operator\">\/<\/span>password<span class=\"token variable\">&#064;pdb_sales<\/span> DIRECTORY<span class=\"token operator\">&#061;<\/span>dp_dir <span class=\"token keyword\">DUMPFILE<\/span><span class=\"token operator\">&#061;<\/span>pdb_export<span class=\"token punctuation\">.<\/span>dmp <span class=\"token keyword\">FULL<\/span><span class=\"token operator\">&#061;<\/span>Y<\/p>\n<hr \/>\n<h3>\u603b\u7ed3\u4e0e\u5b66\u4e60\u5efa\u8bae<\/h3>\n<h4>&#x1f4cb; \u5168\u4e66\u77e5\u8bc6\u56fe\u8c31<\/h4>\n<p>Oracle 19c \u77e5\u8bc6\u4f53\u7cfb<br \/>\n\u251c\u2500\u2500 \u57fa\u7840\u5c42<br \/>\n\u2502   \u251c\u2500\u2500 \u5b89\u88c5\u90e8\u7f72&#xff08;\u7b2c1\u7ae0&#xff09;<br \/>\n\u2502   \u251c\u2500\u2500 \u4f53\u7cfb\u7ed3\u6784&#xff08;\u7b2c2\u7ae0&#xff09;<br \/>\n\u2502   \u2514\u2500\u2500 \u7f51\u7edc\u914d\u7f6e&#xff08;\u7b2c1\u7ae0&#xff09;<br \/>\n\u251c\u2500\u2500 \u7ba1\u7406\u5c42<br \/>\n\u2502   \u251c\u2500\u2500 \u5b58\u50a8\u7ba1\u7406&#xff08;\u7b2c3\u7ae0&#xff09;<br \/>\n\u2502   \u251c\u2500\u2500 \u6a21\u5f0f\u5bf9\u8c61&#xff08;\u7b2c4\u7ae0&#xff09;<br \/>\n\u2502   \u251c\u2500\u2500 \u7528\u6237\u5b89\u5168&#xff08;\u7b2c6\u7ae0&#xff09;<br \/>\n\u2502   \u2514\u2500\u2500 \u591a\u79df\u6237\u7ba1\u7406&#xff08;\u7b2c10\u7ae0&#xff09;<br \/>\n\u251c\u2500\u2500 \u5f00\u53d1\u5c42<br \/>\n\u2502   \u251c\u2500\u2500 SQL\u64cd\u4f5c&#xff08;\u7b2c5\u7ae0&#xff09;<br \/>\n\u2502   \u2514\u2500\u2500 PL\/SQL\u5f00\u53d1&#xff08;\u7b2c7\u7ae0&#xff09;<br \/>\n\u2514\u2500\u2500 \u8fd0\u7ef4\u5c42<br \/>\n    \u251c\u2500\u2500 \u5907\u4efd\u6062\u590d&#xff08;\u7b2c8\u7ae0&#xff09;<br \/>\n    \u2514\u2500\u2500 \u95ea\u56de\u6280\u672f&#xff08;\u7b2c9\u7ae0&#xff09;<\/p>\n<h4>&#x1f3af; \u5b66\u4e60\u8def\u5f84\u5efa\u8bae<\/h4>\n<table>\n<tr>\u9636\u6bb5\u91cd\u70b9\u7ae0\u8282\u76ee\u6807<\/tr>\n<tbody>\n<tr>\n<td>\u5165\u95e8<\/td>\n<td>\u7b2c1\u30012\u30015\u7ae0<\/td>\n<td>\u80fd\u5b89\u88c5Oracle&#xff0c;\u7406\u89e3\u4f53\u7cfb\u7ed3\u6784&#xff0c;\u719f\u7ec3SQL<\/td>\n<\/tr>\n<tr>\n<td>\u8fdb\u9636<\/td>\n<td>\u7b2c3\u30014\u30016\u7ae0<\/td>\n<td>\u638c\u63e1\u5b58\u50a8\u7ba1\u7406\u3001\u5bf9\u8c61\u8bbe\u8ba1\u3001\u5b89\u5168\u914d\u7f6e<\/td>\n<\/tr>\n<tr>\n<td>\u5f00\u53d1<\/td>\n<td>\u7b2c7\u7ae0<\/td>\n<td>\u80fd\u7f16\u5199\u5b58\u50a8\u8fc7\u7a0b\u3001\u5305\u3001\u89e6\u53d1\u5668<\/td>\n<\/tr>\n<tr>\n<td>\u8fd0\u7ef4<\/td>\n<td>\u7b2c8\u30019\u300110\u7ae0<\/td>\n<td>\u638c\u63e1\u5907\u4efd\u6062\u590d\u3001\u95ea\u56de\u3001\u591a\u79df\u6237\u7ba1\u7406<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>\u26a1 \u5173\u952e\u8bb0\u5fc6\u70b9<\/h4>\n<li>\u5b9e\u4f8b \u2260 \u6570\u636e\u5e93&#xff1a;\u5b9e\u4f8b\u662f\u5185\u5b58&#043;\u8fdb\u7a0b&#xff0c;\u6570\u636e\u5e93\u662f\u7269\u7406\u6587\u4ef6<\/li>\n<li>SGA\u662f\u5171\u4eab\u7684&#xff0c;PGA\u662f\u79c1\u6709\u7684<\/li>\n<li>LGWR\u5199Redo \u2192 DBWR\u5199\u6570\u636e \u2192 CKPT\u5199\u68c0\u67e5\u70b9<\/li>\n<li>UNDO\u7528\u4e8e\u56de\u6eda\u548c\u8bfb\u4e00\u81f4\u6027&#xff0c;REDO\u7528\u4e8e\u524d\u6eda\u6062\u590d<\/li>\n<li>\u5f52\u6863\u6a21\u5f0f\u662f\u70ed\u5907\u4efd\u548c\u95ea\u56de\u7684\u524d\u63d0<\/li>\n<li>RMAN\u662f\u751f\u4ea7\u73af\u5883\u5907\u4efd\u6062\u590d\u7684\u9996\u9009\u5de5\u5177<\/li>\n<li>\u95ea\u56de\u6280\u672f\u4f9d\u8d56UNDO\u6216\u95ea\u56de\u65e5\u5fd7&#xff0c;\u4e0d\u80fd\u66ff\u4ee3\u5907\u4efd<\/li>\n<li>\u591a\u79df\u6237\u67b6\u6784\u4e0b&#xff0c;\u516c\u5171\u7528\u6237\u4ee5C##\u5f00\u5934<\/li>\n<li>PDB\u53ef\u4ee5\u72ec\u7acb\u5907\u4efd\u3001\u6062\u590d\u3001\u514b\u9686\u3001\u62d4\u63d2<\/li>\n<li>PL\/SQL\u5f02\u5e38\u5904\u7406\u662f\u4ee3\u7801\u5065\u58ee\u6027\u7684\u5173\u952e<\/li>\n<hr \/>\n<p>&#x1f4dd; \u5199\u5728\u6700\u540e&#xff1a;Oracle 19c\u4f5c\u4e3a\u957f\u671f\u652f\u6301\u7248\u672c&#xff0c;\u5176\u77e5\u8bc6\u4f53\u7cfb\u5e9e\u5927\u800c\u7cbe\u6df1\u3002\u672c\u6587\u4f5c\u4e3a\u901f\u901a\u6307\u5357&#xff0c;\u65e8\u5728\u5e2e\u52a9\u8bfb\u8005\u5feb\u901f\u5efa\u7acb\u5b8c\u6574\u7684\u77e5\u8bc6\u6846\u67b6\u3002\u5b9e\u9645\u5de5\u4f5c\u4e2d&#xff0c;\u6bcf\u4e2a\u4e3b\u9898\u90fd\u503c\u5f97\u6df1\u5165\u7814\u7a76\u3002\u5efa\u8bae\u7ed3\u5408Oracle\u5b98\u65b9\u6587\u6863&#xff08;docs.oracle.com&#xff09;\u548c\u5b9e\u9645\u73af\u5883\u53cd\u590d\u7ec3\u4e60&#xff0c;\u65b9\u80fd\u771f\u6b63\u638c\u63e1\u3002<\/p>\n<p>\u5982\u679c\u672c\u6587\u5bf9\u4f60\u6709\u5e2e\u52a9&#xff0c;\u6b22\u8fce \u70b9\u8d5e\u3001\u6536\u85cf\u3001\u5173\u6ce8 \u4e09\u8fde\u652f\u6301&#xff01;\u6709\u95ee\u9898\u6b22\u8fce\u8bc4\u8bba\u533a\u4ea4\u6d41\u8ba8\u8bba\u3002 &#x1f680;<\/p>\n<hr \/>\n<p>\u672c\u6587\u57fa\u4e8e\u300aOracle\u6570\u636e\u5e93\u5b9e\u7528\u6559\u7a0b(19C)\u300b\u6574\u7406&#xff0c;\u4ec5\u4f9b\u5b66\u4e60\u53c2\u8003\u3002<\/p>\n<hr \/>\n<h2>\u9644\u5f55&#xff1a;Oracle 19c \u6838\u5fc3\u77e5\u8bc6\u53ef\u89c6\u5316\u56fe\u8868\u96c6<\/h2>\n<p>&#x1f4ce; \u9644\u5f55\u8bf4\u660e&#xff1a;\u672c\u9644\u5f55\u4e3a\u300a\u4e07\u5b57\u4e66\u7c4d\u901f\u901a\u4e4b\u3008Oracle\u6570\u636e\u5e93\u5b9e\u7528\u6559\u7a0b(19C)\u3009\u300b\u7684\u914d\u5957\u53ef\u89c6\u5316\u8d44\u6599\u3002\u901a\u8fc7Mermaid\u6d41\u7a0b\u56fe\u3001\u67b6\u6784\u56fe\u3001\u65f6\u5e8f\u56fe\u53ca\u6c47\u603b\u8868\u683c&#xff0c;\u5c06\u6b63\u6587\u4e2d\u62bd\u8c61\u7684\u6982\u5ff5\u5177\u8c61\u5316&#xff0c;\u5e2e\u52a9\u8bfb\u8005\u5efa\u7acb\u76f4\u89c2\u7684\u8ba4\u77e5\u6a21\u578b\u3002\u5efa\u8bae\u4e0e\u6b63\u6587\u5bf9\u7167\u9605\u8bfb\u3002<\/p>\n<hr \/>\n<h3>A.1 Oracle 19c \u4f53\u7cfb\u7ed3\u6784\u5168\u666f\u56fe<\/h3>\n<h4>A.1.1 \u5b9e\u4f8b\u4e0e\u6570\u636e\u5e93\u5173\u7cfb\u603b\u89c8<\/h4>\n<p>#mermaid-svg-t0xhU9JaL4xm4Vpq{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-t0xhU9JaL4xm4Vpq .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-t0xhU9JaL4xm4Vpq .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-t0xhU9JaL4xm4Vpq .error-icon{fill:#552222;}#mermaid-svg-t0xhU9JaL4xm4Vpq .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-t0xhU9JaL4xm4Vpq .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-t0xhU9JaL4xm4Vpq .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-t0xhU9JaL4xm4Vpq .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-t0xhU9JaL4xm4Vpq .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-t0xhU9JaL4xm4Vpq .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-t0xhU9JaL4xm4Vpq .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-t0xhU9JaL4xm4Vpq .marker{fill:#333333;stroke:#333333;}#mermaid-svg-t0xhU9JaL4xm4Vpq .marker.cross{stroke:#333333;}#mermaid-svg-t0xhU9JaL4xm4Vpq svg{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-t0xhU9JaL4xm4Vpq p{margin:0;}#mermaid-svg-t0xhU9JaL4xm4Vpq .label{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;color:#333;}#mermaid-svg-t0xhU9JaL4xm4Vpq .cluster-label text{fill:#333;}#mermaid-svg-t0xhU9JaL4xm4Vpq .cluster-label span{color:#333;}#mermaid-svg-t0xhU9JaL4xm4Vpq .cluster-label span p{background-color:transparent;}#mermaid-svg-t0xhU9JaL4xm4Vpq .label text,#mermaid-svg-t0xhU9JaL4xm4Vpq span{fill:#333;color:#333;}#mermaid-svg-t0xhU9JaL4xm4Vpq .node rect,#mermaid-svg-t0xhU9JaL4xm4Vpq .node circle,#mermaid-svg-t0xhU9JaL4xm4Vpq .node ellipse,#mermaid-svg-t0xhU9JaL4xm4Vpq .node polygon,#mermaid-svg-t0xhU9JaL4xm4Vpq .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-t0xhU9JaL4xm4Vpq .rough-node .label text,#mermaid-svg-t0xhU9JaL4xm4Vpq .node .label text,#mermaid-svg-t0xhU9JaL4xm4Vpq .image-shape .label,#mermaid-svg-t0xhU9JaL4xm4Vpq .icon-shape .label{text-anchor:middle;}#mermaid-svg-t0xhU9JaL4xm4Vpq .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-t0xhU9JaL4xm4Vpq .rough-node .label,#mermaid-svg-t0xhU9JaL4xm4Vpq .node .label,#mermaid-svg-t0xhU9JaL4xm4Vpq .image-shape .label,#mermaid-svg-t0xhU9JaL4xm4Vpq .icon-shape .label{text-align:center;}#mermaid-svg-t0xhU9JaL4xm4Vpq .node.clickable{cursor:pointer;}#mermaid-svg-t0xhU9JaL4xm4Vpq .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-t0xhU9JaL4xm4Vpq .arrowheadPath{fill:#333333;}#mermaid-svg-t0xhU9JaL4xm4Vpq .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-t0xhU9JaL4xm4Vpq .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-t0xhU9JaL4xm4Vpq .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-t0xhU9JaL4xm4Vpq .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-t0xhU9JaL4xm4Vpq .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-t0xhU9JaL4xm4Vpq .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-t0xhU9JaL4xm4Vpq .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-t0xhU9JaL4xm4Vpq .cluster text{fill:#333;}#mermaid-svg-t0xhU9JaL4xm4Vpq .cluster span{color:#333;}#mermaid-svg-t0xhU9JaL4xm4Vpq div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-t0xhU9JaL4xm4Vpq .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-t0xhU9JaL4xm4Vpq rect.text{fill:none;stroke-width:0;}#mermaid-svg-t0xhU9JaL4xm4Vpq .icon-shape,#mermaid-svg-t0xhU9JaL4xm4Vpq .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-t0xhU9JaL4xm4Vpq .icon-shape p,#mermaid-svg-t0xhU9JaL4xm4Vpq .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-t0xhU9JaL4xm4Vpq .icon-shape .label rect,#mermaid-svg-t0xhU9JaL4xm4Vpq .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-t0xhU9JaL4xm4Vpq .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-t0xhU9JaL4xm4Vpq .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-t0xhU9JaL4xm4Vpq :root{&#8211;mermaid-font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;}<span class=\"nodeLabel\"><\/p>\n<p>Oracle Database&#xff08;\u7269\u7406\u6587\u4ef6&#xff09;<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Oracle Instance&#xff08;\u5185\u5b58&#043;\u8fdb\u7a0b&#xff09;<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Server Processes<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Background Processes<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>SGA Components<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u8bfb\u5199\u6570\u636e\u5757<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u5199\u5165\u91cd\u505a\u8bb0\u5f55<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u6301\u4e45\u5316<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u5237\u810f\u5757<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u66f4\u65b0\u6587\u4ef6\u5934<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u66f4\u65b0\u6587\u4ef6\u5934<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u5f52\u6863\u5df2\u6ee1\u65e5\u5fd7<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u5b9e\u4f8b\u6062\u590d<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u5b9e\u4f8b\u6062\u590d<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u6e05\u7406\u5931\u8d25\u8fdb\u7a0b<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u6e05\u7406\u5931\u8d25\u8fdb\u7a0b<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u6e05\u7406\u5931\u8d25\u8fdb\u7a0b<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>AWR\u5feb\u7167<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u79c1\u6709\u5185\u5b58<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u79c1\u6709\u5185\u5b58<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u79c1\u6709\u5185\u5b58<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u8bbf\u95ee<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u8bbf\u95ee<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u8bbf\u95ee<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>SGA (System Global Area)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>PGA (Program Global Area)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Database Buffer Cache<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Shared Pool(Library Cache &#043; Data Dict Cache)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Redo Log Buffer<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Large Pool<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Java Pool<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Streams Pool<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>DBWRDatabase Writer<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>LGWRLog Writer<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>SMONSystem Monitor<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>PMONProcess Monitor<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>CKPTCheckpoint<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>ARCnArchiver<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>MMONManageability Monitor<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>RECORecoverer<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Dedicated Server Process 1<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Dedicated Server Process 2<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Dedicated Server Process N<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Data Files(\u8868\u7a7a\u95f4\u6570\u636e)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Control Files(\u6570\u636e\u5e93\u5143\u6570\u636e)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Online Redo Log Files(\u91cd\u505a\u65e5\u5fd7)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Archive Log Files(\u5f52\u6863\u65e5\u5fd7)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Parameter File(SPFILE\/PFILE)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Password File<\/p>\n<p><\/span><\/p>\n<h4>A.1.2 SGA \u5185\u5b58\u7ec4\u4ef6\u4ea4\u4e92\u6d41\u7a0b<\/h4>\n<p>#mermaid-svg-jCoKq2ia2T71Ctlo{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-jCoKq2ia2T71Ctlo .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-jCoKq2ia2T71Ctlo .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-jCoKq2ia2T71Ctlo .error-icon{fill:#552222;}#mermaid-svg-jCoKq2ia2T71Ctlo .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-jCoKq2ia2T71Ctlo .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-jCoKq2ia2T71Ctlo .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-jCoKq2ia2T71Ctlo .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-jCoKq2ia2T71Ctlo .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-jCoKq2ia2T71Ctlo .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-jCoKq2ia2T71Ctlo .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-jCoKq2ia2T71Ctlo .marker{fill:#333333;stroke:#333333;}#mermaid-svg-jCoKq2ia2T71Ctlo .marker.cross{stroke:#333333;}#mermaid-svg-jCoKq2ia2T71Ctlo svg{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-jCoKq2ia2T71Ctlo p{margin:0;}#mermaid-svg-jCoKq2ia2T71Ctlo .label{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;color:#333;}#mermaid-svg-jCoKq2ia2T71Ctlo .cluster-label text{fill:#333;}#mermaid-svg-jCoKq2ia2T71Ctlo .cluster-label span{color:#333;}#mermaid-svg-jCoKq2ia2T71Ctlo .cluster-label span p{background-color:transparent;}#mermaid-svg-jCoKq2ia2T71Ctlo .label text,#mermaid-svg-jCoKq2ia2T71Ctlo span{fill:#333;color:#333;}#mermaid-svg-jCoKq2ia2T71Ctlo .node rect,#mermaid-svg-jCoKq2ia2T71Ctlo .node circle,#mermaid-svg-jCoKq2ia2T71Ctlo .node ellipse,#mermaid-svg-jCoKq2ia2T71Ctlo .node polygon,#mermaid-svg-jCoKq2ia2T71Ctlo .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-jCoKq2ia2T71Ctlo .rough-node .label text,#mermaid-svg-jCoKq2ia2T71Ctlo .node .label text,#mermaid-svg-jCoKq2ia2T71Ctlo .image-shape .label,#mermaid-svg-jCoKq2ia2T71Ctlo .icon-shape .label{text-anchor:middle;}#mermaid-svg-jCoKq2ia2T71Ctlo .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-jCoKq2ia2T71Ctlo .rough-node .label,#mermaid-svg-jCoKq2ia2T71Ctlo .node .label,#mermaid-svg-jCoKq2ia2T71Ctlo .image-shape .label,#mermaid-svg-jCoKq2ia2T71Ctlo .icon-shape .label{text-align:center;}#mermaid-svg-jCoKq2ia2T71Ctlo .node.clickable{cursor:pointer;}#mermaid-svg-jCoKq2ia2T71Ctlo .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-jCoKq2ia2T71Ctlo .arrowheadPath{fill:#333333;}#mermaid-svg-jCoKq2ia2T71Ctlo .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-jCoKq2ia2T71Ctlo .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-jCoKq2ia2T71Ctlo .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-jCoKq2ia2T71Ctlo .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-jCoKq2ia2T71Ctlo .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-jCoKq2ia2T71Ctlo .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-jCoKq2ia2T71Ctlo .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-jCoKq2ia2T71Ctlo .cluster text{fill:#333;}#mermaid-svg-jCoKq2ia2T71Ctlo .cluster span{color:#333;}#mermaid-svg-jCoKq2ia2T71Ctlo div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-jCoKq2ia2T71Ctlo .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-jCoKq2ia2T71Ctlo rect.text{fill:none;stroke-width:0;}#mermaid-svg-jCoKq2ia2T71Ctlo .icon-shape,#mermaid-svg-jCoKq2ia2T71Ctlo .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-jCoKq2ia2T71Ctlo .icon-shape p,#mermaid-svg-jCoKq2ia2T71Ctlo .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-jCoKq2ia2T71Ctlo .icon-shape .label rect,#mermaid-svg-jCoKq2ia2T71Ctlo .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-jCoKq2ia2T71Ctlo .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-jCoKq2ia2T71Ctlo .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-jCoKq2ia2T71Ctlo :root{&#8211;mermaid-font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;}<span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u547d\u4e2d\u7f13\u5b58<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u672a\u547d\u4e2d<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u8bfb\u53d6\u6570\u636e<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>Cache Hit<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>Cache Miss<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u52a0\u8f7d\u6570\u636e\u5757<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u4ea7\u751f\u53d8\u66f4<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>LGWR\u5199\u5165<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>DBWR\u5b9a\u671f\u5237\u76d8<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u5ba2\u6237\u7aefSQL\u8bf7\u6c42<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u89e3\u6790\u9636\u6bb5(Shared Pool)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u6267\u884c\u9636\u6bb5<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u786c\u89e3\u6790(\u751f\u6210\u6267\u884c\u8ba1\u5212)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Database Buffer Cache<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u8fd4\u56de\u7ed3\u679c<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u78c1\u76d8I\/O(Data Files)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Redo Log Buffer<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Online Redo Log<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Data Files<\/p>\n<p><\/span><\/p>\n<hr \/>\n<h3>A.2 SQL\u8bed\u53e5\u5904\u7406\u5168\u6d41\u7a0b<\/h3>\n<h4>A.2.1 SELECT \u8bed\u53e5\u5b8c\u6574\u751f\u547d\u5468\u671f<\/h4>\n<p>Redo Log BufferData FilesBuffer CacheShared PoolServer ProcessClientRedo Log BufferData FilesBuffer CacheShared PoolServer ProcessClient#mermaid-svg-AU28f0R6GGeGMN0J{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-AU28f0R6GGeGMN0J .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-AU28f0R6GGeGMN0J .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-AU28f0R6GGeGMN0J .error-icon{fill:#552222;}#mermaid-svg-AU28f0R6GGeGMN0J .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-AU28f0R6GGeGMN0J .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-AU28f0R6GGeGMN0J .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-AU28f0R6GGeGMN0J .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-AU28f0R6GGeGMN0J .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-AU28f0R6GGeGMN0J .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-AU28f0R6GGeGMN0J .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-AU28f0R6GGeGMN0J .marker{fill:#333333;stroke:#333333;}#mermaid-svg-AU28f0R6GGeGMN0J .marker.cross{stroke:#333333;}#mermaid-svg-AU28f0R6GGeGMN0J svg{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-AU28f0R6GGeGMN0J p{margin:0;}#mermaid-svg-AU28f0R6GGeGMN0J .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-AU28f0R6GGeGMN0J text.actor&gt;tspan{fill:black;stroke:none;}#mermaid-svg-AU28f0R6GGeGMN0J .actor-line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-AU28f0R6GGeGMN0J .innerArc{stroke-width:1.5;stroke-dasharray:none;}#mermaid-svg-AU28f0R6GGeGMN0J .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-AU28f0R6GGeGMN0J .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-AU28f0R6GGeGMN0J #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-AU28f0R6GGeGMN0J .sequenceNumber{fill:white;}#mermaid-svg-AU28f0R6GGeGMN0J #sequencenumber{fill:#333;}#mermaid-svg-AU28f0R6GGeGMN0J #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-AU28f0R6GGeGMN0J .messageText{fill:#333;stroke:none;}#mermaid-svg-AU28f0R6GGeGMN0J .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-AU28f0R6GGeGMN0J .labelText,#mermaid-svg-AU28f0R6GGeGMN0J .labelText&gt;tspan{fill:black;stroke:none;}#mermaid-svg-AU28f0R6GGeGMN0J .loopText,#mermaid-svg-AU28f0R6GGeGMN0J .loopText&gt;tspan{fill:black;stroke:none;}#mermaid-svg-AU28f0R6GGeGMN0J .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-AU28f0R6GGeGMN0J .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-AU28f0R6GGeGMN0J .noteText,#mermaid-svg-AU28f0R6GGeGMN0J .noteText&gt;tspan{fill:black;stroke:none;}#mermaid-svg-AU28f0R6GGeGMN0J .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-AU28f0R6GGeGMN0J .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-AU28f0R6GGeGMN0J .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-AU28f0R6GGeGMN0J .actorPopupMenu{position:absolute;}#mermaid-svg-AU28f0R6GGeGMN0J .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 \/ 0.4));}#mermaid-svg-AU28f0R6GGeGMN0J .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-AU28f0R6GGeGMN0J .actor-man circle,#mermaid-svg-AU28f0R6GGeGMN0J line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-AU28f0R6GGeGMN0J :root{&#8211;mermaid-font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;}\u9a8c\u8bc1\u8868\/\u5217\u662f\u5426\u5b58\u5728CBO\u8bc4\u4f30\u591a\u79cd\u6267\u884c\u8ba1\u5212\u9009\u62e9\u6700\u4f18\u8def\u5f84alt[Soft Parse (\u7f13\u5b58\u547d\u4e2d)][Hard Parse (\u7f13\u5b58\u672a\u547d\u4e2d)]alt[Buffer Cache Hit][Buffer Cache Miss]\u53ef\u80fd\u591a\u6b21Fetch\u76f4\u5230\u5168\u90e8\u8fd4\u56de\u53d1\u9001SQL\u8bed\u53e51. \u8bed\u6cd5\u68c0\u67e5(Syntax Check)\u8bed\u6cd5\u6b63\u786e2. \u8bed\u4e49\u68c0\u67e5(Semantic Check)\u8bed\u4e49\u6b63\u786e3. \u6743\u9650\u68c0\u67e5(Permission Check)\u6743\u9650\u901a\u8fc74. \u67e5\u627e\u5171\u4eab\u6c60(Library Cache)\u627e\u5230\u5df2\u6709\u6267\u884c\u8ba1\u52125. \u67e5\u8be2\u4f18\u5316\u5668(Optimizer)6. \u7f13\u5b58\u6267\u884c\u8ba1\u52127. \u884c\u6e90\u751f\u6210(Row Source Generation)8. \u6267\u884c(Fetch\u6570\u636e\u5757)\u76f4\u63a5\u4ece\u5185\u5b58\u8fd4\u56de\u7269\u7406\u8bfb\u53d6\u52a0\u8f7d\u6570\u636e\u5757\u4ece\u7f13\u5b58\u8fd4\u56de9. \u9010\u884c\u8fd4\u56de\u7ed3\u679c\u96c6(Fetch)<\/p>\n<h4>A.2.2 DML (INSERT\/UPDATE\/DELETE) \u5904\u7406\u6d41\u7a0b<\/h4>\n<p>#mermaid-svg-MP9b6xQIU6cVEASt{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-MP9b6xQIU6cVEASt .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-MP9b6xQIU6cVEASt .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-MP9b6xQIU6cVEASt .error-icon{fill:#552222;}#mermaid-svg-MP9b6xQIU6cVEASt .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-MP9b6xQIU6cVEASt .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-MP9b6xQIU6cVEASt .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-MP9b6xQIU6cVEASt .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-MP9b6xQIU6cVEASt .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-MP9b6xQIU6cVEASt .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-MP9b6xQIU6cVEASt .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-MP9b6xQIU6cVEASt .marker{fill:#333333;stroke:#333333;}#mermaid-svg-MP9b6xQIU6cVEASt .marker.cross{stroke:#333333;}#mermaid-svg-MP9b6xQIU6cVEASt svg{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-MP9b6xQIU6cVEASt p{margin:0;}#mermaid-svg-MP9b6xQIU6cVEASt .label{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;color:#333;}#mermaid-svg-MP9b6xQIU6cVEASt .cluster-label text{fill:#333;}#mermaid-svg-MP9b6xQIU6cVEASt .cluster-label span{color:#333;}#mermaid-svg-MP9b6xQIU6cVEASt .cluster-label span p{background-color:transparent;}#mermaid-svg-MP9b6xQIU6cVEASt .label text,#mermaid-svg-MP9b6xQIU6cVEASt span{fill:#333;color:#333;}#mermaid-svg-MP9b6xQIU6cVEASt .node rect,#mermaid-svg-MP9b6xQIU6cVEASt .node circle,#mermaid-svg-MP9b6xQIU6cVEASt .node ellipse,#mermaid-svg-MP9b6xQIU6cVEASt .node polygon,#mermaid-svg-MP9b6xQIU6cVEASt .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-MP9b6xQIU6cVEASt .rough-node .label text,#mermaid-svg-MP9b6xQIU6cVEASt .node .label text,#mermaid-svg-MP9b6xQIU6cVEASt .image-shape .label,#mermaid-svg-MP9b6xQIU6cVEASt .icon-shape .label{text-anchor:middle;}#mermaid-svg-MP9b6xQIU6cVEASt .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-MP9b6xQIU6cVEASt .rough-node .label,#mermaid-svg-MP9b6xQIU6cVEASt .node .label,#mermaid-svg-MP9b6xQIU6cVEASt .image-shape .label,#mermaid-svg-MP9b6xQIU6cVEASt .icon-shape .label{text-align:center;}#mermaid-svg-MP9b6xQIU6cVEASt .node.clickable{cursor:pointer;}#mermaid-svg-MP9b6xQIU6cVEASt .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-MP9b6xQIU6cVEASt .arrowheadPath{fill:#333333;}#mermaid-svg-MP9b6xQIU6cVEASt .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-MP9b6xQIU6cVEASt .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-MP9b6xQIU6cVEASt .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-MP9b6xQIU6cVEASt .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-MP9b6xQIU6cVEASt .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-MP9b6xQIU6cVEASt .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-MP9b6xQIU6cVEASt .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-MP9b6xQIU6cVEASt .cluster text{fill:#333;}#mermaid-svg-MP9b6xQIU6cVEASt .cluster span{color:#333;}#mermaid-svg-MP9b6xQIU6cVEASt div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-MP9b6xQIU6cVEASt .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-MP9b6xQIU6cVEASt rect.text{fill:none;stroke-width:0;}#mermaid-svg-MP9b6xQIU6cVEASt .icon-shape,#mermaid-svg-MP9b6xQIU6cVEASt .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-MP9b6xQIU6cVEASt .icon-shape p,#mermaid-svg-MP9b6xQIU6cVEASt .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-MP9b6xQIU6cVEASt .icon-shape .label rect,#mermaid-svg-MP9b6xQIU6cVEASt .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-MP9b6xQIU6cVEASt .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-MP9b6xQIU6cVEASt .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-MP9b6xQIU6cVEASt :root{&#8211;mermaid-font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;}<span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u7528\u6237\u53d1\u51faCOMMIT<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u7528\u6237\u53d1\u51faROLLBACK<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u5b9e\u4f8b\u5d29\u6e83<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"nodeLabel\"><\/p>\n<p>DML\u8bed\u53e5\u63d0\u4ea4<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u89e3\u6790 &amp; \u6743\u9650\u68c0\u67e5<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u83b7\u53d6\u6570\u636e\u5757\u5230Buffer Cache<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u751f\u6210UNDO\u8bb0\u5f55(\u4fee\u6539\u524d\u7684\u65e7\u503c)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u4fee\u6539Buffer Cache\u4e2d\u7684\u6570\u636e\u5757(\u6807\u8bb0\u4e3aDirty Buffer)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u751f\u6210REDO\u8bb0\u5f55\u5199\u5165Redo Log Buffer<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u5bf9\u4fee\u6539\u7684\u884c\u52a0\u9501<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u7b49\u5f85COMMIT?<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>LGWR\u5c06Redo Buffer\u5199\u5165Online Redo Log<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u4e8b\u52a1\u63d0\u4ea4\u6210\u529f(\u6570\u636e\u5df2\u6301\u4e45\u5316\u5230\u65e5\u5fd7)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>DBWR\u5f02\u6b65\u5c06\u810f\u5757\u5199\u5165Data Files<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u4f7f\u7528UNDO\u8bb0\u5f55\u56de\u6eda\u4fee\u6539<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u4e8b\u52a1\u56de\u6eda\u5b8c\u6210<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>SMON\u5b9e\u4f8b\u6062\u590d:\u524d\u6eda(Redo)&#043;\u56de\u6eda(Undo)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u7ed3\u675f<\/p>\n<p><\/span><\/p>\n<hr \/>\n<h3>A.3 \u5b58\u50a8\u7ed3\u6784\u5c42\u6b21\u5173\u7cfb\u56fe<\/h3>\n<h4>A.3.1 \u903b\u8f91\u5b58\u50a8 vs \u7269\u7406\u5b58\u50a8\u6620\u5c04<\/h4>\n<p>#mermaid-svg-LgM1tUxc1BN1LHn7{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-LgM1tUxc1BN1LHn7 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-LgM1tUxc1BN1LHn7 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-LgM1tUxc1BN1LHn7 .error-icon{fill:#552222;}#mermaid-svg-LgM1tUxc1BN1LHn7 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-LgM1tUxc1BN1LHn7 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-LgM1tUxc1BN1LHn7 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-LgM1tUxc1BN1LHn7 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-LgM1tUxc1BN1LHn7 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-LgM1tUxc1BN1LHn7 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-LgM1tUxc1BN1LHn7 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-LgM1tUxc1BN1LHn7 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-LgM1tUxc1BN1LHn7 .marker.cross{stroke:#333333;}#mermaid-svg-LgM1tUxc1BN1LHn7 svg{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-LgM1tUxc1BN1LHn7 p{margin:0;}#mermaid-svg-LgM1tUxc1BN1LHn7 .label{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;color:#333;}#mermaid-svg-LgM1tUxc1BN1LHn7 .cluster-label text{fill:#333;}#mermaid-svg-LgM1tUxc1BN1LHn7 .cluster-label span{color:#333;}#mermaid-svg-LgM1tUxc1BN1LHn7 .cluster-label span p{background-color:transparent;}#mermaid-svg-LgM1tUxc1BN1LHn7 .label text,#mermaid-svg-LgM1tUxc1BN1LHn7 span{fill:#333;color:#333;}#mermaid-svg-LgM1tUxc1BN1LHn7 .node rect,#mermaid-svg-LgM1tUxc1BN1LHn7 .node circle,#mermaid-svg-LgM1tUxc1BN1LHn7 .node ellipse,#mermaid-svg-LgM1tUxc1BN1LHn7 .node polygon,#mermaid-svg-LgM1tUxc1BN1LHn7 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-LgM1tUxc1BN1LHn7 .rough-node .label text,#mermaid-svg-LgM1tUxc1BN1LHn7 .node .label text,#mermaid-svg-LgM1tUxc1BN1LHn7 .image-shape .label,#mermaid-svg-LgM1tUxc1BN1LHn7 .icon-shape .label{text-anchor:middle;}#mermaid-svg-LgM1tUxc1BN1LHn7 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-LgM1tUxc1BN1LHn7 .rough-node .label,#mermaid-svg-LgM1tUxc1BN1LHn7 .node .label,#mermaid-svg-LgM1tUxc1BN1LHn7 .image-shape .label,#mermaid-svg-LgM1tUxc1BN1LHn7 .icon-shape .label{text-align:center;}#mermaid-svg-LgM1tUxc1BN1LHn7 .node.clickable{cursor:pointer;}#mermaid-svg-LgM1tUxc1BN1LHn7 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-LgM1tUxc1BN1LHn7 .arrowheadPath{fill:#333333;}#mermaid-svg-LgM1tUxc1BN1LHn7 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-LgM1tUxc1BN1LHn7 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-LgM1tUxc1BN1LHn7 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-LgM1tUxc1BN1LHn7 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-LgM1tUxc1BN1LHn7 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-LgM1tUxc1BN1LHn7 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-LgM1tUxc1BN1LHn7 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-LgM1tUxc1BN1LHn7 .cluster text{fill:#333;}#mermaid-svg-LgM1tUxc1BN1LHn7 .cluster span{color:#333;}#mermaid-svg-LgM1tUxc1BN1LHn7 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-LgM1tUxc1BN1LHn7 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-LgM1tUxc1BN1LHn7 rect.text{fill:none;stroke-width:0;}#mermaid-svg-LgM1tUxc1BN1LHn7 .icon-shape,#mermaid-svg-LgM1tUxc1BN1LHn7 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-LgM1tUxc1BN1LHn7 .icon-shape p,#mermaid-svg-LgM1tUxc1BN1LHn7 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-LgM1tUxc1BN1LHn7 .icon-shape .label rect,#mermaid-svg-LgM1tUxc1BN1LHn7 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-LgM1tUxc1BN1LHn7 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-LgM1tUxc1BN1LHn7 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-LgM1tUxc1BN1LHn7 :root{&#8211;mermaid-font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;}<span class=\"nodeLabel\"><\/p>\n<p>\u7269\u7406\u5b58\u50a8\u7ed3\u6784<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u903b\u8f91\u5b58\u50a8\u7ed3\u6784<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u5305\u542b<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u5305\u542b<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u5305\u542b<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Database<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Tablespace: USERS<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Tablespace: TEMP<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Tablespace: UNDOTBS1<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Segment: EMPLOYEES Table<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Segment: IDX_EMP_NAME Index<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Segment: Temporary Segment<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Segment: Undo Segment<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Extent 1 (64KB)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Extent 2 (64KB)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Extent 3 (1MB)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Block 1 (8KB)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Block 2 (8KB)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Block N (8KB)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>users01.dbf (500MB)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>temp01.dbf (2GB)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>undotbs01.dbf (2GB)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>control01.ctl<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>redo01.log<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>redo02.log<\/p>\n<p><\/span><\/p>\n<h4>A.3.2 \u8868\u7a7a\u95f4\u7c7b\u578b\u4e0e\u7528\u9014\u5bf9\u7167<\/h4>\n<p>#mermaid-svg-HOFy50rSeqD3pFXB{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-HOFy50rSeqD3pFXB .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-HOFy50rSeqD3pFXB .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-HOFy50rSeqD3pFXB .error-icon{fill:#552222;}#mermaid-svg-HOFy50rSeqD3pFXB .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-HOFy50rSeqD3pFXB .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-HOFy50rSeqD3pFXB .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-HOFy50rSeqD3pFXB .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-HOFy50rSeqD3pFXB .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-HOFy50rSeqD3pFXB .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-HOFy50rSeqD3pFXB .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-HOFy50rSeqD3pFXB .marker{fill:#333333;stroke:#333333;}#mermaid-svg-HOFy50rSeqD3pFXB .marker.cross{stroke:#333333;}#mermaid-svg-HOFy50rSeqD3pFXB svg{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-HOFy50rSeqD3pFXB p{margin:0;}#mermaid-svg-HOFy50rSeqD3pFXB .edge{stroke-width:3;}#mermaid-svg-HOFy50rSeqD3pFXB .section&#8211;1 rect,#mermaid-svg-HOFy50rSeqD3pFXB .section&#8211;1 path,#mermaid-svg-HOFy50rSeqD3pFXB .section&#8211;1 circle,#mermaid-svg-HOFy50rSeqD3pFXB .section&#8211;1 polygon,#mermaid-svg-HOFy50rSeqD3pFXB .section&#8211;1 path{fill:hsl(240, 100%, 76.2745098039%);}#mermaid-svg-HOFy50rSeqD3pFXB .section&#8211;1 text{fill:#ffffff;}#mermaid-svg-HOFy50rSeqD3pFXB .node-icon&#8211;1{font-size:40px;color:#ffffff;}#mermaid-svg-HOFy50rSeqD3pFXB .section-edge&#8211;1{stroke:hsl(240, 100%, 76.2745098039%);}#mermaid-svg-HOFy50rSeqD3pFXB .edge-depth&#8211;1{stroke-width:17;}#mermaid-svg-HOFy50rSeqD3pFXB .section&#8211;1 line{stroke:hsl(60, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-HOFy50rSeqD3pFXB .disabled,#mermaid-svg-HOFy50rSeqD3pFXB .disabled circle,#mermaid-svg-HOFy50rSeqD3pFXB .disabled text{fill:lightgray;}#mermaid-svg-HOFy50rSeqD3pFXB .disabled text{fill:#efefef;}#mermaid-svg-HOFy50rSeqD3pFXB .section-0 rect,#mermaid-svg-HOFy50rSeqD3pFXB .section-0 path,#mermaid-svg-HOFy50rSeqD3pFXB .section-0 circle,#mermaid-svg-HOFy50rSeqD3pFXB .section-0 polygon,#mermaid-svg-HOFy50rSeqD3pFXB .section-0 path{fill:hsl(60, 100%, 73.5294117647%);}#mermaid-svg-HOFy50rSeqD3pFXB .section-0 text{fill:black;}#mermaid-svg-HOFy50rSeqD3pFXB .node-icon-0{font-size:40px;color:black;}#mermaid-svg-HOFy50rSeqD3pFXB .section-edge-0{stroke:hsl(60, 100%, 73.5294117647%);}#mermaid-svg-HOFy50rSeqD3pFXB .edge-depth-0{stroke-width:14;}#mermaid-svg-HOFy50rSeqD3pFXB .section-0 line{stroke:hsl(240, 100%, 83.5294117647%);stroke-width:3;}#mermaid-svg-HOFy50rSeqD3pFXB .disabled,#mermaid-svg-HOFy50rSeqD3pFXB .disabled circle,#mermaid-svg-HOFy50rSeqD3pFXB .disabled text{fill:lightgray;}#mermaid-svg-HOFy50rSeqD3pFXB .disabled text{fill:#efefef;}#mermaid-svg-HOFy50rSeqD3pFXB .section-1 rect,#mermaid-svg-HOFy50rSeqD3pFXB .section-1 path,#mermaid-svg-HOFy50rSeqD3pFXB .section-1 circle,#mermaid-svg-HOFy50rSeqD3pFXB .section-1 polygon,#mermaid-svg-HOFy50rSeqD3pFXB .section-1 path{fill:hsl(80, 100%, 76.2745098039%);}#mermaid-svg-HOFy50rSeqD3pFXB .section-1 text{fill:black;}#mermaid-svg-HOFy50rSeqD3pFXB .node-icon-1{font-size:40px;color:black;}#mermaid-svg-HOFy50rSeqD3pFXB .section-edge-1{stroke:hsl(80, 100%, 76.2745098039%);}#mermaid-svg-HOFy50rSeqD3pFXB .edge-depth-1{stroke-width:11;}#mermaid-svg-HOFy50rSeqD3pFXB .section-1 line{stroke:hsl(260, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-HOFy50rSeqD3pFXB .disabled,#mermaid-svg-HOFy50rSeqD3pFXB .disabled circle,#mermaid-svg-HOFy50rSeqD3pFXB .disabled text{fill:lightgray;}#mermaid-svg-HOFy50rSeqD3pFXB .disabled text{fill:#efefef;}#mermaid-svg-HOFy50rSeqD3pFXB .section-2 rect,#mermaid-svg-HOFy50rSeqD3pFXB .section-2 path,#mermaid-svg-HOFy50rSeqD3pFXB .section-2 circle,#mermaid-svg-HOFy50rSeqD3pFXB .section-2 polygon,#mermaid-svg-HOFy50rSeqD3pFXB .section-2 path{fill:hsl(270, 100%, 76.2745098039%);}#mermaid-svg-HOFy50rSeqD3pFXB .section-2 text{fill:#ffffff;}#mermaid-svg-HOFy50rSeqD3pFXB .node-icon-2{font-size:40px;color:#ffffff;}#mermaid-svg-HOFy50rSeqD3pFXB .section-edge-2{stroke:hsl(270, 100%, 76.2745098039%);}#mermaid-svg-HOFy50rSeqD3pFXB .edge-depth-2{stroke-width:8;}#mermaid-svg-HOFy50rSeqD3pFXB .section-2 line{stroke:hsl(90, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-HOFy50rSeqD3pFXB .disabled,#mermaid-svg-HOFy50rSeqD3pFXB .disabled circle,#mermaid-svg-HOFy50rSeqD3pFXB .disabled text{fill:lightgray;}#mermaid-svg-HOFy50rSeqD3pFXB .disabled text{fill:#efefef;}#mermaid-svg-HOFy50rSeqD3pFXB .section-3 rect,#mermaid-svg-HOFy50rSeqD3pFXB .section-3 path,#mermaid-svg-HOFy50rSeqD3pFXB .section-3 circle,#mermaid-svg-HOFy50rSeqD3pFXB .section-3 polygon,#mermaid-svg-HOFy50rSeqD3pFXB .section-3 path{fill:hsl(300, 100%, 76.2745098039%);}#mermaid-svg-HOFy50rSeqD3pFXB .section-3 text{fill:black;}#mermaid-svg-HOFy50rSeqD3pFXB .node-icon-3{font-size:40px;color:black;}#mermaid-svg-HOFy50rSeqD3pFXB .section-edge-3{stroke:hsl(300, 100%, 76.2745098039%);}#mermaid-svg-HOFy50rSeqD3pFXB .edge-depth-3{stroke-width:5;}#mermaid-svg-HOFy50rSeqD3pFXB .section-3 line{stroke:hsl(120, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-HOFy50rSeqD3pFXB .disabled,#mermaid-svg-HOFy50rSeqD3pFXB .disabled circle,#mermaid-svg-HOFy50rSeqD3pFXB .disabled text{fill:lightgray;}#mermaid-svg-HOFy50rSeqD3pFXB .disabled text{fill:#efefef;}#mermaid-svg-HOFy50rSeqD3pFXB .section-4 rect,#mermaid-svg-HOFy50rSeqD3pFXB .section-4 path,#mermaid-svg-HOFy50rSeqD3pFXB .section-4 circle,#mermaid-svg-HOFy50rSeqD3pFXB .section-4 polygon,#mermaid-svg-HOFy50rSeqD3pFXB .section-4 path{fill:hsl(330, 100%, 76.2745098039%);}#mermaid-svg-HOFy50rSeqD3pFXB .section-4 text{fill:black;}#mermaid-svg-HOFy50rSeqD3pFXB .node-icon-4{font-size:40px;color:black;}#mermaid-svg-HOFy50rSeqD3pFXB .section-edge-4{stroke:hsl(330, 100%, 76.2745098039%);}#mermaid-svg-HOFy50rSeqD3pFXB .edge-depth-4{stroke-width:2;}#mermaid-svg-HOFy50rSeqD3pFXB .section-4 line{stroke:hsl(150, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-HOFy50rSeqD3pFXB .disabled,#mermaid-svg-HOFy50rSeqD3pFXB .disabled circle,#mermaid-svg-HOFy50rSeqD3pFXB .disabled text{fill:lightgray;}#mermaid-svg-HOFy50rSeqD3pFXB .disabled text{fill:#efefef;}#mermaid-svg-HOFy50rSeqD3pFXB .section-5 rect,#mermaid-svg-HOFy50rSeqD3pFXB .section-5 path,#mermaid-svg-HOFy50rSeqD3pFXB .section-5 circle,#mermaid-svg-HOFy50rSeqD3pFXB .section-5 polygon,#mermaid-svg-HOFy50rSeqD3pFXB .section-5 path{fill:hsl(0, 100%, 76.2745098039%);}#mermaid-svg-HOFy50rSeqD3pFXB .section-5 text{fill:black;}#mermaid-svg-HOFy50rSeqD3pFXB .node-icon-5{font-size:40px;color:black;}#mermaid-svg-HOFy50rSeqD3pFXB .section-edge-5{stroke:hsl(0, 100%, 76.2745098039%);}#mermaid-svg-HOFy50rSeqD3pFXB .edge-depth-5{stroke-width:-1;}#mermaid-svg-HOFy50rSeqD3pFXB .section-5 line{stroke:hsl(180, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-HOFy50rSeqD3pFXB .disabled,#mermaid-svg-HOFy50rSeqD3pFXB .disabled circle,#mermaid-svg-HOFy50rSeqD3pFXB .disabled text{fill:lightgray;}#mermaid-svg-HOFy50rSeqD3pFXB .disabled text{fill:#efefef;}#mermaid-svg-HOFy50rSeqD3pFXB .section-6 rect,#mermaid-svg-HOFy50rSeqD3pFXB .section-6 path,#mermaid-svg-HOFy50rSeqD3pFXB .section-6 circle,#mermaid-svg-HOFy50rSeqD3pFXB .section-6 polygon,#mermaid-svg-HOFy50rSeqD3pFXB .section-6 path{fill:hsl(30, 100%, 76.2745098039%);}#mermaid-svg-HOFy50rSeqD3pFXB .section-6 text{fill:black;}#mermaid-svg-HOFy50rSeqD3pFXB .node-icon-6{font-size:40px;color:black;}#mermaid-svg-HOFy50rSeqD3pFXB .section-edge-6{stroke:hsl(30, 100%, 76.2745098039%);}#mermaid-svg-HOFy50rSeqD3pFXB .edge-depth-6{stroke-width:-4;}#mermaid-svg-HOFy50rSeqD3pFXB .section-6 line{stroke:hsl(210, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-HOFy50rSeqD3pFXB .disabled,#mermaid-svg-HOFy50rSeqD3pFXB .disabled circle,#mermaid-svg-HOFy50rSeqD3pFXB .disabled text{fill:lightgray;}#mermaid-svg-HOFy50rSeqD3pFXB .disabled text{fill:#efefef;}#mermaid-svg-HOFy50rSeqD3pFXB .section-7 rect,#mermaid-svg-HOFy50rSeqD3pFXB .section-7 path,#mermaid-svg-HOFy50rSeqD3pFXB .section-7 circle,#mermaid-svg-HOFy50rSeqD3pFXB .section-7 polygon,#mermaid-svg-HOFy50rSeqD3pFXB .section-7 path{fill:hsl(90, 100%, 76.2745098039%);}#mermaid-svg-HOFy50rSeqD3pFXB .section-7 text{fill:black;}#mermaid-svg-HOFy50rSeqD3pFXB .node-icon-7{font-size:40px;color:black;}#mermaid-svg-HOFy50rSeqD3pFXB .section-edge-7{stroke:hsl(90, 100%, 76.2745098039%);}#mermaid-svg-HOFy50rSeqD3pFXB .edge-depth-7{stroke-width:-7;}#mermaid-svg-HOFy50rSeqD3pFXB .section-7 line{stroke:hsl(270, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-HOFy50rSeqD3pFXB .disabled,#mermaid-svg-HOFy50rSeqD3pFXB .disabled circle,#mermaid-svg-HOFy50rSeqD3pFXB .disabled text{fill:lightgray;}#mermaid-svg-HOFy50rSeqD3pFXB .disabled text{fill:#efefef;}#mermaid-svg-HOFy50rSeqD3pFXB .section-8 rect,#mermaid-svg-HOFy50rSeqD3pFXB .section-8 path,#mermaid-svg-HOFy50rSeqD3pFXB .section-8 circle,#mermaid-svg-HOFy50rSeqD3pFXB .section-8 polygon,#mermaid-svg-HOFy50rSeqD3pFXB .section-8 path{fill:hsl(150, 100%, 76.2745098039%);}#mermaid-svg-HOFy50rSeqD3pFXB .section-8 text{fill:black;}#mermaid-svg-HOFy50rSeqD3pFXB .node-icon-8{font-size:40px;color:black;}#mermaid-svg-HOFy50rSeqD3pFXB .section-edge-8{stroke:hsl(150, 100%, 76.2745098039%);}#mermaid-svg-HOFy50rSeqD3pFXB .edge-depth-8{stroke-width:-10;}#mermaid-svg-HOFy50rSeqD3pFXB .section-8 line{stroke:hsl(330, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-HOFy50rSeqD3pFXB .disabled,#mermaid-svg-HOFy50rSeqD3pFXB .disabled circle,#mermaid-svg-HOFy50rSeqD3pFXB .disabled text{fill:lightgray;}#mermaid-svg-HOFy50rSeqD3pFXB .disabled text{fill:#efefef;}#mermaid-svg-HOFy50rSeqD3pFXB .section-9 rect,#mermaid-svg-HOFy50rSeqD3pFXB .section-9 path,#mermaid-svg-HOFy50rSeqD3pFXB .section-9 circle,#mermaid-svg-HOFy50rSeqD3pFXB .section-9 polygon,#mermaid-svg-HOFy50rSeqD3pFXB .section-9 path{fill:hsl(180, 100%, 76.2745098039%);}#mermaid-svg-HOFy50rSeqD3pFXB .section-9 text{fill:black;}#mermaid-svg-HOFy50rSeqD3pFXB .node-icon-9{font-size:40px;color:black;}#mermaid-svg-HOFy50rSeqD3pFXB .section-edge-9{stroke:hsl(180, 100%, 76.2745098039%);}#mermaid-svg-HOFy50rSeqD3pFXB .edge-depth-9{stroke-width:-13;}#mermaid-svg-HOFy50rSeqD3pFXB .section-9 line{stroke:hsl(0, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-HOFy50rSeqD3pFXB .disabled,#mermaid-svg-HOFy50rSeqD3pFXB .disabled circle,#mermaid-svg-HOFy50rSeqD3pFXB .disabled text{fill:lightgray;}#mermaid-svg-HOFy50rSeqD3pFXB .disabled text{fill:#efefef;}#mermaid-svg-HOFy50rSeqD3pFXB .section-10 rect,#mermaid-svg-HOFy50rSeqD3pFXB .section-10 path,#mermaid-svg-HOFy50rSeqD3pFXB .section-10 circle,#mermaid-svg-HOFy50rSeqD3pFXB .section-10 polygon,#mermaid-svg-HOFy50rSeqD3pFXB .section-10 path{fill:hsl(210, 100%, 76.2745098039%);}#mermaid-svg-HOFy50rSeqD3pFXB .section-10 text{fill:black;}#mermaid-svg-HOFy50rSeqD3pFXB .node-icon-10{font-size:40px;color:black;}#mermaid-svg-HOFy50rSeqD3pFXB .section-edge-10{stroke:hsl(210, 100%, 76.2745098039%);}#mermaid-svg-HOFy50rSeqD3pFXB .edge-depth-10{stroke-width:-16;}#mermaid-svg-HOFy50rSeqD3pFXB .section-10 line{stroke:hsl(30, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-HOFy50rSeqD3pFXB .disabled,#mermaid-svg-HOFy50rSeqD3pFXB .disabled circle,#mermaid-svg-HOFy50rSeqD3pFXB .disabled text{fill:lightgray;}#mermaid-svg-HOFy50rSeqD3pFXB .disabled text{fill:#efefef;}#mermaid-svg-HOFy50rSeqD3pFXB .section-root rect,#mermaid-svg-HOFy50rSeqD3pFXB .section-root path,#mermaid-svg-HOFy50rSeqD3pFXB .section-root circle,#mermaid-svg-HOFy50rSeqD3pFXB .section-root polygon{fill:hsl(240, 100%, 46.2745098039%);}#mermaid-svg-HOFy50rSeqD3pFXB .section-root text{fill:#ffffff;}#mermaid-svg-HOFy50rSeqD3pFXB .section-root span{color:#ffffff;}#mermaid-svg-HOFy50rSeqD3pFXB .section-2 span{color:#ffffff;}#mermaid-svg-HOFy50rSeqD3pFXB .icon-container{height:100%;display:flex;justify-content:center;align-items:center;}#mermaid-svg-HOFy50rSeqD3pFXB .edge{fill:none;}#mermaid-svg-HOFy50rSeqD3pFXB .mindmap-node-label{dy:1em;alignment-baseline:middle;text-anchor:middle;dominant-baseline:middle;text-align:center;}#mermaid-svg-HOFy50rSeqD3pFXB :root{&#8211;mermaid-font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;}<span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u8868\u7a7a\u95f4\u7c7b\u578b<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u6c38\u4e45\u8868\u7a7a\u95f4 Permanent<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u7528\u6237\u6570\u636e\u8868<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u7d22\u5f15<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u5206\u533a\u6570\u636e<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>LOB\u6570\u636e<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u4e34\u65f6\u8868\u7a7a\u95f4 Temporary<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u6392\u5e8f\u64cd\u4f5c ORDER BY<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u54c8\u5e0c\u8fde\u63a5 Hash Join<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u5168\u5c40\u4e34\u65f6\u8868<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u4e0d\u80fd\u5b58\u50a8\u6c38\u4e45\u5bf9\u8c61<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u8fd8\u539f\u8868\u7a7a\u95f4 Undo<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u4e8b\u52a1\u56de\u6eda<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u8bfb\u4e00\u81f4\u6027 CR<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u95ea\u56de\u67e5\u8be2<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u6bcf\u4e2a\u5b9e\u4f8b\u4e00\u4e2aActive Undo<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>SYSTEM\u8868\u7a7a\u95f4<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u6570\u636e\u5b57\u5178<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>SYS\u7528\u6237\u5bf9\u8c61<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u4e0d\u53ef\u5220\u9664\/\u79bb\u7ebf<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>SYSAUX\u8868\u7a7a\u95f4<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>AWR\/ADDM\u6570\u636e<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>OEM Express<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u8f85\u52a9\u7ec4\u4ef6\u6570\u636e<\/p>\n<p><\/span><\/p>\n<hr \/>\n<h3>A.4 \u6570\u636e\u5e93\u542f\u52a8\u4e0e\u5173\u95ed\u72b6\u6001\u673a<\/h3>\n<h4>A.4.1 \u542f\u52a8\u9636\u6bb5\u72b6\u6001\u8f6c\u6362<\/h4>\n<p>#mermaid-svg-UidJt7z6Hfc9siYW{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-UidJt7z6Hfc9siYW .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-UidJt7z6Hfc9siYW .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-UidJt7z6Hfc9siYW .error-icon{fill:#552222;}#mermaid-svg-UidJt7z6Hfc9siYW .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-UidJt7z6Hfc9siYW .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-UidJt7z6Hfc9siYW .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-UidJt7z6Hfc9siYW .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-UidJt7z6Hfc9siYW .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-UidJt7z6Hfc9siYW .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-UidJt7z6Hfc9siYW .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-UidJt7z6Hfc9siYW .marker{fill:#333333;stroke:#333333;}#mermaid-svg-UidJt7z6Hfc9siYW .marker.cross{stroke:#333333;}#mermaid-svg-UidJt7z6Hfc9siYW svg{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-UidJt7z6Hfc9siYW p{margin:0;}#mermaid-svg-UidJt7z6Hfc9siYW .label{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;color:#333;}#mermaid-svg-UidJt7z6Hfc9siYW .cluster-label text{fill:#333;}#mermaid-svg-UidJt7z6Hfc9siYW .cluster-label span{color:#333;}#mermaid-svg-UidJt7z6Hfc9siYW .cluster-label span p{background-color:transparent;}#mermaid-svg-UidJt7z6Hfc9siYW .label text,#mermaid-svg-UidJt7z6Hfc9siYW span{fill:#333;color:#333;}#mermaid-svg-UidJt7z6Hfc9siYW .node rect,#mermaid-svg-UidJt7z6Hfc9siYW .node circle,#mermaid-svg-UidJt7z6Hfc9siYW .node ellipse,#mermaid-svg-UidJt7z6Hfc9siYW .node polygon,#mermaid-svg-UidJt7z6Hfc9siYW .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-UidJt7z6Hfc9siYW .rough-node .label text,#mermaid-svg-UidJt7z6Hfc9siYW .node .label text,#mermaid-svg-UidJt7z6Hfc9siYW .image-shape .label,#mermaid-svg-UidJt7z6Hfc9siYW .icon-shape .label{text-anchor:middle;}#mermaid-svg-UidJt7z6Hfc9siYW .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-UidJt7z6Hfc9siYW .rough-node .label,#mermaid-svg-UidJt7z6Hfc9siYW .node .label,#mermaid-svg-UidJt7z6Hfc9siYW .image-shape .label,#mermaid-svg-UidJt7z6Hfc9siYW .icon-shape .label{text-align:center;}#mermaid-svg-UidJt7z6Hfc9siYW .node.clickable{cursor:pointer;}#mermaid-svg-UidJt7z6Hfc9siYW .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-UidJt7z6Hfc9siYW .arrowheadPath{fill:#333333;}#mermaid-svg-UidJt7z6Hfc9siYW .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-UidJt7z6Hfc9siYW .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-UidJt7z6Hfc9siYW .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-UidJt7z6Hfc9siYW .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-UidJt7z6Hfc9siYW .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-UidJt7z6Hfc9siYW .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-UidJt7z6Hfc9siYW .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-UidJt7z6Hfc9siYW .cluster text{fill:#333;}#mermaid-svg-UidJt7z6Hfc9siYW .cluster span{color:#333;}#mermaid-svg-UidJt7z6Hfc9siYW div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-UidJt7z6Hfc9siYW .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-UidJt7z6Hfc9siYW rect.text{fill:none;stroke-width:0;}#mermaid-svg-UidJt7z6Hfc9siYW .icon-shape,#mermaid-svg-UidJt7z6Hfc9siYW .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-UidJt7z6Hfc9siYW .icon-shape p,#mermaid-svg-UidJt7z6Hfc9siYW .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-UidJt7z6Hfc9siYW .icon-shape .label rect,#mermaid-svg-UidJt7z6Hfc9siYW .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-UidJt7z6Hfc9siYW .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-UidJt7z6Hfc9siYW .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-UidJt7z6Hfc9siYW :root{&#8211;mermaid-font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;}<span class=\"edgeLabel\"><\/p>\n<p>STARTUP NOMOUNT<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>ALTER DATABASE MOUNT<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>ALTER DATABASE OPEN<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>STARTUP (\u4e00\u6b65\u5230\u4f4d)<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>STARTUP<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>STARTUP RESTRICT<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>STARTUP FORCE<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"nodeLabel\"><\/p>\n<p>FORCE \u8bf4\u660e<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>&#061; SHUTDOWN ABORT &#043; STARTUP<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>RESTRICTED \u8bf4\u660e<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u4ec5RESTRICTED SESSION\u6743\u9650\u7528\u6237\u53ef\u8fde\u63a5<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>OPEN \u8bf4\u660e<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u2705 \u6253\u5f00\u6570\u636e\u6587\u4ef6\u548c\u91cd\u505a\u65e5\u5fd7<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u2705 SMON\u6267\u884c\u5b9e\u4f8b\u6062\u590d(\u5982\u9700)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u2705 \u6570\u636e\u5e93\u5bf9\u5916\u53ef\u7528<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>MOUNT \u8bf4\u660e<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u2705 \u6253\u5f00\u63a7\u5236\u6587\u4ef6<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u2705 \u9a8c\u8bc1\u6570\u636e\u6587\u4ef6\/\u65e5\u5fd7\u6587\u4ef6<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u274c \u672a\u6253\u5f00\u6570\u636e\u6587\u4ef6<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>&#x1f527; \u53ef\u6267\u884c: \u91cd\u547d\u540d\u6587\u4ef6\u3001\u542f\u7528\u5f52\u6863\u3001\u5b8c\u5168\u6062\u590d<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>NOMOUNT \u8bf4\u660e<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u2705 \u8bfb\u53d6\u53c2\u6570\u6587\u4ef6<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u2705 \u5206\u914dSGA<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u2705 \u542f\u52a8\u540e\u53f0\u8fdb\u7a0b<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u274c \u672a\u6253\u5f00\u63a7\u5236\u6587\u4ef6<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u6570\u636e\u5e93\u5173\u95ed<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>NOMOUNT<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>MOUNT<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>OPEN<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>RESTRICTED<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>FORCE<\/p>\n<p><\/span><\/p>\n<h4>A.4.2 \u5173\u95ed\u6a21\u5f0f\u5bf9\u6bd4<\/h4>\n<p>#mermaid-svg-dgwPz7X5Xl3UBJ1l{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-dgwPz7X5Xl3UBJ1l .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .error-icon{fill:#552222;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .marker{fill:#333333;stroke:#333333;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .marker.cross{stroke:#333333;}#mermaid-svg-dgwPz7X5Xl3UBJ1l svg{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-dgwPz7X5Xl3UBJ1l p{margin:0;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .label{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;color:#333;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .cluster-label text{fill:#333;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .cluster-label span{color:#333;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .cluster-label span p{background-color:transparent;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .label text,#mermaid-svg-dgwPz7X5Xl3UBJ1l span{fill:#333;color:#333;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .node rect,#mermaid-svg-dgwPz7X5Xl3UBJ1l .node circle,#mermaid-svg-dgwPz7X5Xl3UBJ1l .node ellipse,#mermaid-svg-dgwPz7X5Xl3UBJ1l .node polygon,#mermaid-svg-dgwPz7X5Xl3UBJ1l .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .rough-node .label text,#mermaid-svg-dgwPz7X5Xl3UBJ1l .node .label text,#mermaid-svg-dgwPz7X5Xl3UBJ1l .image-shape .label,#mermaid-svg-dgwPz7X5Xl3UBJ1l .icon-shape .label{text-anchor:middle;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .rough-node .label,#mermaid-svg-dgwPz7X5Xl3UBJ1l .node .label,#mermaid-svg-dgwPz7X5Xl3UBJ1l .image-shape .label,#mermaid-svg-dgwPz7X5Xl3UBJ1l .icon-shape .label{text-align:center;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .node.clickable{cursor:pointer;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .arrowheadPath{fill:#333333;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-dgwPz7X5Xl3UBJ1l .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-dgwPz7X5Xl3UBJ1l .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-dgwPz7X5Xl3UBJ1l .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .cluster text{fill:#333;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .cluster span{color:#333;}#mermaid-svg-dgwPz7X5Xl3UBJ1l div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-dgwPz7X5Xl3UBJ1l rect.text{fill:none;stroke-width:0;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .icon-shape,#mermaid-svg-dgwPz7X5Xl3UBJ1l .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .icon-shape p,#mermaid-svg-dgwPz7X5Xl3UBJ1l .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .icon-shape .label rect,#mermaid-svg-dgwPz7X5Xl3UBJ1l .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-dgwPz7X5Xl3UBJ1l .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-dgwPz7X5Xl3UBJ1l .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-dgwPz7X5Xl3UBJ1l :root{&#8211;mermaid-font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;}<span class=\"nodeLabel\"><\/p>\n<p>SHUTDOWN ABORT \u26a0\ufe0f\u7d27\u6025<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u7acb\u5373\u7ec8\u6b62\u6240\u6709\u8fdb\u7a0b<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u4e0d\u56de\u6eda\u3001\u4e0d\u7b49\u5f85<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u5173\u95ed\u6570\u636e\u5e93<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u26a0\ufe0f\u4e0b\u6b21\u542f\u52a8\u9700\u5b9e\u4f8b\u6062\u590d<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>SHUTDOWN TRANSACTIONAL<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u7981\u6b62\u65b0\u8fde\u63a5<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u7981\u6b62\u65b0\u4e8b\u52a1<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u7b49\u5f85\u6d3b\u52a8\u4e8b\u52a1\u5b8c\u6210<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u65ad\u5f00\u6240\u6709\u4f1a\u8bdd<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u5173\u95ed\u6570\u636e\u5e93<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u65e0\u9700\u5b9e\u4f8b\u6062\u590d<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>SHUTDOWN IMMEDIATE \u2b50\u63a8\u8350<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u7981\u6b62\u65b0\u8fde\u63a5<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u56de\u6eda\u672a\u63d0\u4ea4\u4e8b\u52a1<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u65ad\u5f00\u6240\u6709\u4f1a\u8bdd<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u5173\u95ed\u6570\u636e\u5e93<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u65e0\u9700\u5b9e\u4f8b\u6062\u590d<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>SHUTDOWN NORMAL<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u7981\u6b62\u65b0\u8fde\u63a5<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u7b49\u5f85\u6240\u6709\u7528\u6237\u4e3b\u52a8\u65ad\u5f00<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u5173\u95ed\u6570\u636e\u5e93<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u65e0\u9700\u5b9e\u4f8b\u6062\u590d<\/p>\n<p><\/span><\/p>\n<hr \/>\n<h3>A.5 \u5907\u4efd\u6062\u590d\u6280\u672f\u51b3\u7b56\u6811<\/h3>\n<h4>A.5.1 \u5907\u4efd\u7b56\u7565\u9009\u62e9<\/h4>\n<p>#mermaid-svg-QIY8pK2SKF1bg3yD{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-QIY8pK2SKF1bg3yD .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-QIY8pK2SKF1bg3yD .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-QIY8pK2SKF1bg3yD .error-icon{fill:#552222;}#mermaid-svg-QIY8pK2SKF1bg3yD .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-QIY8pK2SKF1bg3yD .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-QIY8pK2SKF1bg3yD .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-QIY8pK2SKF1bg3yD .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-QIY8pK2SKF1bg3yD .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-QIY8pK2SKF1bg3yD .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-QIY8pK2SKF1bg3yD .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-QIY8pK2SKF1bg3yD .marker{fill:#333333;stroke:#333333;}#mermaid-svg-QIY8pK2SKF1bg3yD .marker.cross{stroke:#333333;}#mermaid-svg-QIY8pK2SKF1bg3yD svg{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-QIY8pK2SKF1bg3yD p{margin:0;}#mermaid-svg-QIY8pK2SKF1bg3yD .label{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;color:#333;}#mermaid-svg-QIY8pK2SKF1bg3yD .cluster-label text{fill:#333;}#mermaid-svg-QIY8pK2SKF1bg3yD .cluster-label span{color:#333;}#mermaid-svg-QIY8pK2SKF1bg3yD .cluster-label span p{background-color:transparent;}#mermaid-svg-QIY8pK2SKF1bg3yD .label text,#mermaid-svg-QIY8pK2SKF1bg3yD span{fill:#333;color:#333;}#mermaid-svg-QIY8pK2SKF1bg3yD .node rect,#mermaid-svg-QIY8pK2SKF1bg3yD .node circle,#mermaid-svg-QIY8pK2SKF1bg3yD .node ellipse,#mermaid-svg-QIY8pK2SKF1bg3yD .node polygon,#mermaid-svg-QIY8pK2SKF1bg3yD .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-QIY8pK2SKF1bg3yD .rough-node .label text,#mermaid-svg-QIY8pK2SKF1bg3yD .node .label text,#mermaid-svg-QIY8pK2SKF1bg3yD .image-shape .label,#mermaid-svg-QIY8pK2SKF1bg3yD .icon-shape .label{text-anchor:middle;}#mermaid-svg-QIY8pK2SKF1bg3yD .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-QIY8pK2SKF1bg3yD .rough-node .label,#mermaid-svg-QIY8pK2SKF1bg3yD .node .label,#mermaid-svg-QIY8pK2SKF1bg3yD .image-shape .label,#mermaid-svg-QIY8pK2SKF1bg3yD .icon-shape .label{text-align:center;}#mermaid-svg-QIY8pK2SKF1bg3yD .node.clickable{cursor:pointer;}#mermaid-svg-QIY8pK2SKF1bg3yD .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-QIY8pK2SKF1bg3yD .arrowheadPath{fill:#333333;}#mermaid-svg-QIY8pK2SKF1bg3yD .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-QIY8pK2SKF1bg3yD .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-QIY8pK2SKF1bg3yD .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-QIY8pK2SKF1bg3yD .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-QIY8pK2SKF1bg3yD .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-QIY8pK2SKF1bg3yD .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-QIY8pK2SKF1bg3yD .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-QIY8pK2SKF1bg3yD .cluster text{fill:#333;}#mermaid-svg-QIY8pK2SKF1bg3yD .cluster span{color:#333;}#mermaid-svg-QIY8pK2SKF1bg3yD div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-QIY8pK2SKF1bg3yD .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-QIY8pK2SKF1bg3yD rect.text{fill:none;stroke-width:0;}#mermaid-svg-QIY8pK2SKF1bg3yD .icon-shape,#mermaid-svg-QIY8pK2SKF1bg3yD .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-QIY8pK2SKF1bg3yD .icon-shape p,#mermaid-svg-QIY8pK2SKF1bg3yD .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-QIY8pK2SKF1bg3yD .icon-shape .label rect,#mermaid-svg-QIY8pK2SKF1bg3yD .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-QIY8pK2SKF1bg3yD .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-QIY8pK2SKF1bg3yD .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-QIY8pK2SKF1bg3yD :root{&#8211;mermaid-font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;}<span class=\"edgeLabel\"><\/p>\n<p>\u7269\u7406\u6587\u4ef6\u7ea7<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u903b\u8f91\u6570\u636e\u5bfc\u51fa<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u6570\u636e\u5e93OPEN<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u6570\u636e\u5e93CLOSED<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u63a8\u8350<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u624b\u52a8<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u9996\u6b21\/\u57fa\u7ebf<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u65e5\u5e38<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u5f52\u6863\u65e5\u5fd7<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u5168\u5e93<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u6a21\u5f0f<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u8868<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u4f20\u8f93\u8868\u7a7a\u95f4<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u9700\u8981\u5907\u4efd\u4ec0\u4e48?<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u70ed\u5907\u8fd8\u662f\u51b7\u5907?<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Data Pump (expdp)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u70ed\u5907\u4efd(\u5fc5\u987b\u5f52\u6863\u6a21\u5f0f)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u51b7\u5907\u4efd(OS\u6587\u4ef6\u590d\u5236)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u4f7f\u7528\u4ec0\u4e48\u5de5\u5177?<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u64cd\u4f5c\u7cfb\u7edf cp\/scp\/rsync<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>RMAN\u2705 \u589e\u91cf\u5907\u4efd\u2705 \u538b\u7f29\u52a0\u5bc6\u2705 \u81ea\u52a8\u7ba1\u7406\u2705 \u5757\u7ea7\u6821\u9a8c<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u7528\u6237\u7ba1\u7406\u5907\u4efd\u26a0\ufe0f BEGIN\/END BACKUP\u26a0\ufe0f \u65e0\u589e\u91cf\u26a0\ufe0f \u6613\u51fa\u9519<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u5907\u4efd\u7ea7\u522b?<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>LEVEL 0 \u5168\u91cf\u589e\u91cf<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>LEVEL 1 \u589e\u91cf<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>BACKUP ARCHIVELOG<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u5bfc\u51fa\u8303\u56f4?<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>FULL&#061;Y<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>SCHEMAS&#061;hr,scott<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>TABLES&#061;emp,dept<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>TRANSPORT_TABLESPACES<\/p>\n<p><\/span><\/p>\n<h4>A.5.2 \u6545\u969c\u6062\u590d\u51b3\u7b56\u6d41\u7a0b<\/h4>\n<p>#mermaid-svg-DTPDulzMmLwJeq4b{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-DTPDulzMmLwJeq4b .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-DTPDulzMmLwJeq4b .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-DTPDulzMmLwJeq4b .error-icon{fill:#552222;}#mermaid-svg-DTPDulzMmLwJeq4b .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-DTPDulzMmLwJeq4b .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-DTPDulzMmLwJeq4b .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-DTPDulzMmLwJeq4b .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-DTPDulzMmLwJeq4b .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-DTPDulzMmLwJeq4b .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-DTPDulzMmLwJeq4b .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-DTPDulzMmLwJeq4b .marker{fill:#333333;stroke:#333333;}#mermaid-svg-DTPDulzMmLwJeq4b .marker.cross{stroke:#333333;}#mermaid-svg-DTPDulzMmLwJeq4b svg{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-DTPDulzMmLwJeq4b p{margin:0;}#mermaid-svg-DTPDulzMmLwJeq4b .label{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;color:#333;}#mermaid-svg-DTPDulzMmLwJeq4b .cluster-label text{fill:#333;}#mermaid-svg-DTPDulzMmLwJeq4b .cluster-label span{color:#333;}#mermaid-svg-DTPDulzMmLwJeq4b .cluster-label span p{background-color:transparent;}#mermaid-svg-DTPDulzMmLwJeq4b .label text,#mermaid-svg-DTPDulzMmLwJeq4b span{fill:#333;color:#333;}#mermaid-svg-DTPDulzMmLwJeq4b .node rect,#mermaid-svg-DTPDulzMmLwJeq4b .node circle,#mermaid-svg-DTPDulzMmLwJeq4b .node ellipse,#mermaid-svg-DTPDulzMmLwJeq4b .node polygon,#mermaid-svg-DTPDulzMmLwJeq4b .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-DTPDulzMmLwJeq4b .rough-node .label text,#mermaid-svg-DTPDulzMmLwJeq4b .node .label text,#mermaid-svg-DTPDulzMmLwJeq4b .image-shape .label,#mermaid-svg-DTPDulzMmLwJeq4b .icon-shape .label{text-anchor:middle;}#mermaid-svg-DTPDulzMmLwJeq4b .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-DTPDulzMmLwJeq4b .rough-node .label,#mermaid-svg-DTPDulzMmLwJeq4b .node .label,#mermaid-svg-DTPDulzMmLwJeq4b .image-shape .label,#mermaid-svg-DTPDulzMmLwJeq4b .icon-shape .label{text-align:center;}#mermaid-svg-DTPDulzMmLwJeq4b .node.clickable{cursor:pointer;}#mermaid-svg-DTPDulzMmLwJeq4b .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-DTPDulzMmLwJeq4b .arrowheadPath{fill:#333333;}#mermaid-svg-DTPDulzMmLwJeq4b .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-DTPDulzMmLwJeq4b .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-DTPDulzMmLwJeq4b .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-DTPDulzMmLwJeq4b .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-DTPDulzMmLwJeq4b .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-DTPDulzMmLwJeq4b .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-DTPDulzMmLwJeq4b .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-DTPDulzMmLwJeq4b .cluster text{fill:#333;}#mermaid-svg-DTPDulzMmLwJeq4b .cluster span{color:#333;}#mermaid-svg-DTPDulzMmLwJeq4b div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-DTPDulzMmLwJeq4b .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-DTPDulzMmLwJeq4b rect.text{fill:none;stroke-width:0;}#mermaid-svg-DTPDulzMmLwJeq4b .icon-shape,#mermaid-svg-DTPDulzMmLwJeq4b .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-DTPDulzMmLwJeq4b .icon-shape p,#mermaid-svg-DTPDulzMmLwJeq4b .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-DTPDulzMmLwJeq4b .icon-shape .label rect,#mermaid-svg-DTPDulzMmLwJeq4b .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-DTPDulzMmLwJeq4b .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-DTPDulzMmLwJeq4b .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-DTPDulzMmLwJeq4b :root{&#8211;mermaid-font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;}<span class=\"edgeLabel\"><\/p>\n<p>\u5b9e\u4f8b\u5d29\u6e83\/\u6389\u7535<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u5355\u4e2a\u6570\u636e\u6587\u4ef6\u635f\u574f<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u591a\u4e2a\u6587\u4ef6\/\u8868\u7a7a\u95f4\u635f\u574f<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u8bef\u64cd\u4f5c(DROP\/DELETE)<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>DROP TABLE<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u9519\u8befUPDATE\/DELETE<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u5927\u6279\u91cf\u8bef\u64cd\u4f5c<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u65e0\u95ea\u56de\u53ef\u7528<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u6574\u4e2a\u6570\u636e\u5e93\u707e\u96be<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u53d1\u73b0\u6545\u969c\u7c7b\u578b?<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u5b9e\u4f8b\u6062\u590d(\u81ea\u52a8)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>SMON\u81ea\u52a8\u6267\u884c:1. \u524d\u6eda(Redo Applied)2. \u6253\u5f00\u6570\u636e\u5e933. \u540e\u53f0\u56de\u6eda(Undo)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u4ecb\u8d28\u6062\u590d-\u6587\u4ef6\u7ea7<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>RMAN RESTORE DATAFILE<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>RMAN RECOVER DATAFILE<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>ALTER DATABASE DATAFILE ONLINE<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u4ecb\u8d28\u6062\u590d-\u8868\u7a7a\u95f4\u7ea7<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>ALTER TABLESPACE OFFLINE<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>RMAN RESTORE TABLESPACE<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>RMAN RECOVER TABLESPACE<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>ALTER TABLESPACE ONLINE<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u8bef\u64cd\u4f5c\u7c7b\u578b?<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u95ea\u56de\u5220\u9664FLASHBACK TABLE TO BEFORE DROP<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u95ea\u56de\u67e5\u8be2\/\u95ea\u56de\u8868<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u95ea\u56de\u6570\u636e\u5e93(\u9700\u95ea\u56de\u65e5\u5fd7)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u65f6\u95f4\u70b9\u6062\u590d(PITR)RESTORE &#043; RECOVER UNTIL TIME<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u5b8c\u5168\u6062\u590d \/ Data Guard\u5207\u6362<\/p>\n<p><\/span><\/p>\n<hr \/>\n<h3>A.6 \u95ea\u56de\u6280\u672f\u4f53\u7cfb\u5168\u666f<\/h3>\n<h4>A.6.1 \u95ea\u56de\u6280\u672f\u5206\u5c42\u67b6\u6784<\/h4>\n<p>#mermaid-svg-TWHlkCcvmgMO44z8{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-TWHlkCcvmgMO44z8 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-TWHlkCcvmgMO44z8 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-TWHlkCcvmgMO44z8 .error-icon{fill:#552222;}#mermaid-svg-TWHlkCcvmgMO44z8 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-TWHlkCcvmgMO44z8 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-TWHlkCcvmgMO44z8 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-TWHlkCcvmgMO44z8 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-TWHlkCcvmgMO44z8 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-TWHlkCcvmgMO44z8 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-TWHlkCcvmgMO44z8 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-TWHlkCcvmgMO44z8 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-TWHlkCcvmgMO44z8 .marker.cross{stroke:#333333;}#mermaid-svg-TWHlkCcvmgMO44z8 svg{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-TWHlkCcvmgMO44z8 p{margin:0;}#mermaid-svg-TWHlkCcvmgMO44z8 .label{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;color:#333;}#mermaid-svg-TWHlkCcvmgMO44z8 .cluster-label text{fill:#333;}#mermaid-svg-TWHlkCcvmgMO44z8 .cluster-label span{color:#333;}#mermaid-svg-TWHlkCcvmgMO44z8 .cluster-label span p{background-color:transparent;}#mermaid-svg-TWHlkCcvmgMO44z8 .label text,#mermaid-svg-TWHlkCcvmgMO44z8 span{fill:#333;color:#333;}#mermaid-svg-TWHlkCcvmgMO44z8 .node rect,#mermaid-svg-TWHlkCcvmgMO44z8 .node circle,#mermaid-svg-TWHlkCcvmgMO44z8 .node ellipse,#mermaid-svg-TWHlkCcvmgMO44z8 .node polygon,#mermaid-svg-TWHlkCcvmgMO44z8 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-TWHlkCcvmgMO44z8 .rough-node .label text,#mermaid-svg-TWHlkCcvmgMO44z8 .node .label text,#mermaid-svg-TWHlkCcvmgMO44z8 .image-shape .label,#mermaid-svg-TWHlkCcvmgMO44z8 .icon-shape .label{text-anchor:middle;}#mermaid-svg-TWHlkCcvmgMO44z8 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-TWHlkCcvmgMO44z8 .rough-node .label,#mermaid-svg-TWHlkCcvmgMO44z8 .node .label,#mermaid-svg-TWHlkCcvmgMO44z8 .image-shape .label,#mermaid-svg-TWHlkCcvmgMO44z8 .icon-shape .label{text-align:center;}#mermaid-svg-TWHlkCcvmgMO44z8 .node.clickable{cursor:pointer;}#mermaid-svg-TWHlkCcvmgMO44z8 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-TWHlkCcvmgMO44z8 .arrowheadPath{fill:#333333;}#mermaid-svg-TWHlkCcvmgMO44z8 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-TWHlkCcvmgMO44z8 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-TWHlkCcvmgMO44z8 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-TWHlkCcvmgMO44z8 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-TWHlkCcvmgMO44z8 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-TWHlkCcvmgMO44z8 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-TWHlkCcvmgMO44z8 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-TWHlkCcvmgMO44z8 .cluster text{fill:#333;}#mermaid-svg-TWHlkCcvmgMO44z8 .cluster span{color:#333;}#mermaid-svg-TWHlkCcvmgMO44z8 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-TWHlkCcvmgMO44z8 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-TWHlkCcvmgMO44z8 rect.text{fill:none;stroke-width:0;}#mermaid-svg-TWHlkCcvmgMO44z8 .icon-shape,#mermaid-svg-TWHlkCcvmgMO44z8 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-TWHlkCcvmgMO44z8 .icon-shape p,#mermaid-svg-TWHlkCcvmgMO44z8 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-TWHlkCcvmgMO44z8 .icon-shape .label rect,#mermaid-svg-TWHlkCcvmgMO44z8 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-TWHlkCcvmgMO44z8 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-TWHlkCcvmgMO44z8 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-TWHlkCcvmgMO44z8 :root{&#8211;mermaid-font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;}<span class=\"nodeLabel\"><\/p>\n<p>\u5e95\u5c42\u4f9d\u8d56<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u6570\u636e\u5e93\u5c42\u95ea\u56de&#xff08;DBA\u64cd\u4f5c&#xff09;<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u5bf9\u8c61\u5c42\u95ea\u56de&#xff08;DBA\u64cd\u4f5c&#xff09;<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u5e94\u7528\u5c42\u95ea\u56de&#xff08;\u65e0\u9700DBA\u4ecb\u5165&#xff09;<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u95ea\u56de\u67e5\u8be2AS OF TIMESTAMP\/SCN<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u95ea\u56de\u7248\u672c\u67e5\u8be2VERSIONS BETWEEN<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u95ea\u56de\u4e8b\u52a1\u67e5\u8be2FLASHBACK_TRANSACTION_QUERY<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u95ea\u56de\u8868FLASHBACK TABLE<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u95ea\u56de\u5220\u9664FLASHBACK TABLE TO BEFORE DROP<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u95ea\u56de\u6570\u636e\u5e93FLASHBACK DATABASE<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u95ea\u56de\u6570\u636e\u5f52\u6863Flashback Data Archive<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>UNDO Tablespace(\u4fdd\u7559\u65f6\u95f4: UNDO_RETENTION)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Recycle Bin(\u56de\u6536\u7ad9)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Flashback Logs(Fast Recovery Area)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>FDA Tablespace(\u72ec\u7acb\u5386\u53f2\u5b58\u50a8)<\/p>\n<p><\/span><\/p>\n<h4>A.6.2 \u95ea\u56de\u6280\u672f\u9009\u578b\u77e9\u9635<\/h4>\n<table>\n<tr>\u95ea\u56de\u6280\u672f\u6062\u590d\u7c92\u5ea6\u4f9d\u8d56\u7ec4\u4ef6\u524d\u63d0\u6761\u4ef6\u6062\u590d\u901f\u5ea6\u9002\u7528\u573a\u666f\u6570\u636e\u4e22\u5931\u98ce\u9669<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">\u95ea\u56de\u67e5\u8be2<\/td>\n<td align=\"left\">\u884c\u7ea7(\u53ea\u8bfb)<\/td>\n<td align=\"left\">UNDO<\/td>\n<td align=\"left\">UNDO_RETENTION\u8db3\u591f<\/td>\n<td align=\"left\">\u26a1 \u79d2\u7ea7<\/td>\n<td align=\"left\">\u67e5\u770b\u5386\u53f2\u6570\u636e\u3001\u5bf9\u6bd4\u5dee\u5f02<\/td>\n<td align=\"left\">\u65e0<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u95ea\u56de\u7248\u672c\u67e5\u8be2<\/td>\n<td align=\"left\">\u884c\u7ea7(\u53ea\u8bfb)<\/td>\n<td align=\"left\">UNDO<\/td>\n<td align=\"left\">\u540c\u4e0a<\/td>\n<td align=\"left\">\u26a1 \u79d2\u7ea7<\/td>\n<td align=\"left\">\u5ba1\u8ba1\u8ffd\u8e2a\u3001\u53d8\u66f4\u5206\u6790<\/td>\n<td align=\"left\">\u65e0<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u95ea\u56de\u4e8b\u52a1\u67e5\u8be2<\/td>\n<td align=\"left\">\u4e8b\u52a1\u7ea7(\u53ea\u8bfb)<\/td>\n<td align=\"left\">UNDO &#043; Supplemental Log<\/td>\n<td align=\"left\">\u8865\u5145\u65e5\u5fd7\u5df2\u5f00\u542f<\/td>\n<td align=\"left\">\u26a1 \u79d2\u7ea7<\/td>\n<td align=\"left\">\u83b7\u53d6\u53cd\u5411SQL\u3001\u4e8b\u52a1\u5ba1\u8ba1<\/td>\n<td align=\"left\">\u65e0<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u95ea\u56de\u8868<\/td>\n<td align=\"left\">\u8868\u7ea7(\u8bfb\u5199)<\/td>\n<td align=\"left\">UNDO &#043; Row Movement<\/td>\n<td align=\"left\">ENABLE ROW MOVEMENT<\/td>\n<td align=\"left\">\u26a1 \u79d2~\u5206\u949f<\/td>\n<td align=\"left\">\u6062\u590d\u8befUPDATE\/DELETE<\/td>\n<td align=\"left\">UNDO\u8fc7\u671f\u5219\u5931\u8d25<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u95ea\u56de\u5220\u9664<\/td>\n<td align=\"left\">\u8868\u7ea7(\u8bfb\u5199)<\/td>\n<td align=\"left\">Recycle Bin<\/td>\n<td align=\"left\">\u975eSYSTEM\u8868\u7a7a\u95f4<\/td>\n<td align=\"left\">\u26a1 \u79d2\u7ea7<\/td>\n<td align=\"left\">\u6062\u590d\u8befDROP TABLE<\/td>\n<td align=\"left\">PURGE\u540e\u4e0d\u53ef\u6062\u590d<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u95ea\u56de\u6570\u636e\u5e93<\/td>\n<td align=\"left\">\u6570\u636e\u5e93\u7ea7<\/td>\n<td align=\"left\">Flashback Logs<\/td>\n<td align=\"left\">ARCHIVELOG &#043; FLASHBACK ON<\/td>\n<td align=\"left\">&#x1f536; \u5206\u949f~\u5c0f\u65f6<\/td>\n<td align=\"left\">\u5927\u89c4\u6a21\u8bef\u64cd\u4f5c\u3001\u6d4b\u8bd5\u91cd\u7f6e<\/td>\n<td align=\"left\">\u8d85\u51fa\u4fdd\u7559\u671f\u5219\u5931\u8d25<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u95ea\u56de\u6570\u636e\u5f52\u6863<\/td>\n<td align=\"left\">\u8868\u7ea7(\u957f\u671f)<\/td>\n<td align=\"left\">FDA Tablespace<\/td>\n<td align=\"left\">\u521b\u5efaFDA\u5e76\u5173\u8054\u8868<\/td>\n<td align=\"left\">\u26a1 \u79d2\u7ea7<\/td>\n<td align=\"left\">\u5408\u89c4\u5ba1\u8ba1\u3001\u957f\u671f\u5386\u53f2\u67e5\u8be2<\/td>\n<td align=\"left\">\u65e0(\u72ec\u7acb\u5b58\u50a8)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h3>A.7 \u591a\u79df\u6237\u67b6\u6784\u8be6\u89e3<\/h3>\n<h4>A.7.1 CDB\/PDB \u67b6\u6784\u5c42\u6b21\u56fe<\/h4>\n<p>#mermaid-svg-ltVew6mExAC5MXsp{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-ltVew6mExAC5MXsp .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-ltVew6mExAC5MXsp .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-ltVew6mExAC5MXsp .error-icon{fill:#552222;}#mermaid-svg-ltVew6mExAC5MXsp .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-ltVew6mExAC5MXsp .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-ltVew6mExAC5MXsp .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-ltVew6mExAC5MXsp .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-ltVew6mExAC5MXsp .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-ltVew6mExAC5MXsp .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-ltVew6mExAC5MXsp .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-ltVew6mExAC5MXsp .marker{fill:#333333;stroke:#333333;}#mermaid-svg-ltVew6mExAC5MXsp .marker.cross{stroke:#333333;}#mermaid-svg-ltVew6mExAC5MXsp svg{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-ltVew6mExAC5MXsp p{margin:0;}#mermaid-svg-ltVew6mExAC5MXsp .label{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;color:#333;}#mermaid-svg-ltVew6mExAC5MXsp .cluster-label text{fill:#333;}#mermaid-svg-ltVew6mExAC5MXsp .cluster-label span{color:#333;}#mermaid-svg-ltVew6mExAC5MXsp .cluster-label span p{background-color:transparent;}#mermaid-svg-ltVew6mExAC5MXsp .label text,#mermaid-svg-ltVew6mExAC5MXsp span{fill:#333;color:#333;}#mermaid-svg-ltVew6mExAC5MXsp .node rect,#mermaid-svg-ltVew6mExAC5MXsp .node circle,#mermaid-svg-ltVew6mExAC5MXsp .node ellipse,#mermaid-svg-ltVew6mExAC5MXsp .node polygon,#mermaid-svg-ltVew6mExAC5MXsp .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-ltVew6mExAC5MXsp .rough-node .label text,#mermaid-svg-ltVew6mExAC5MXsp .node .label text,#mermaid-svg-ltVew6mExAC5MXsp .image-shape .label,#mermaid-svg-ltVew6mExAC5MXsp .icon-shape .label{text-anchor:middle;}#mermaid-svg-ltVew6mExAC5MXsp .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-ltVew6mExAC5MXsp .rough-node .label,#mermaid-svg-ltVew6mExAC5MXsp .node .label,#mermaid-svg-ltVew6mExAC5MXsp .image-shape .label,#mermaid-svg-ltVew6mExAC5MXsp .icon-shape .label{text-align:center;}#mermaid-svg-ltVew6mExAC5MXsp .node.clickable{cursor:pointer;}#mermaid-svg-ltVew6mExAC5MXsp .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-ltVew6mExAC5MXsp .arrowheadPath{fill:#333333;}#mermaid-svg-ltVew6mExAC5MXsp .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-ltVew6mExAC5MXsp .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-ltVew6mExAC5MXsp .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-ltVew6mExAC5MXsp .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-ltVew6mExAC5MXsp .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-ltVew6mExAC5MXsp .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-ltVew6mExAC5MXsp .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-ltVew6mExAC5MXsp .cluster text{fill:#333;}#mermaid-svg-ltVew6mExAC5MXsp .cluster span{color:#333;}#mermaid-svg-ltVew6mExAC5MXsp div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-ltVew6mExAC5MXsp .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-ltVew6mExAC5MXsp rect.text{fill:none;stroke-width:0;}#mermaid-svg-ltVew6mExAC5MXsp .icon-shape,#mermaid-svg-ltVew6mExAC5MXsp .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-ltVew6mExAC5MXsp .icon-shape p,#mermaid-svg-ltVew6mExAC5MXsp .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-ltVew6mExAC5MXsp .icon-shape .label rect,#mermaid-svg-ltVew6mExAC5MXsp .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-ltVew6mExAC5MXsp .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-ltVew6mExAC5MXsp .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-ltVew6mExAC5MXsp :root{&#8211;mermaid-font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;}<span class=\"nodeLabel\"><\/p>\n<p>\u5171\u4eab\u8d44\u6e90 (\u6240\u6709PDB\u5171\u7528)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>CDB (Container Database)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>PDB3 (Testing)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>PDB2 (Development)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>PDB1 (Production)<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u514b\u9686\u6a21\u677f<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u514b\u9686\u6a21\u677f<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u514b\u9686\u6a21\u677f<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"nodeLabel\"><\/p>\n<p>CDB$ROOT\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2022 Oracle\u5143\u6570\u636e\u2022 \u516c\u5171\u7528\u6237(C##)\u2022 \u516c\u5171\u89d2\u8272\u2022 \u7cfb\u7edf\u53c2\u6570<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>PDB$SEED\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2022 \u53ea\u8bfb\u6a21\u677f\u2022 \u521b\u5efa\u65b0PDB\u7684\u6e90\u2022 \u4e0d\u53ef\u4fee\u6539<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u4e1a\u52a1\u6570\u636e\u6587\u4ef6<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u672c\u5730\u7528\u6237: APP_USER<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u5e94\u7528\u5bf9\u8c61: \u8868\/\u89c6\u56fe\/\u8fc7\u7a0b<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u672c\u5730\u8868\u7a7a\u95f4<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u5f00\u53d1\u6570\u636e\u6587\u4ef6<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u672c\u5730\u7528\u6237: DEV_USER<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u5f00\u53d1\u5bf9\u8c61<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u672c\u5730\u8868\u7a7a\u95f4<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u6d4b\u8bd5\u6570\u636e\u6587\u4ef6<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u672c\u5730\u7528\u6237: TEST_USER<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u6d4b\u8bd5\u5bf9\u8c61<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u672c\u5730\u8868\u7a7a\u95f4<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>SGA (\u5171\u4eab\u5185\u5b58\u6c60)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u540e\u53f0\u8fdb\u7a0b (DBWR\/LGWR\/SMON&#8230;)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Control Files<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Online Redo Logs<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>SPFILE<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Fast Recovery Area<\/p>\n<p><\/span><\/p>\n<h4>A.7.2 PDB \u751f\u547d\u5468\u671f\u64cd\u4f5c\u6d41\u8f6c<\/h4>\n<p>#mermaid-svg-agubpvC7NwO5Fv9g{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-agubpvC7NwO5Fv9g .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-agubpvC7NwO5Fv9g .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-agubpvC7NwO5Fv9g .error-icon{fill:#552222;}#mermaid-svg-agubpvC7NwO5Fv9g .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-agubpvC7NwO5Fv9g .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-agubpvC7NwO5Fv9g .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-agubpvC7NwO5Fv9g .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-agubpvC7NwO5Fv9g .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-agubpvC7NwO5Fv9g .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-agubpvC7NwO5Fv9g .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-agubpvC7NwO5Fv9g .marker{fill:#333333;stroke:#333333;}#mermaid-svg-agubpvC7NwO5Fv9g .marker.cross{stroke:#333333;}#mermaid-svg-agubpvC7NwO5Fv9g svg{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-agubpvC7NwO5Fv9g p{margin:0;}#mermaid-svg-agubpvC7NwO5Fv9g defs #statediagram-barbEnd{fill:#333333;stroke:#333333;}#mermaid-svg-agubpvC7NwO5Fv9g g.stateGroup text{fill:#9370DB;stroke:none;font-size:10px;}#mermaid-svg-agubpvC7NwO5Fv9g g.stateGroup text{fill:#333;stroke:none;font-size:10px;}#mermaid-svg-agubpvC7NwO5Fv9g g.stateGroup .state-title{font-weight:bolder;fill:#131300;}#mermaid-svg-agubpvC7NwO5Fv9g g.stateGroup rect{fill:#ECECFF;stroke:#9370DB;}#mermaid-svg-agubpvC7NwO5Fv9g g.stateGroup line{stroke:#333333;stroke-width:1;}#mermaid-svg-agubpvC7NwO5Fv9g .transition{stroke:#333333;stroke-width:1;fill:none;}#mermaid-svg-agubpvC7NwO5Fv9g .stateGroup .composit{fill:white;border-bottom:1px;}#mermaid-svg-agubpvC7NwO5Fv9g .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px;}#mermaid-svg-agubpvC7NwO5Fv9g .state-note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-agubpvC7NwO5Fv9g .state-note text{fill:black;stroke:none;font-size:10px;}#mermaid-svg-agubpvC7NwO5Fv9g .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#mermaid-svg-agubpvC7NwO5Fv9g .edgeLabel .label rect{fill:#ECECFF;opacity:0.5;}#mermaid-svg-agubpvC7NwO5Fv9g .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-agubpvC7NwO5Fv9g .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-agubpvC7NwO5Fv9g .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-agubpvC7NwO5Fv9g .edgeLabel .label text{fill:#333;}#mermaid-svg-agubpvC7NwO5Fv9g .label div .edgeLabel{color:#333;}#mermaid-svg-agubpvC7NwO5Fv9g .stateLabel text{fill:#131300;font-size:10px;font-weight:bold;}#mermaid-svg-agubpvC7NwO5Fv9g .node circle.state-start{fill:#333333;stroke:#333333;}#mermaid-svg-agubpvC7NwO5Fv9g .node .fork-join{fill:#333333;stroke:#333333;}#mermaid-svg-agubpvC7NwO5Fv9g .node circle.state-end{fill:#9370DB;stroke:white;stroke-width:1.5;}#mermaid-svg-agubpvC7NwO5Fv9g .end-state-inner{fill:white;stroke-width:1.5;}#mermaid-svg-agubpvC7NwO5Fv9g .node rect{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-agubpvC7NwO5Fv9g .node polygon{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-agubpvC7NwO5Fv9g #statediagram-barbEnd{fill:#333333;}#mermaid-svg-agubpvC7NwO5Fv9g .statediagram-cluster rect{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-agubpvC7NwO5Fv9g .cluster-label,#mermaid-svg-agubpvC7NwO5Fv9g .nodeLabel{color:#131300;}#mermaid-svg-agubpvC7NwO5Fv9g .statediagram-cluster rect.outer{rx:5px;ry:5px;}#mermaid-svg-agubpvC7NwO5Fv9g .statediagram-state .divider{stroke:#9370DB;}#mermaid-svg-agubpvC7NwO5Fv9g .statediagram-state .title-state{rx:5px;ry:5px;}#mermaid-svg-agubpvC7NwO5Fv9g .statediagram-cluster.statediagram-cluster .inner{fill:white;}#mermaid-svg-agubpvC7NwO5Fv9g .statediagram-cluster.statediagram-cluster-alt .inner{fill:#f0f0f0;}#mermaid-svg-agubpvC7NwO5Fv9g .statediagram-cluster .inner{rx:0;ry:0;}#mermaid-svg-agubpvC7NwO5Fv9g .statediagram-state rect.basic{rx:5px;ry:5px;}#mermaid-svg-agubpvC7NwO5Fv9g .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#f0f0f0;}#mermaid-svg-agubpvC7NwO5Fv9g .note-edge{stroke-dasharray:5;}#mermaid-svg-agubpvC7NwO5Fv9g .statediagram-note rect{fill:#fff5ad;stroke:#aaaa33;stroke-width:1px;rx:0;ry:0;}#mermaid-svg-agubpvC7NwO5Fv9g .statediagram-note rect{fill:#fff5ad;stroke:#aaaa33;stroke-width:1px;rx:0;ry:0;}#mermaid-svg-agubpvC7NwO5Fv9g .statediagram-note text{fill:black;}#mermaid-svg-agubpvC7NwO5Fv9g .statediagram-note .nodeLabel{color:black;}#mermaid-svg-agubpvC7NwO5Fv9g .statediagram .edgeLabel{color:red;}#mermaid-svg-agubpvC7NwO5Fv9g #dependencyStart,#mermaid-svg-agubpvC7NwO5Fv9g #dependencyEnd{fill:#333333;stroke:#333333;stroke-width:1;}#mermaid-svg-agubpvC7NwO5Fv9g .statediagramTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-agubpvC7NwO5Fv9g :root{&#8211;mermaid-font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;}<span class=\"edgeLabel\"><\/p>\n<p>CREATE PLUGGABLE DATABASE<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u521b\u5efa\u540e\u9ed8\u8ba4CLOSED<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>CLOSE<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>UNPLUG INTO &#039;xml_path&#039;<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>CREATE PLUGGABLE DATABASE &#8230; USING &#039;xml_path&#039;<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>DROP PLUGGABLE DATABASE &#8230; INCLUDING DATAFILES<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u4f5c\u4e3a\u514b\u9686\u6e90<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u514b\u9686\u5b8c\u6210<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/p>\n<p>DROP PLUGGABLE DATABASE &#8230; INCLUDING DATAFILES<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/p>\n<p>ALTER PLUGGABLE DATABASE &#8230; OPEN<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>ALTER PLUGGABLE DATABASE &#8230; CLOSE<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>OPEN READ ONLY<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>OPEN READ WRITE<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>SAVE STATE<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>CREATED<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>CLOSED<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>OPEN<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/p>\n<p>OPEN RESTRICT<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>OPEN<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Normal<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Restricted<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>READ_ONLY<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>UNPLUGGED<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>DELETED<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>CLONED_SOURCE<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>SAVED_STATE<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>CDB\u91cd\u542f\u540ePDB\u81ea\u52a8\u6062\u590d\u5230\u4fdd\u5b58\u7684\u72b6\u6001<\/p>\n<p><\/span><\/p>\n<h4>A.7.3 CDB vs \u4f20\u7edf\u67b6\u6784\u5bf9\u6bd4<\/h4>\n<table>\n<tr>\u7ef4\u5ea6\u4f20\u7edf\u67b6\u6784 (Non-CDB)\u591a\u79df\u6237\u67b6\u6784 (CDB\/PDB)<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">\u6570\u636e\u5e93\u6570\u91cf<\/td>\n<td align=\"left\">1\u4e2a\u5b9e\u4f8b &#061; 1\u4e2a\u6570\u636e\u5e93<\/td>\n<td align=\"left\">1\u4e2aCDB &#061; N\u4e2aPDB<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u5185\u5b58\u4f7f\u7528<\/td>\n<td align=\"left\">\u6bcf\u4e2a\u6570\u636e\u5e93\u72ec\u7acbSGA<\/td>\n<td align=\"left\">\u6240\u6709PDB\u5171\u4eab\u4e00\u4e2aSGA<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u540e\u53f0\u8fdb\u7a0b<\/td>\n<td align=\"left\">\u6bcf\u4e2a\u6570\u636e\u5e93\u72ec\u7acb\u8fdb\u7a0b\u96c6<\/td>\n<td align=\"left\">\u6240\u6709PDB\u5171\u4eab\u4e00\u7ec4\u540e\u53f0\u8fdb\u7a0b<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u8865\u4e01\u5347\u7ea7<\/td>\n<td align=\"left\">\u9010\u4e2a\u6570\u636e\u5e93\u6253\u8865\u4e01<\/td>\n<td align=\"left\">CDB\u7ea7\u522b\u4e00\u6b21\u6253\u8865\u4e01&#xff0c;\u6240\u6709PDB\u751f\u6548<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u8d44\u6e90\u9694\u79bb<\/td>\n<td align=\"left\">\u64cd\u4f5c\u7cfb\u7edf\u7ea7\u9694\u79bb<\/td>\n<td align=\"left\">\u6570\u636e\u5e93\u7ea7Resource Manager<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u5907\u4efd<\/td>\n<td align=\"left\">\u6bcf\u4e2a\u6570\u636e\u5e93\u5355\u72ec\u5907\u4efd<\/td>\n<td align=\"left\">\u53ef\u7edf\u4e00\u5907\u4efd\u6216\u6309PDB\u5907\u4efd<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u514b\u9686\/\u4f9b\u7ed9<\/td>\n<td align=\"left\">\u8017\u65f6(\u590d\u5236\u6587\u4ef6&#043;\u914d\u7f6e)<\/td>\n<td align=\"left\">\u79d2\u7ea7(PDB Clone)<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u7528\u6237\u4f53\u7cfb<\/td>\n<td align=\"left\">\u666e\u901a\u7528\u6237\u540d<\/td>\n<td align=\"left\">\u516c\u5171\u7528\u6237C##\u524d\u7f00 &#043; \u672c\u5730\u7528\u6237<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u517c\u5bb9\u6027<\/td>\n<td align=\"left\">&#8211;<\/td>\n<td align=\"left\">PDB\u53ef\u8bbe\u7f6e\u4e3a\u517c\u5bb9\u65e7\u7248\u672c<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u8bb8\u53ef<\/td>\n<td align=\"left\">\u6309\u6570\u636e\u5e93\u8ba1\u8d39<\/td>\n<td align=\"left\">19c\u8d77\u6700\u591a3\u4e2aPDB\u514d\u8d39<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h3>A.8 PL\/SQL \u7a0b\u5e8f\u5355\u5143\u5173\u7cfb\u56fe<\/h3>\n<h4>A.8.1 PL\/SQL \u7a0b\u5e8f\u5355\u5143\u5c42\u6b21<\/h4>\n<p>#mermaid-svg-Nxj0ZBZCMRk8WSOw{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-Nxj0ZBZCMRk8WSOw .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .error-icon{fill:#552222;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .marker{fill:#333333;stroke:#333333;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .marker.cross{stroke:#333333;}#mermaid-svg-Nxj0ZBZCMRk8WSOw svg{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-Nxj0ZBZCMRk8WSOw p{margin:0;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .label{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;color:#333;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .cluster-label text{fill:#333;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .cluster-label span{color:#333;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .cluster-label span p{background-color:transparent;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .label text,#mermaid-svg-Nxj0ZBZCMRk8WSOw span{fill:#333;color:#333;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .node rect,#mermaid-svg-Nxj0ZBZCMRk8WSOw .node circle,#mermaid-svg-Nxj0ZBZCMRk8WSOw .node ellipse,#mermaid-svg-Nxj0ZBZCMRk8WSOw .node polygon,#mermaid-svg-Nxj0ZBZCMRk8WSOw .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .rough-node .label text,#mermaid-svg-Nxj0ZBZCMRk8WSOw .node .label text,#mermaid-svg-Nxj0ZBZCMRk8WSOw .image-shape .label,#mermaid-svg-Nxj0ZBZCMRk8WSOw .icon-shape .label{text-anchor:middle;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .rough-node .label,#mermaid-svg-Nxj0ZBZCMRk8WSOw .node .label,#mermaid-svg-Nxj0ZBZCMRk8WSOw .image-shape .label,#mermaid-svg-Nxj0ZBZCMRk8WSOw .icon-shape .label{text-align:center;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .node.clickable{cursor:pointer;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .arrowheadPath{fill:#333333;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-Nxj0ZBZCMRk8WSOw .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-Nxj0ZBZCMRk8WSOw .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-Nxj0ZBZCMRk8WSOw .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .cluster text{fill:#333;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .cluster span{color:#333;}#mermaid-svg-Nxj0ZBZCMRk8WSOw div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-Nxj0ZBZCMRk8WSOw rect.text{fill:none;stroke-width:0;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .icon-shape,#mermaid-svg-Nxj0ZBZCMRk8WSOw .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .icon-shape p,#mermaid-svg-Nxj0ZBZCMRk8WSOw .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .icon-shape .label rect,#mermaid-svg-Nxj0ZBZCMRk8WSOw .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-Nxj0ZBZCMRk8WSOw .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-Nxj0ZBZCMRk8WSOw .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-Nxj0ZBZCMRk8WSOw :root{&#8211;mermaid-font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;}<span class=\"nodeLabel\"><\/p>\n<p>\u72ec\u7acb\u7a0b\u5e8f\u5355\u5143<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Package (\u7a0b\u5e8f\u5305)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u79c1\u6709\u7ec4\u4ef6 (\u4ec5\u5305\u5185\u53ef\u89c1)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u516c\u5171\u7ec4\u4ef6 (\u5bf9\u5916\u53ef\u89c1)<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u5b9e\u73b0<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u8c03\u7528<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u8c03\u7528<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u8c03\u7528<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u8c03\u7528<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u8c03\u7528<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u8c03\u7528<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Package Specification(\u5305\u89c4\u8303 &#8211; \u516c\u5171\u63a5\u53e3)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Package Body(\u5305\u4f53 &#8211; \u79c1\u6709\u5b9e\u73b0)<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Public Procedure<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Public Function<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Public Type\/Record<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Public Constant<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Public Cursor<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Private Procedure<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Private Function<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Private Variable<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Standalone Procedure<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Standalone Function<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Trigger<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Anonymous Block<\/p>\n<p><\/span><\/p>\n<h4>A.8.2 \u5f02\u5e38\u5904\u7406\u4f20\u64ad\u673a\u5236<\/h4>\n<p>#mermaid-svg-1zfG4CMKAfFu6IF7{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-1zfG4CMKAfFu6IF7 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-1zfG4CMKAfFu6IF7 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-1zfG4CMKAfFu6IF7 .error-icon{fill:#552222;}#mermaid-svg-1zfG4CMKAfFu6IF7 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-1zfG4CMKAfFu6IF7 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-1zfG4CMKAfFu6IF7 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-1zfG4CMKAfFu6IF7 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-1zfG4CMKAfFu6IF7 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-1zfG4CMKAfFu6IF7 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-1zfG4CMKAfFu6IF7 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-1zfG4CMKAfFu6IF7 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-1zfG4CMKAfFu6IF7 .marker.cross{stroke:#333333;}#mermaid-svg-1zfG4CMKAfFu6IF7 svg{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-1zfG4CMKAfFu6IF7 p{margin:0;}#mermaid-svg-1zfG4CMKAfFu6IF7 .label{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;color:#333;}#mermaid-svg-1zfG4CMKAfFu6IF7 .cluster-label text{fill:#333;}#mermaid-svg-1zfG4CMKAfFu6IF7 .cluster-label span{color:#333;}#mermaid-svg-1zfG4CMKAfFu6IF7 .cluster-label span p{background-color:transparent;}#mermaid-svg-1zfG4CMKAfFu6IF7 .label text,#mermaid-svg-1zfG4CMKAfFu6IF7 span{fill:#333;color:#333;}#mermaid-svg-1zfG4CMKAfFu6IF7 .node rect,#mermaid-svg-1zfG4CMKAfFu6IF7 .node circle,#mermaid-svg-1zfG4CMKAfFu6IF7 .node ellipse,#mermaid-svg-1zfG4CMKAfFu6IF7 .node polygon,#mermaid-svg-1zfG4CMKAfFu6IF7 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-1zfG4CMKAfFu6IF7 .rough-node .label text,#mermaid-svg-1zfG4CMKAfFu6IF7 .node .label text,#mermaid-svg-1zfG4CMKAfFu6IF7 .image-shape .label,#mermaid-svg-1zfG4CMKAfFu6IF7 .icon-shape .label{text-anchor:middle;}#mermaid-svg-1zfG4CMKAfFu6IF7 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-1zfG4CMKAfFu6IF7 .rough-node .label,#mermaid-svg-1zfG4CMKAfFu6IF7 .node .label,#mermaid-svg-1zfG4CMKAfFu6IF7 .image-shape .label,#mermaid-svg-1zfG4CMKAfFu6IF7 .icon-shape .label{text-align:center;}#mermaid-svg-1zfG4CMKAfFu6IF7 .node.clickable{cursor:pointer;}#mermaid-svg-1zfG4CMKAfFu6IF7 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-1zfG4CMKAfFu6IF7 .arrowheadPath{fill:#333333;}#mermaid-svg-1zfG4CMKAfFu6IF7 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-1zfG4CMKAfFu6IF7 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-1zfG4CMKAfFu6IF7 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-1zfG4CMKAfFu6IF7 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-1zfG4CMKAfFu6IF7 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-1zfG4CMKAfFu6IF7 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-1zfG4CMKAfFu6IF7 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-1zfG4CMKAfFu6IF7 .cluster text{fill:#333;}#mermaid-svg-1zfG4CMKAfFu6IF7 .cluster span{color:#333;}#mermaid-svg-1zfG4CMKAfFu6IF7 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-1zfG4CMKAfFu6IF7 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-1zfG4CMKAfFu6IF7 rect.text{fill:none;stroke-width:0;}#mermaid-svg-1zfG4CMKAfFu6IF7 .icon-shape,#mermaid-svg-1zfG4CMKAfFu6IF7 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-1zfG4CMKAfFu6IF7 .icon-shape p,#mermaid-svg-1zfG4CMKAfFu6IF7 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-1zfG4CMKAfFu6IF7 .icon-shape .label rect,#mermaid-svg-1zfG4CMKAfFu6IF7 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-1zfG4CMKAfFu6IF7 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-1zfG4CMKAfFu6IF7 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-1zfG4CMKAfFu6IF7 :root{&#8211;mermaid-font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;}<span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u662f<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u662f<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u5426<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u662f<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u5426<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u5426<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u662f<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u662f<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u5426<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u662f<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u5426<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u5426<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u662f<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u5426<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u8fd0\u884c\u65f6\u9519\u8bef\u53d1\u751f<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u5185\u90e8\u5757\u6709EXCEPTION?<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u5339\u914d\u5230\u5177\u4f53\u5f02\u5e38?<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u6267\u884c\u5185\u90e8\u5f02\u5e38\u5904\u7406\u5668<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u6709WHEN OTHERS?<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u6267\u884cWHEN OTHERS<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u5411\u5916\u90e8\u5757\u4f20\u64ad \u2191<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u5411\u5916\u90e8\u5757\u4f20\u64ad \u2191<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u5916\u90e8\u5757\u6709EXCEPTION?<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u5339\u914d\u5230\u5177\u4f53\u5f02\u5e38?<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u6267\u884c\u5916\u90e8\u5f02\u5e38\u5904\u7406\u5668<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u6709WHEN OTHERS?<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u6267\u884cWHEN OTHERS<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u7ee7\u7eed\u5411\u4e0a\u4f20\u64ad \u2191<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u7ee7\u7eed\u5411\u4e0a\u4f20\u64ad \u2191<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u5230\u8fbe\u6700\u5916\u5c42?<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u274c \u672a\u5904\u7406\u5f02\u5e38\u8fd4\u56de\u9519\u8bef\u7ed9\u8c03\u7528\u65b9<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u7ee7\u7eed\u5411\u66f4\u5916\u5c42\u4f20\u64ad&#8230;<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u2705 \u5f02\u5e38\u5df2\u5904\u7406\u7ee7\u7eed\u6267\u884c\u540e\u7eed\u4ee3\u7801<\/p>\n<p><\/span><\/p>\n<hr \/>\n<h3>A.9 \u7f51\u7edc\u5b89\u5168\u901a\u4fe1\u67b6\u6784<\/h3>\n<h4>A.9.1 Oracle Net Services \u8fde\u63a5\u6d41\u7a0b<\/h4>\n<p>Database InstanceListener (1521)DNS\/TNSNames\u5ba2\u6237\u7aefDatabase InstanceListener (1521)DNS\/TNSNames\u5ba2\u6237\u7aef#mermaid-svg-veC9UedKphVxecMa{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-veC9UedKphVxecMa .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-veC9UedKphVxecMa .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-veC9UedKphVxecMa .error-icon{fill:#552222;}#mermaid-svg-veC9UedKphVxecMa .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-veC9UedKphVxecMa .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-veC9UedKphVxecMa .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-veC9UedKphVxecMa .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-veC9UedKphVxecMa .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-veC9UedKphVxecMa .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-veC9UedKphVxecMa .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-veC9UedKphVxecMa .marker{fill:#333333;stroke:#333333;}#mermaid-svg-veC9UedKphVxecMa .marker.cross{stroke:#333333;}#mermaid-svg-veC9UedKphVxecMa svg{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-veC9UedKphVxecMa p{margin:0;}#mermaid-svg-veC9UedKphVxecMa .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-veC9UedKphVxecMa text.actor&gt;tspan{fill:black;stroke:none;}#mermaid-svg-veC9UedKphVxecMa .actor-line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-veC9UedKphVxecMa .innerArc{stroke-width:1.5;stroke-dasharray:none;}#mermaid-svg-veC9UedKphVxecMa .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-veC9UedKphVxecMa .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-veC9UedKphVxecMa #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-veC9UedKphVxecMa .sequenceNumber{fill:white;}#mermaid-svg-veC9UedKphVxecMa #sequencenumber{fill:#333;}#mermaid-svg-veC9UedKphVxecMa #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-veC9UedKphVxecMa .messageText{fill:#333;stroke:none;}#mermaid-svg-veC9UedKphVxecMa .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-veC9UedKphVxecMa .labelText,#mermaid-svg-veC9UedKphVxecMa .labelText&gt;tspan{fill:black;stroke:none;}#mermaid-svg-veC9UedKphVxecMa .loopText,#mermaid-svg-veC9UedKphVxecMa .loopText&gt;tspan{fill:black;stroke:none;}#mermaid-svg-veC9UedKphVxecMa .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-veC9UedKphVxecMa .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-veC9UedKphVxecMa .noteText,#mermaid-svg-veC9UedKphVxecMa .noteText&gt;tspan{fill:black;stroke:none;}#mermaid-svg-veC9UedKphVxecMa .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-veC9UedKphVxecMa .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-veC9UedKphVxecMa .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-veC9UedKphVxecMa .actorPopupMenu{position:absolute;}#mermaid-svg-veC9UedKphVxecMa .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 \/ 0.4));}#mermaid-svg-veC9UedKphVxecMa .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-veC9UedKphVxecMa .actor-man circle,#mermaid-svg-veC9UedKphVxecMa line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-veC9UedKphVxecMa :root{&#8211;mermaid-font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;}\u5305\u542bSERVICE_NAME\/SIDPMON\u6bcf60\u79d2\u6ce8\u518c\u670d\u52a1SID_LIST_LISTENER\u914d\u7f6ealt[\u52a8\u6001\u6ce8\u518c (PMON)][\u9759\u6001\u6ce8\u518c(listener.ora)]alt[Dedicated Server][Shared Server]loop[\u6570\u636e\u4ea4\u4e92]1. \u89e3\u6790\u670d\u52a1\u540d \u2192 HOST:PORT192.168.1.100:15212. \u53d1\u9001\u8fde\u63a5\u8bf7\u6c42(TNS Connect Packet)3. \u9a8c\u8bc1\u670d\u52a1\u662f\u5426\u6ce8\u518c4. \u6d3e\u751f\/\u91cd\u5b9a\u5411\u670d\u52a1\u5668\u8fdb\u7a0bFork\u4e13\u7528\u670d\u52a1\u5668\u8fdb\u7a0b5a. \u76f4\u63a5\u5efa\u7acb\u8fde\u63a5\u653e\u5165\u5171\u4eab\u670d\u52a1\u5668\u961f\u52175b. \u8c03\u5ea6\u5668\u5206\u914d\u8fde\u63a56. \u8ba4\u8bc1(\u7528\u6237\u540d\/\u5bc6\u7801)7. \u8ba4\u8bc1\u6210\u529f&#xff0c;\u4f1a\u8bdd\u5efa\u7acbSQL\u8bf7\u6c42\u7ed3\u679c\u96c6\u65ad\u5f00\u8fde\u63a5PMON\u6e05\u7406\u8d44\u6e90<\/p>\n<h4>A.9.2 \u76d1\u542c\u5668\u6ce8\u518c\u65b9\u5f0f\u5bf9\u6bd4<\/h4>\n<p>#mermaid-svg-JI3X5HVmWy0LZsmt{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-JI3X5HVmWy0LZsmt .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-JI3X5HVmWy0LZsmt .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-JI3X5HVmWy0LZsmt .error-icon{fill:#552222;}#mermaid-svg-JI3X5HVmWy0LZsmt .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-JI3X5HVmWy0LZsmt .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-JI3X5HVmWy0LZsmt .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-JI3X5HVmWy0LZsmt .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-JI3X5HVmWy0LZsmt .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-JI3X5HVmWy0LZsmt .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-JI3X5HVmWy0LZsmt .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-JI3X5HVmWy0LZsmt .marker{fill:#333333;stroke:#333333;}#mermaid-svg-JI3X5HVmWy0LZsmt .marker.cross{stroke:#333333;}#mermaid-svg-JI3X5HVmWy0LZsmt svg{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-JI3X5HVmWy0LZsmt p{margin:0;}#mermaid-svg-JI3X5HVmWy0LZsmt .label{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;color:#333;}#mermaid-svg-JI3X5HVmWy0LZsmt .cluster-label text{fill:#333;}#mermaid-svg-JI3X5HVmWy0LZsmt .cluster-label span{color:#333;}#mermaid-svg-JI3X5HVmWy0LZsmt .cluster-label span p{background-color:transparent;}#mermaid-svg-JI3X5HVmWy0LZsmt .label text,#mermaid-svg-JI3X5HVmWy0LZsmt span{fill:#333;color:#333;}#mermaid-svg-JI3X5HVmWy0LZsmt .node rect,#mermaid-svg-JI3X5HVmWy0LZsmt .node circle,#mermaid-svg-JI3X5HVmWy0LZsmt .node ellipse,#mermaid-svg-JI3X5HVmWy0LZsmt .node polygon,#mermaid-svg-JI3X5HVmWy0LZsmt .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-JI3X5HVmWy0LZsmt .rough-node .label text,#mermaid-svg-JI3X5HVmWy0LZsmt .node .label text,#mermaid-svg-JI3X5HVmWy0LZsmt .image-shape .label,#mermaid-svg-JI3X5HVmWy0LZsmt .icon-shape .label{text-anchor:middle;}#mermaid-svg-JI3X5HVmWy0LZsmt .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-JI3X5HVmWy0LZsmt .rough-node .label,#mermaid-svg-JI3X5HVmWy0LZsmt .node .label,#mermaid-svg-JI3X5HVmWy0LZsmt .image-shape .label,#mermaid-svg-JI3X5HVmWy0LZsmt .icon-shape .label{text-align:center;}#mermaid-svg-JI3X5HVmWy0LZsmt .node.clickable{cursor:pointer;}#mermaid-svg-JI3X5HVmWy0LZsmt .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-JI3X5HVmWy0LZsmt .arrowheadPath{fill:#333333;}#mermaid-svg-JI3X5HVmWy0LZsmt .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-JI3X5HVmWy0LZsmt .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-JI3X5HVmWy0LZsmt .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-JI3X5HVmWy0LZsmt .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-JI3X5HVmWy0LZsmt .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-JI3X5HVmWy0LZsmt .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-JI3X5HVmWy0LZsmt .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-JI3X5HVmWy0LZsmt .cluster text{fill:#333;}#mermaid-svg-JI3X5HVmWy0LZsmt .cluster span{color:#333;}#mermaid-svg-JI3X5HVmWy0LZsmt div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-JI3X5HVmWy0LZsmt .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-JI3X5HVmWy0LZsmt rect.text{fill:none;stroke-width:0;}#mermaid-svg-JI3X5HVmWy0LZsmt .icon-shape,#mermaid-svg-JI3X5HVmWy0LZsmt .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-JI3X5HVmWy0LZsmt .icon-shape p,#mermaid-svg-JI3X5HVmWy0LZsmt .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-JI3X5HVmWy0LZsmt .icon-shape .label rect,#mermaid-svg-JI3X5HVmWy0LZsmt .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-JI3X5HVmWy0LZsmt .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-JI3X5HVmWy0LZsmt .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-JI3X5HVmWy0LZsmt :root{&#8211;mermaid-font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;}<span class=\"nodeLabel\"><\/p>\n<p>\u9759\u6001\u6ce8\u518c<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u542f\u52a8\u65f6\u8bfb\u53d6<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>listener.oraSID_LIST_LISTENER<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Listener<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u2705 \u5b9e\u4f8b\u672a\u542f\u52a8\u4e5f\u53ef\u6ce8\u518c\u2705 \u9002\u7528\u4e8eOEM\/RMAN\u8fde\u63a5\u2705 \u53ef\u6ce8\u518c\u975e\u9ed8\u8ba4\u7aef\u53e3\u26a0\ufe0f \u9700\u624b\u52a8\u7ef4\u62a4\u914d\u7f6e<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u52a8\u6001\u6ce8\u518c (\u63a8\u8350)<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u6bcf60\u79d2<\/p>\n<p><\/span><span class=\"edgeLabel\"><\/p>\n<p>\u6ce8\u518c\u4fe1\u606f<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>PMON\u8fdb\u7a0b<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>Listener<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u2705 \u81ea\u52a8\u7ef4\u62a4\u2705 SERVICE_NAMES\u53c2\u6570\u63a7\u5236\u2705 \u652f\u6301RAC\u8d1f\u8f7d\u5747\u8861\u26a0\ufe0f \u5b9e\u4f8bMOUNT\u540e\u624d\u6ce8\u518c<\/p>\n<p><\/span><\/p>\n<hr \/>\n<h3>A.10 \u5173\u952e\u53c2\u6570\u901f\u67e5\u8868<\/h3>\n<h4>A.10.1 \u5185\u5b58\u76f8\u5173\u53c2\u6570<\/h4>\n<table>\n<tr>\u53c2\u6570\u9ed8\u8ba4\u503c\u8bf4\u660e\u4fee\u6539\u65b9\u5f0f<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">MEMORY_TARGET<\/td>\n<td align=\"left\">0<\/td>\n<td align=\"left\">AMM\u603b\u5185\u5b58\u76ee\u6807(\u542bSGA&#043;PGA)<\/td>\n<td align=\"left\">SCOPE&#061;SPFILE<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">SGA_TARGET<\/td>\n<td align=\"left\">0<\/td>\n<td align=\"left\">ASMM SGA\u81ea\u52a8\u7ba1\u7406\u76ee\u6807<\/td>\n<td align=\"left\">BOTH<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">PGA_AGGREGATE_TARGET<\/td>\n<td align=\"left\">0<\/td>\n<td align=\"left\">PGA\u81ea\u52a8\u7ba1\u7406\u76ee\u6807<\/td>\n<td align=\"left\">BOTH<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">DB_CACHE_SIZE<\/td>\n<td align=\"left\">0<\/td>\n<td align=\"left\">Buffer Cache\u5927\u5c0f(ASMM\u4e0b\u4e3a\u6700\u5c0f\u503c)<\/td>\n<td align=\"left\">BOTH<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">SHARED_POOL_SIZE<\/td>\n<td align=\"left\">0<\/td>\n<td align=\"left\">Shared Pool\u5927\u5c0f(ASMM\u4e0b\u4e3a\u6700\u5c0f\u503c)<\/td>\n<td align=\"left\">BOTH<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">LARGE_POOL_SIZE<\/td>\n<td align=\"left\">0<\/td>\n<td align=\"left\">Large Pool\u5927\u5c0f<\/td>\n<td align=\"left\">BOTH<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">JAVA_POOL_SIZE<\/td>\n<td align=\"left\">0<\/td>\n<td align=\"left\">Java Pool\u5927\u5c0f<\/td>\n<td align=\"left\">BOTH<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">STREAMS_POOL_SIZE<\/td>\n<td align=\"left\">0<\/td>\n<td align=\"left\">Streams Pool\u5927\u5c0f<\/td>\n<td align=\"left\">BOTH<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">LOG_BUFFER<\/td>\n<td align=\"left\">\u5e73\u53f0\u76f8\u5173<\/td>\n<td align=\"left\">Redo Log Buffer\u5927\u5c0f<\/td>\n<td align=\"left\">SPFILE<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">SORT_AREA_SIZE<\/td>\n<td align=\"left\">64KB<\/td>\n<td align=\"left\">PGA\u6392\u5e8f\u533a(\u624b\u52a8\u6a21\u5f0f)<\/td>\n<td align=\"left\">SESSION<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">HASH_AREA_SIZE<\/td>\n<td align=\"left\">2\u00d7SORT<\/td>\n<td align=\"left\">PGA\u54c8\u5e0c\u533a(\u624b\u52a8\u6a21\u5f0f)<\/td>\n<td align=\"left\">SESSION<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>A.10.2 \u5b89\u5168\u4e0e\u5ba1\u8ba1\u53c2\u6570<\/h4>\n<table>\n<tr>\u53c2\u6570\u63a8\u8350\u503c\u8bf4\u660e<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">AUDIT_TRAIL<\/td>\n<td align=\"left\">DB,EXTENDED<\/td>\n<td align=\"left\">\u7edf\u4e00\u5ba1\u8ba1(19c\u63a8\u8350UNIFIED)<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">SEC_CASE_SENSITIVE_LOGON<\/td>\n<td align=\"left\">TRUE<\/td>\n<td align=\"left\">\u5bc6\u7801\u533a\u5206\u5927\u5c0f\u5199<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">SEC_MAX_FAILED_LOGIN_ATTEMPTS<\/td>\n<td align=\"left\">3<\/td>\n<td align=\"left\">\u6700\u5927\u5931\u8d25\u767b\u5f55\u6b21\u6570<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">PASSWORD_LIFE_TIME<\/td>\n<td align=\"left\">90<\/td>\n<td align=\"left\">\u5bc6\u7801\u6709\u6548\u671f(\u5929)<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">FAILED_LOGIN_ATTEMPTS<\/td>\n<td align=\"left\">5<\/td>\n<td align=\"left\">\u8d26\u6237\u9501\u5b9a\u524d\u5931\u8d25\u6b21\u6570<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">PASSWORD_LOCK_TIME<\/td>\n<td align=\"left\">1<\/td>\n<td align=\"left\">\u8d26\u6237\u9501\u5b9a\u65f6\u957f(\u5929)<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">OS_AUTHENT_PREFIX<\/td>\n<td align=\"left\">\u201c\u201d<\/td>\n<td align=\"left\">OS\u8ba4\u8bc1\u524d\u7f00(\u5efa\u8bae\u7f6e\u7a7a\u7981\u7528)<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">REMOTE_OS_AUTHENT<\/td>\n<td align=\"left\">FALSE<\/td>\n<td align=\"left\">\u7981\u6b62\u8fdc\u7a0bOS\u8ba4\u8bc1<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">SQL92_SECURITY<\/td>\n<td align=\"left\">TRUE<\/td>\n<td align=\"left\">UPDATE\/DELETE\u9700SELECT\u6743\u9650<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>A.10.3 \u95ea\u56de\u76f8\u5173\u53c2\u6570<\/h4>\n<table>\n<tr>\u53c2\u6570\u8bf4\u660e\u5178\u578b\u503c<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">UNDO_RETENTION<\/td>\n<td align=\"left\">UNDO\u4fdd\u7559\u65f6\u95f4(\u79d2)<\/td>\n<td align=\"left\">900~3600<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">DB_FLASHBACK_RETENTION_TARGET<\/td>\n<td align=\"left\">\u95ea\u56de\u65e5\u5fd7\u4fdd\u7559\u65f6\u95f4(\u5206\u949f)<\/td>\n<td align=\"left\">1440(1\u5929)~4320(3\u5929)<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">DB_RECOVERY_FILE_DEST<\/td>\n<td align=\"left\">FRA\u8def\u5f84<\/td>\n<td align=\"left\">\/u01\/fra<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">DB_RECOVERY_FILE_DEST_SIZE<\/td>\n<td align=\"left\">FRA\u5927\u5c0f\u9650\u5236<\/td>\n<td align=\"left\">10G~50G<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">RECYCLEBIN<\/td>\n<td align=\"left\">\u56de\u6536\u7ad9\u5f00\u5173<\/td>\n<td align=\"left\">ON<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">ENABLE_PLUGGABLE_DATABASE<\/td>\n<td align=\"left\">\u542f\u7528\u591a\u79df\u6237<\/td>\n<td align=\"left\">TRUE<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h3>A.11 \u5e38\u7528\u6570\u636e\u5b57\u5178\u89c6\u56fe\u901f\u67e5<\/h3>\n<h4>A.11.1 \u6838\u5fc3\u89c6\u56fe\u5206\u7c7b<\/h4>\n<p>#mermaid-svg-I4SUfhgCUzUL00QD{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-I4SUfhgCUzUL00QD .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-I4SUfhgCUzUL00QD .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-I4SUfhgCUzUL00QD .error-icon{fill:#552222;}#mermaid-svg-I4SUfhgCUzUL00QD .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-I4SUfhgCUzUL00QD .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-I4SUfhgCUzUL00QD .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-I4SUfhgCUzUL00QD .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-I4SUfhgCUzUL00QD .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-I4SUfhgCUzUL00QD .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-I4SUfhgCUzUL00QD .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-I4SUfhgCUzUL00QD .marker{fill:#333333;stroke:#333333;}#mermaid-svg-I4SUfhgCUzUL00QD .marker.cross{stroke:#333333;}#mermaid-svg-I4SUfhgCUzUL00QD svg{font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-I4SUfhgCUzUL00QD p{margin:0;}#mermaid-svg-I4SUfhgCUzUL00QD .edge{stroke-width:3;}#mermaid-svg-I4SUfhgCUzUL00QD .section&#8211;1 rect,#mermaid-svg-I4SUfhgCUzUL00QD .section&#8211;1 path,#mermaid-svg-I4SUfhgCUzUL00QD .section&#8211;1 circle,#mermaid-svg-I4SUfhgCUzUL00QD .section&#8211;1 polygon,#mermaid-svg-I4SUfhgCUzUL00QD .section&#8211;1 path{fill:hsl(240, 100%, 76.2745098039%);}#mermaid-svg-I4SUfhgCUzUL00QD .section&#8211;1 text{fill:#ffffff;}#mermaid-svg-I4SUfhgCUzUL00QD .node-icon&#8211;1{font-size:40px;color:#ffffff;}#mermaid-svg-I4SUfhgCUzUL00QD .section-edge&#8211;1{stroke:hsl(240, 100%, 76.2745098039%);}#mermaid-svg-I4SUfhgCUzUL00QD .edge-depth&#8211;1{stroke-width:17;}#mermaid-svg-I4SUfhgCUzUL00QD .section&#8211;1 line{stroke:hsl(60, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-I4SUfhgCUzUL00QD .disabled,#mermaid-svg-I4SUfhgCUzUL00QD .disabled circle,#mermaid-svg-I4SUfhgCUzUL00QD .disabled text{fill:lightgray;}#mermaid-svg-I4SUfhgCUzUL00QD .disabled text{fill:#efefef;}#mermaid-svg-I4SUfhgCUzUL00QD .section-0 rect,#mermaid-svg-I4SUfhgCUzUL00QD .section-0 path,#mermaid-svg-I4SUfhgCUzUL00QD .section-0 circle,#mermaid-svg-I4SUfhgCUzUL00QD .section-0 polygon,#mermaid-svg-I4SUfhgCUzUL00QD .section-0 path{fill:hsl(60, 100%, 73.5294117647%);}#mermaid-svg-I4SUfhgCUzUL00QD .section-0 text{fill:black;}#mermaid-svg-I4SUfhgCUzUL00QD .node-icon-0{font-size:40px;color:black;}#mermaid-svg-I4SUfhgCUzUL00QD .section-edge-0{stroke:hsl(60, 100%, 73.5294117647%);}#mermaid-svg-I4SUfhgCUzUL00QD .edge-depth-0{stroke-width:14;}#mermaid-svg-I4SUfhgCUzUL00QD .section-0 line{stroke:hsl(240, 100%, 83.5294117647%);stroke-width:3;}#mermaid-svg-I4SUfhgCUzUL00QD .disabled,#mermaid-svg-I4SUfhgCUzUL00QD .disabled circle,#mermaid-svg-I4SUfhgCUzUL00QD .disabled text{fill:lightgray;}#mermaid-svg-I4SUfhgCUzUL00QD .disabled text{fill:#efefef;}#mermaid-svg-I4SUfhgCUzUL00QD .section-1 rect,#mermaid-svg-I4SUfhgCUzUL00QD .section-1 path,#mermaid-svg-I4SUfhgCUzUL00QD .section-1 circle,#mermaid-svg-I4SUfhgCUzUL00QD .section-1 polygon,#mermaid-svg-I4SUfhgCUzUL00QD .section-1 path{fill:hsl(80, 100%, 76.2745098039%);}#mermaid-svg-I4SUfhgCUzUL00QD .section-1 text{fill:black;}#mermaid-svg-I4SUfhgCUzUL00QD .node-icon-1{font-size:40px;color:black;}#mermaid-svg-I4SUfhgCUzUL00QD .section-edge-1{stroke:hsl(80, 100%, 76.2745098039%);}#mermaid-svg-I4SUfhgCUzUL00QD .edge-depth-1{stroke-width:11;}#mermaid-svg-I4SUfhgCUzUL00QD .section-1 line{stroke:hsl(260, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-I4SUfhgCUzUL00QD .disabled,#mermaid-svg-I4SUfhgCUzUL00QD .disabled circle,#mermaid-svg-I4SUfhgCUzUL00QD .disabled text{fill:lightgray;}#mermaid-svg-I4SUfhgCUzUL00QD .disabled text{fill:#efefef;}#mermaid-svg-I4SUfhgCUzUL00QD .section-2 rect,#mermaid-svg-I4SUfhgCUzUL00QD .section-2 path,#mermaid-svg-I4SUfhgCUzUL00QD .section-2 circle,#mermaid-svg-I4SUfhgCUzUL00QD .section-2 polygon,#mermaid-svg-I4SUfhgCUzUL00QD .section-2 path{fill:hsl(270, 100%, 76.2745098039%);}#mermaid-svg-I4SUfhgCUzUL00QD .section-2 text{fill:#ffffff;}#mermaid-svg-I4SUfhgCUzUL00QD .node-icon-2{font-size:40px;color:#ffffff;}#mermaid-svg-I4SUfhgCUzUL00QD .section-edge-2{stroke:hsl(270, 100%, 76.2745098039%);}#mermaid-svg-I4SUfhgCUzUL00QD .edge-depth-2{stroke-width:8;}#mermaid-svg-I4SUfhgCUzUL00QD .section-2 line{stroke:hsl(90, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-I4SUfhgCUzUL00QD .disabled,#mermaid-svg-I4SUfhgCUzUL00QD .disabled circle,#mermaid-svg-I4SUfhgCUzUL00QD .disabled text{fill:lightgray;}#mermaid-svg-I4SUfhgCUzUL00QD .disabled text{fill:#efefef;}#mermaid-svg-I4SUfhgCUzUL00QD .section-3 rect,#mermaid-svg-I4SUfhgCUzUL00QD .section-3 path,#mermaid-svg-I4SUfhgCUzUL00QD .section-3 circle,#mermaid-svg-I4SUfhgCUzUL00QD .section-3 polygon,#mermaid-svg-I4SUfhgCUzUL00QD .section-3 path{fill:hsl(300, 100%, 76.2745098039%);}#mermaid-svg-I4SUfhgCUzUL00QD .section-3 text{fill:black;}#mermaid-svg-I4SUfhgCUzUL00QD .node-icon-3{font-size:40px;color:black;}#mermaid-svg-I4SUfhgCUzUL00QD .section-edge-3{stroke:hsl(300, 100%, 76.2745098039%);}#mermaid-svg-I4SUfhgCUzUL00QD .edge-depth-3{stroke-width:5;}#mermaid-svg-I4SUfhgCUzUL00QD .section-3 line{stroke:hsl(120, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-I4SUfhgCUzUL00QD .disabled,#mermaid-svg-I4SUfhgCUzUL00QD .disabled circle,#mermaid-svg-I4SUfhgCUzUL00QD .disabled text{fill:lightgray;}#mermaid-svg-I4SUfhgCUzUL00QD .disabled text{fill:#efefef;}#mermaid-svg-I4SUfhgCUzUL00QD .section-4 rect,#mermaid-svg-I4SUfhgCUzUL00QD .section-4 path,#mermaid-svg-I4SUfhgCUzUL00QD .section-4 circle,#mermaid-svg-I4SUfhgCUzUL00QD .section-4 polygon,#mermaid-svg-I4SUfhgCUzUL00QD .section-4 path{fill:hsl(330, 100%, 76.2745098039%);}#mermaid-svg-I4SUfhgCUzUL00QD .section-4 text{fill:black;}#mermaid-svg-I4SUfhgCUzUL00QD .node-icon-4{font-size:40px;color:black;}#mermaid-svg-I4SUfhgCUzUL00QD .section-edge-4{stroke:hsl(330, 100%, 76.2745098039%);}#mermaid-svg-I4SUfhgCUzUL00QD .edge-depth-4{stroke-width:2;}#mermaid-svg-I4SUfhgCUzUL00QD .section-4 line{stroke:hsl(150, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-I4SUfhgCUzUL00QD .disabled,#mermaid-svg-I4SUfhgCUzUL00QD .disabled circle,#mermaid-svg-I4SUfhgCUzUL00QD .disabled text{fill:lightgray;}#mermaid-svg-I4SUfhgCUzUL00QD .disabled text{fill:#efefef;}#mermaid-svg-I4SUfhgCUzUL00QD .section-5 rect,#mermaid-svg-I4SUfhgCUzUL00QD .section-5 path,#mermaid-svg-I4SUfhgCUzUL00QD .section-5 circle,#mermaid-svg-I4SUfhgCUzUL00QD .section-5 polygon,#mermaid-svg-I4SUfhgCUzUL00QD .section-5 path{fill:hsl(0, 100%, 76.2745098039%);}#mermaid-svg-I4SUfhgCUzUL00QD .section-5 text{fill:black;}#mermaid-svg-I4SUfhgCUzUL00QD .node-icon-5{font-size:40px;color:black;}#mermaid-svg-I4SUfhgCUzUL00QD .section-edge-5{stroke:hsl(0, 100%, 76.2745098039%);}#mermaid-svg-I4SUfhgCUzUL00QD .edge-depth-5{stroke-width:-1;}#mermaid-svg-I4SUfhgCUzUL00QD .section-5 line{stroke:hsl(180, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-I4SUfhgCUzUL00QD .disabled,#mermaid-svg-I4SUfhgCUzUL00QD .disabled circle,#mermaid-svg-I4SUfhgCUzUL00QD .disabled text{fill:lightgray;}#mermaid-svg-I4SUfhgCUzUL00QD .disabled text{fill:#efefef;}#mermaid-svg-I4SUfhgCUzUL00QD .section-6 rect,#mermaid-svg-I4SUfhgCUzUL00QD .section-6 path,#mermaid-svg-I4SUfhgCUzUL00QD .section-6 circle,#mermaid-svg-I4SUfhgCUzUL00QD .section-6 polygon,#mermaid-svg-I4SUfhgCUzUL00QD .section-6 path{fill:hsl(30, 100%, 76.2745098039%);}#mermaid-svg-I4SUfhgCUzUL00QD .section-6 text{fill:black;}#mermaid-svg-I4SUfhgCUzUL00QD .node-icon-6{font-size:40px;color:black;}#mermaid-svg-I4SUfhgCUzUL00QD .section-edge-6{stroke:hsl(30, 100%, 76.2745098039%);}#mermaid-svg-I4SUfhgCUzUL00QD .edge-depth-6{stroke-width:-4;}#mermaid-svg-I4SUfhgCUzUL00QD .section-6 line{stroke:hsl(210, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-I4SUfhgCUzUL00QD .disabled,#mermaid-svg-I4SUfhgCUzUL00QD .disabled circle,#mermaid-svg-I4SUfhgCUzUL00QD .disabled text{fill:lightgray;}#mermaid-svg-I4SUfhgCUzUL00QD .disabled text{fill:#efefef;}#mermaid-svg-I4SUfhgCUzUL00QD .section-7 rect,#mermaid-svg-I4SUfhgCUzUL00QD .section-7 path,#mermaid-svg-I4SUfhgCUzUL00QD .section-7 circle,#mermaid-svg-I4SUfhgCUzUL00QD .section-7 polygon,#mermaid-svg-I4SUfhgCUzUL00QD .section-7 path{fill:hsl(90, 100%, 76.2745098039%);}#mermaid-svg-I4SUfhgCUzUL00QD .section-7 text{fill:black;}#mermaid-svg-I4SUfhgCUzUL00QD .node-icon-7{font-size:40px;color:black;}#mermaid-svg-I4SUfhgCUzUL00QD .section-edge-7{stroke:hsl(90, 100%, 76.2745098039%);}#mermaid-svg-I4SUfhgCUzUL00QD .edge-depth-7{stroke-width:-7;}#mermaid-svg-I4SUfhgCUzUL00QD .section-7 line{stroke:hsl(270, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-I4SUfhgCUzUL00QD .disabled,#mermaid-svg-I4SUfhgCUzUL00QD .disabled circle,#mermaid-svg-I4SUfhgCUzUL00QD .disabled text{fill:lightgray;}#mermaid-svg-I4SUfhgCUzUL00QD .disabled text{fill:#efefef;}#mermaid-svg-I4SUfhgCUzUL00QD .section-8 rect,#mermaid-svg-I4SUfhgCUzUL00QD .section-8 path,#mermaid-svg-I4SUfhgCUzUL00QD .section-8 circle,#mermaid-svg-I4SUfhgCUzUL00QD .section-8 polygon,#mermaid-svg-I4SUfhgCUzUL00QD .section-8 path{fill:hsl(150, 100%, 76.2745098039%);}#mermaid-svg-I4SUfhgCUzUL00QD .section-8 text{fill:black;}#mermaid-svg-I4SUfhgCUzUL00QD .node-icon-8{font-size:40px;color:black;}#mermaid-svg-I4SUfhgCUzUL00QD .section-edge-8{stroke:hsl(150, 100%, 76.2745098039%);}#mermaid-svg-I4SUfhgCUzUL00QD .edge-depth-8{stroke-width:-10;}#mermaid-svg-I4SUfhgCUzUL00QD .section-8 line{stroke:hsl(330, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-I4SUfhgCUzUL00QD .disabled,#mermaid-svg-I4SUfhgCUzUL00QD .disabled circle,#mermaid-svg-I4SUfhgCUzUL00QD .disabled text{fill:lightgray;}#mermaid-svg-I4SUfhgCUzUL00QD .disabled text{fill:#efefef;}#mermaid-svg-I4SUfhgCUzUL00QD .section-9 rect,#mermaid-svg-I4SUfhgCUzUL00QD .section-9 path,#mermaid-svg-I4SUfhgCUzUL00QD .section-9 circle,#mermaid-svg-I4SUfhgCUzUL00QD .section-9 polygon,#mermaid-svg-I4SUfhgCUzUL00QD .section-9 path{fill:hsl(180, 100%, 76.2745098039%);}#mermaid-svg-I4SUfhgCUzUL00QD .section-9 text{fill:black;}#mermaid-svg-I4SUfhgCUzUL00QD .node-icon-9{font-size:40px;color:black;}#mermaid-svg-I4SUfhgCUzUL00QD .section-edge-9{stroke:hsl(180, 100%, 76.2745098039%);}#mermaid-svg-I4SUfhgCUzUL00QD .edge-depth-9{stroke-width:-13;}#mermaid-svg-I4SUfhgCUzUL00QD .section-9 line{stroke:hsl(0, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-I4SUfhgCUzUL00QD .disabled,#mermaid-svg-I4SUfhgCUzUL00QD .disabled circle,#mermaid-svg-I4SUfhgCUzUL00QD .disabled text{fill:lightgray;}#mermaid-svg-I4SUfhgCUzUL00QD .disabled text{fill:#efefef;}#mermaid-svg-I4SUfhgCUzUL00QD .section-10 rect,#mermaid-svg-I4SUfhgCUzUL00QD .section-10 path,#mermaid-svg-I4SUfhgCUzUL00QD .section-10 circle,#mermaid-svg-I4SUfhgCUzUL00QD .section-10 polygon,#mermaid-svg-I4SUfhgCUzUL00QD .section-10 path{fill:hsl(210, 100%, 76.2745098039%);}#mermaid-svg-I4SUfhgCUzUL00QD .section-10 text{fill:black;}#mermaid-svg-I4SUfhgCUzUL00QD .node-icon-10{font-size:40px;color:black;}#mermaid-svg-I4SUfhgCUzUL00QD .section-edge-10{stroke:hsl(210, 100%, 76.2745098039%);}#mermaid-svg-I4SUfhgCUzUL00QD .edge-depth-10{stroke-width:-16;}#mermaid-svg-I4SUfhgCUzUL00QD .section-10 line{stroke:hsl(30, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-I4SUfhgCUzUL00QD .disabled,#mermaid-svg-I4SUfhgCUzUL00QD .disabled circle,#mermaid-svg-I4SUfhgCUzUL00QD .disabled text{fill:lightgray;}#mermaid-svg-I4SUfhgCUzUL00QD .disabled text{fill:#efefef;}#mermaid-svg-I4SUfhgCUzUL00QD .section-root rect,#mermaid-svg-I4SUfhgCUzUL00QD .section-root path,#mermaid-svg-I4SUfhgCUzUL00QD .section-root circle,#mermaid-svg-I4SUfhgCUzUL00QD .section-root polygon{fill:hsl(240, 100%, 46.2745098039%);}#mermaid-svg-I4SUfhgCUzUL00QD .section-root text{fill:#ffffff;}#mermaid-svg-I4SUfhgCUzUL00QD .section-root span{color:#ffffff;}#mermaid-svg-I4SUfhgCUzUL00QD .section-2 span{color:#ffffff;}#mermaid-svg-I4SUfhgCUzUL00QD .icon-container{height:100%;display:flex;justify-content:center;align-items:center;}#mermaid-svg-I4SUfhgCUzUL00QD .edge{fill:none;}#mermaid-svg-I4SUfhgCUzUL00QD .mindmap-node-label{dy:1em;alignment-baseline:middle;text-anchor:middle;dominant-baseline:middle;text-align:center;}#mermaid-svg-I4SUfhgCUzUL00QD :root{&#8211;mermaid-font-family:\\&#8221;trebuchet ms\\&#8221;,verdana,arial,sans-serif;}<span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"edgeLabel\"><\/span><span class=\"nodeLabel\"><\/p>\n<p>\u6570\u636e\u5b57\u5178\u89c6\u56fe<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>USER_\u7cfb\u5217<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>USER_TABLES<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>USER_INDEXES<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>USER_VIEWS<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>USER_SEQUENCES<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>USER_OBJECTS<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>USER_TAB_COLUMNS<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>USER_CONSTRAINTS<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>USER_SOURCE<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>USER_TRIGGERS<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>ALL_\u7cfb\u5217<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>ALL_TABLES<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>ALL_OBJECTS<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>ALL_TAB_PRIVS<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>ALL_SOURCE<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>ALL_VIEWS<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>DBA_\u7cfb\u5217<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>DBA_TABLES<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>DBA_USERS<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>DBA_TABLESPACES<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>DBA_DATA_FILES<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>DBA_SEGMENTS<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>DBA_ROLES<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>DBA_SYS_PRIVS<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>DBA_TAB_PRIVS<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>DBA_PROFILES<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>V$_\u52a8\u6001\u89c6\u56fe<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>V$SESSION<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>V$SQL<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>V$LOCK<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>V$PARAMETER<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>V$SGA<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>V$DATABASE<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>V$CONTROLFILE<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>V$LOG<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>V$ARCHIVED_LOG<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>V$PROCESS<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>V$WAITSTAT<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>V$ACTIVE_SESSION_HISTORY<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>GV$_\u96c6\u7fa4\u89c6\u56fe<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>GV$SESSION<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>GV$SQL<\/p>\n<p><\/span><span class=\"nodeLabel\"><\/p>\n<p>GV$INSTANCE<\/p>\n<p><\/span><\/p>\n<h4>A.11.2 DBA\u9ad8\u9891\u67e5\u8be2\u901f\u67e5\u8868<\/h4>\n<table>\n<tr>\u67e5\u8be2\u76ee\u7684SQL\u8bed\u53e5<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">\u67e5\u770b\u8868\u7a7a\u95f4\u4f7f\u7528\u7387<\/td>\n<td align=\"left\">SELECT tablespace_name, ROUND(used_percent,2) FROM DBA_TABLESPACE_USAGE_METRICS ORDER BY used_percent DESC<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u67e5\u770b\u6d3b\u8dc3\u4f1a\u8bdd<\/td>\n<td align=\"left\">SELECT sid, serial#, username, program, sql_id, event FROM V$SESSION WHERE status&#061;&#039;ACTIVE&#039; AND type!&#061;&#039;BACKGROUND&#039;<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u67e5\u770bTop SQL<\/td>\n<td align=\"left\">SELECT sql_id, elapsed_time\/1e6 sec, executions, sql_text FROM V$SQL ORDER BY elapsed_time DESC FETCH FIRST 10 ROWS ONLY<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u67e5\u770b\u9501\u7b49\u5f85<\/td>\n<td align=\"left\">SELECT s.sid, s.username, l.type, l.lmode, l.request FROM V$LOCK l JOIN V$SESSION s ON l.sid&#061;s.sid WHERE l.request&gt;0<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u67e5\u770b\u6570\u636e\u6587\u4ef6IO<\/td>\n<td align=\"left\">SELECT file_name, phyrds, phywrts, readtim, writetim FROM V$FILESTAT f JOIN DBA_DATA_FILES d ON f.file#&#061;d.file_id ORDER BY readtim DESC<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u67e5\u770b\u7528\u6237\u6743\u9650<\/td>\n<td align=\"left\">SELECT * FROM DBA_SYS_PRIVS WHERE grantee&#061;&#039;&amp;user&#039; UNION ALL SELECT * FROM DBA_ROLE_PRIVS WHERE grantee&#061;&#039;&amp;user&#039;<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u67e5\u770b\u65e0\u6548\u5bf9\u8c61<\/td>\n<td align=\"left\">SELECT owner, object_name, object_type FROM DBA_OBJECTS WHERE status&#061;&#039;INVALID&#039;<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u67e5\u770b\u5f52\u6863\u65e5\u5fd7<\/td>\n<td align=\"left\">SELECT sequence#, name, first_time, next_time, applied FROM V$ARCHIVED_LOG ORDER BY sequence# DESC FETCH FIRST 20 ROWS ONLY<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u67e5\u770bAWR\u5feb\u7167<\/td>\n<td align=\"left\">SELECT snap_id, begin_interval_time, end_interval_time FROM DBA_HIST_SNAPSHOT ORDER BY snap_id DESC FETCH FIRST 10 ROWS ONLY<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u67e5\u770bPDB\u72b6\u6001<\/td>\n<td align=\"left\">SELECT con_id, name, open_mode, restricted, save_state FROM V$CONTAINERS<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<p>&#x1f4ce; \u9644\u5f55\u4f7f\u7528\u5efa\u8bae&#xff1a;<\/p>\n<li>\u5b66\u4e60\u9636\u6bb5&#xff1a;\u5148\u9605\u8bfb\u6b63\u6587\u5bf9\u5e94\u7ae0\u8282&#xff0c;\u518d\u67e5\u770b\u9644\u5f55\u4e2d\u7684\u56fe\u8868\u52a0\u6df1\u7406\u89e3<\/li>\n<li>\u590d\u4e60\u9636\u6bb5&#xff1a;\u76f4\u63a5\u6d4f\u89c8\u9644\u5f55\u56fe\u8868&#xff0c;\u56de\u5fc6\u5bf9\u5e94\u77e5\u8bc6\u70b9&#xff0c;\u67e5\u6f0f\u8865\u7f3a<\/li>\n<li>\u5b9e\u6218\u9636\u6bb5&#xff1a;\u67e5\u9605A.10\u53c2\u6570\u8868\u548cA.11\u89c6\u56fe\u901f\u67e5\u8868&#xff0c;\u4f5c\u4e3a\u65e5\u5e38\u5de5\u4f5c\u53c2\u8003<\/li>\n<li>\u9762\u8bd5\u51c6\u5907&#xff1a;\u91cd\u70b9\u8bb0\u5fc6A.5\u5907\u4efd\u6062\u590d\u51b3\u7b56\u6811\u3001A.6\u95ea\u56de\u9009\u578b\u77e9\u9635\u3001A.7\u591a\u79df\u6237\u5bf9\u6bd4\u8868<\/li>\n","protected":false},"excerpt":{"rendered":"<p>\u4e07\u5b57\u4e66\u7c4d\u901f\u901a\u4e4b\u300aOracle\u6570\u636e\u5e93\u5b9e\u7528\u6559\u7a0b(19C)\u300b&#x1f4d6; \u5bfc\u8bfb&#xff1a;\u672c\u6587\u662f\u5bf9\u300aOracle\u6570\u636e\u5e93\u5b9e\u7528\u6559\u7a0b(19C)\u300b\u5168\u4e66\u7684\u7cbe\u534e\u6d53\u7f29\u4e0e\u901f\u901a\u6307\u5357\u3002\u4eceOracle\u6570\u636e\u5e93\u7684\u57fa\u7840\u5b89\u88c5\u5230\u591a\u79df\u6237\u67b6\u6784&#xff0c;\u4eceSQL\u64cd\u4f5c\u5230PL\/SQL\u5f00\u53d1&#xff0c;\u4ece\u5907\u4efd\u6062\u590d\u5230\u95ea\u56de\u6280\u672f&#xff0c;\u6db5\u76d6Oracle DBA\u548c\u5f00\u53d1\u8005\u5fc5\u987b\u638c\u63e1\u7684\u6838\u5fc3\u77e5\u8bc6\u4f53\u7cfb\u3002\u9002\u5408\u5728\u6821\u5b66\u751f\u3001\u521d\u7ea7DBA\u53ca\u9700\u8981\u5feb\u901f\u56de\u987eOracle\u77e5\u8bc6\u4f53\u7cfb\u7684\u5f00\u53d1\u8005\u9605\u8bfb\u6536\u85cf\u3002\u7b2c1\u7ae0 Oracle\u6570\u636e\u5e93\u57fa\u7840<br \/>\n1.1 <\/p>\n","protected":false},"author":2,"featured_media":92450,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[604,100],"topic":[],"class_list":["post-92451","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-server","tag-oracle","tag-100"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u4e07\u5b57\u4e66\u7c4d\u901f\u901a\u4e4b\u300aOracle\u6570\u636e\u5e93\u5b9e\u7528\u6559\u7a0b(19C)\u300b - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.wsisp.com\/helps\/92451.html\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u4e07\u5b57\u4e66\u7c4d\u901f\u901a\u4e4b\u300aOracle\u6570\u636e\u5e93\u5b9e\u7528\u6559\u7a0b(19C)\u300b - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"og:description\" content=\"\u4e07\u5b57\u4e66\u7c4d\u901f\u901a\u4e4b\u300aOracle\u6570\u636e\u5e93\u5b9e\u7528\u6559\u7a0b(19C)\u300b&#x1f4d6; \u5bfc\u8bfb&#xff1a;\u672c\u6587\u662f\u5bf9\u300aOracle\u6570\u636e\u5e93\u5b9e\u7528\u6559\u7a0b(19C)\u300b\u5168\u4e66\u7684\u7cbe\u534e\u6d53\u7f29\u4e0e\u901f\u901a\u6307\u5357\u3002\u4eceOracle\u6570\u636e\u5e93\u7684\u57fa\u7840\u5b89\u88c5\u5230\u591a\u79df\u6237\u67b6\u6784&#xff0c;\u4eceSQL\u64cd\u4f5c\u5230PL\/SQL\u5f00\u53d1&#xff0c;\u4ece\u5907\u4efd\u6062\u590d\u5230\u95ea\u56de\u6280\u672f&#xff0c;\u6db5\u76d6Oracle DBA\u548c\u5f00\u53d1\u8005\u5fc5\u987b\u638c\u63e1\u7684\u6838\u5fc3\u77e5\u8bc6\u4f53\u7cfb\u3002\u9002\u5408\u5728\u6821\u5b66\u751f\u3001\u521d\u7ea7DBA\u53ca\u9700\u8981\u5feb\u901f\u56de\u987eOracle\u77e5\u8bc6\u4f53\u7cfb\u7684\u5f00\u53d1\u8005\u9605\u8bfb\u6536\u85cf\u3002\u7b2c1\u7ae0 Oracle\u6570\u636e\u5e93\u57fa\u7840 1.1\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.wsisp.com\/helps\/92451.html\" \/>\n<meta property=\"og:site_name\" content=\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-10T04:01:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/08\/20260810040101-6a794cfdba855.png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"85 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/92451.html\",\"url\":\"https:\/\/www.wsisp.com\/helps\/92451.html\",\"name\":\"\u4e07\u5b57\u4e66\u7c4d\u901f\u901a\u4e4b\u300aOracle\u6570\u636e\u5e93\u5b9e\u7528\u6559\u7a0b(19C)\u300b - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"isPartOf\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\"},\"datePublished\":\"2026-08-10T04:01:02+00:00\",\"dateModified\":\"2026-08-10T04:01:02+00:00\",\"author\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/92451.html#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.wsisp.com\/helps\/92451.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/92451.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.wsisp.com\/helps\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u4e07\u5b57\u4e66\u7c4d\u901f\u901a\u4e4b\u300aOracle\u6570\u636e\u5e93\u5b9e\u7528\u6559\u7a0b(19C)\u300b\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\",\"url\":\"https:\/\/www.wsisp.com\/helps\/\",\"name\":\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"description\":\"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"contentUrl\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"caption\":\"admin\"},\"sameAs\":[\"http:\/\/wp.wsisp.com\"],\"url\":\"https:\/\/www.wsisp.com\/helps\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u4e07\u5b57\u4e66\u7c4d\u901f\u901a\u4e4b\u300aOracle\u6570\u636e\u5e93\u5b9e\u7528\u6559\u7a0b(19C)\u300b - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.wsisp.com\/helps\/92451.html","og_locale":"zh_CN","og_type":"article","og_title":"\u4e07\u5b57\u4e66\u7c4d\u901f\u901a\u4e4b\u300aOracle\u6570\u636e\u5e93\u5b9e\u7528\u6559\u7a0b(19C)\u300b - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","og_description":"\u4e07\u5b57\u4e66\u7c4d\u901f\u901a\u4e4b\u300aOracle\u6570\u636e\u5e93\u5b9e\u7528\u6559\u7a0b(19C)\u300b&#x1f4d6; \u5bfc\u8bfb&#xff1a;\u672c\u6587\u662f\u5bf9\u300aOracle\u6570\u636e\u5e93\u5b9e\u7528\u6559\u7a0b(19C)\u300b\u5168\u4e66\u7684\u7cbe\u534e\u6d53\u7f29\u4e0e\u901f\u901a\u6307\u5357\u3002\u4eceOracle\u6570\u636e\u5e93\u7684\u57fa\u7840\u5b89\u88c5\u5230\u591a\u79df\u6237\u67b6\u6784&#xff0c;\u4eceSQL\u64cd\u4f5c\u5230PL\/SQL\u5f00\u53d1&#xff0c;\u4ece\u5907\u4efd\u6062\u590d\u5230\u95ea\u56de\u6280\u672f&#xff0c;\u6db5\u76d6Oracle DBA\u548c\u5f00\u53d1\u8005\u5fc5\u987b\u638c\u63e1\u7684\u6838\u5fc3\u77e5\u8bc6\u4f53\u7cfb\u3002\u9002\u5408\u5728\u6821\u5b66\u751f\u3001\u521d\u7ea7DBA\u53ca\u9700\u8981\u5feb\u901f\u56de\u987eOracle\u77e5\u8bc6\u4f53\u7cfb\u7684\u5f00\u53d1\u8005\u9605\u8bfb\u6536\u85cf\u3002\u7b2c1\u7ae0 Oracle\u6570\u636e\u5e93\u57fa\u7840 1.1","og_url":"https:\/\/www.wsisp.com\/helps\/92451.html","og_site_name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","article_published_time":"2026-08-10T04:01:02+00:00","og_image":[{"url":"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/08\/20260810040101-6a794cfdba855.png"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"admin","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"85 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.wsisp.com\/helps\/92451.html","url":"https:\/\/www.wsisp.com\/helps\/92451.html","name":"\u4e07\u5b57\u4e66\u7c4d\u901f\u901a\u4e4b\u300aOracle\u6570\u636e\u5e93\u5b9e\u7528\u6559\u7a0b(19C)\u300b - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","isPartOf":{"@id":"https:\/\/www.wsisp.com\/helps\/#website"},"datePublished":"2026-08-10T04:01:02+00:00","dateModified":"2026-08-10T04:01:02+00:00","author":{"@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41"},"breadcrumb":{"@id":"https:\/\/www.wsisp.com\/helps\/92451.html#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.wsisp.com\/helps\/92451.html"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.wsisp.com\/helps\/92451.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.wsisp.com\/helps"},{"@type":"ListItem","position":2,"name":"\u4e07\u5b57\u4e66\u7c4d\u901f\u901a\u4e4b\u300aOracle\u6570\u636e\u5e93\u5b9e\u7528\u6559\u7a0b(19C)\u300b"}]},{"@type":"WebSite","@id":"https:\/\/www.wsisp.com\/helps\/#website","url":"https:\/\/www.wsisp.com\/helps\/","name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","description":"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41","name":"admin","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/","url":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","contentUrl":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","caption":"admin"},"sameAs":["http:\/\/wp.wsisp.com"],"url":"https:\/\/www.wsisp.com\/helps\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/92451","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/comments?post=92451"}],"version-history":[{"count":0,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/92451\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media\/92450"}],"wp:attachment":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media?parent=92451"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/categories?post=92451"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/tags?post=92451"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/topic?post=92451"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}