{"id":4888,"date":"2024-10-07T18:01:01","date_gmt":"2024-10-07T10:01:01","guid":{"rendered":""},"modified":"2024-10-07T18:01:01","modified_gmt":"2024-10-07T10:01:01","slug":"Oracle\u7684\u5b66\u4e60\u5fc3\u5f97\u548c\u77e5\u8bc6\u603b\u7ed3\uff08\u516d\uff09|Oracle\u6570\u636e\u5e93\u540c\u4e49\u8bcd\u6280\u672f\u8be6\u89e3","status":"publish","type":"post","link":"https:\/\/mushiming.com\/4888.html","title":{"rendered":"Oracle\u7684\u5b66\u4e60\u5fc3\u5f97\u548c\u77e5\u8bc6\u603b\u7ed3\uff08\u516d\uff09|Oracle\u6570\u636e\u5e93\u540c\u4e49\u8bcd\u6280\u672f\u8be6\u89e3"},"content":{"rendered":"<p><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"display: none;\"> \n <path stroke-linecap=\"round\" d=\"M5,0 0,2.5 5,5z\" id=\"raphael-marker-block\" style=\"-webkit-tap-highlight-color: rgba(0, 0, 0, 0);\"><\/path> \n<\/svg> <\/p>\n<h5 id=\"_link_click_group\">\n <center><br \/>\n <font color=\"#Bu80ouh\" size=\"5\" face=\"\u6977\u4f53\"> \u76ee\u5f55\u7ed3\u6784 <\/font> <\/p>\n<table><\/table>\n<p> <\/center><\/h5>\n<p><strong>\u6ce8\uff1a\u63d0\u524d\u8a00\u660e \u672c\u6587\u501f\u9274\u4e86\u4ee5\u4e0b\u535a\u4e3b\u3001\u4e66\u7c4d\u6216\u7f51\u7ad9\u7684\u5185\u5bb9\uff0c\u5176\u5217\u8868\u5982\u4e0b\uff1a<\/strong><\/p>\n<blockquote>\n<p>1\u3001\u53c2\u8003\u4e66\u7c4d\uff1a<u>\u300aOracle Database SQL Language Reference\u300b<\/u><br \/> 2\u3001\u53c2\u8003\u4e66\u7c4d\uff1a<u>\u300aPostgreSQL\u4e2d\u6587\u624b\u518c\u300b<\/u><br \/> 3\u3001<u>EDB Postgres Advanced Server User Guides\uff0c\u70b9\u51fb\u524d\u5f80<\/u><br \/> 4\u3001<u>AntDB \u5f00\u6e90\u4ed3\u5e93\uff0c\u70b9\u51fb\u524d\u5f80 \u6216\u8005 AntDB \u672c\u4ebagitee\u4ed3\u5e93\uff0c\u70b9\u51fb\u524d\u5f80<\/u><br \/> 5\u3001<u>PostgreSQL\u6570\u636e\u5e93\u4ed3\u5e93\u94fe\u63a5\uff0c\u70b9\u51fb\u524d\u5f80<\/u><br \/> 6\u3001<u>PostgreSQL\u4e2d\u6587\u793e\u533a\uff0c\u70b9\u51fb\u524d\u5f80<\/u><br \/> 7\u3001<u>Oracle\u6570\u636e\u5e93 CREATE SYNONYM\u5b98\u65b9\u6587\u6863\u8bf4\u660e\uff0c\u70b9\u51fb\u524d\u5f80<\/u><\/p>\n<hr>\n<p>1\u3001\u672c\u6587\u5185\u5bb9\u5168\u90e8\u6765\u6e90\u4e8e\u5f00\u6e90\u793e\u533a GitHub\u548c\u4ee5\u4e0a\u535a\u4e3b\u7684\u8d21\u732e\uff0c\u672c\u6587\u4e5f\u514d\u8d39\u5f00\u6e90\uff08\u53ef\u80fd\u4f1a\u5b58\u5728\u95ee\u9898\uff0c\u8bc4\u8bba\u533a\u7b49\u5f85\u5927\u4f6c\u4eec\u7684\u6307\u6b63\uff09<br \/> 2\u3001\u672c\u6587\u76ee\u7684\uff1a\u5f00\u6e90\u5171\u4eab \u629b\u7816\u5f15\u7389 \u4e00\u8d77\u5b66\u4e60<br \/> 3\u3001\u672c\u6587\u4e0d\u63d0\u4f9b\u4efb\u4f55\u8d44\u6e90 \u4e0d\u5b58\u5728\u4efb\u4f55\u4ea4\u6613 \u4e0e\u4efb\u4f55\u7ec4\u7ec7\u548c\u673a\u6784\u65e0\u5173<br \/> 4\u3001\u5927\u5bb6\u53ef\u4ee5\u6839\u636e\u9700\u8981\u81ea\u884c \u590d\u5236\u7c98\u8d34\u4ee5\u53ca\u4f5c\u4e3a\u5176\u4ed6\u4e2a\u4eba\u7528\u9014\uff0c\u4f46\u662f\u4e0d\u5141\u8bb8\u8f6c\u8f7d \u4e0d\u5141\u8bb8\u5546\u7528 \uff08\u5199\u4f5c\u4e0d\u6613\uff0c\u8fd8\u8bf7\u89c1\u8c05 \ud83d\udc96\uff09<br \/> 5\u3001<u>\u672c\u6587\u4ec5\u9002\u4e8e\u4ece\u4e8b\u4e8ePostgreSQL\u6570\u636e\u5e93\u5185\u6838\u5f00\u53d1\u8005\u548c\u6570\u636e\u5e93\u7231\u597d\u8005\uff0c\u5bf9\u666e\u901a\u8bfb\u8005\u800c\u8a00\u96be\u5ea6\u8f83\u5927 \u4f46\u5bf9\u4e8e\u5e0c\u671b\u4ece\u4e8b\u4e8e\u6570\u636e\u5e93\u5185\u6838\u5f00\u53d1\u7684\u521d\u5b66\u8005\u6765\u8bf4\uff0c\u662f\u4e00\u6b21\u673a\u4f1a\u5341\u5206\u96be\u5f97\u7684\u5b66\u4e60\u6848\u4f8b \ud83d\udcaa <\/u><br \/> 6\u3001\u672c\u6587\u5185\u5bb9\u57fa\u4e8ePostgreSQL14.2\u6e90\u7801\u5f00\u53d1\u800c\u6210<\/p>\n<\/blockquote>\n<hr>\n<div class=\"toc\">\n<h4>Oracle\u6570\u636e\u5e93\u540c\u4e49\u8bcd\u6280\u672f\u8be6\u89e3<\/h4>\n<ul>\n<li>\u672c\u4eba\u535a\u5ba2\u4e25\u6b63\u58f0\u660e<\/li>\n<li>\u6587\u7ae0\u5feb\u901f\u8bf4\u660e\u7d22\u5f15<\/li>\n<li>\u540c\u4e49\u8bcd\u7684\u5206\u7c7b\u6982\u8ff0<\/li>\n<li>\u540c\u4e49\u8bcd\u7684\u76f8\u5173\u6743\u9650<\/li>\n<li>\u540c\u4e49\u8bcd\u7684\u8bed\u6cd5\u89c4\u5219<\/li>\n<li>\n<ul>\n<li>CREATE SYNONYM<\/li>\n<li>DROP SYNONYM<\/li>\n<li>ALTER SYNONYM<\/li>\n<\/ul>\n<\/li>\n<li>\u540c\u4e49\u8bcd\u7684\u4f7f\u7528\u793a\u4f8b<\/li>\n<\/ul>\n<\/div>\n<hr>\n<p><img decoding=\"async\" src=\"https:\/\/img-blog.csdnimg.cn\/20200813154411162.png#pic_center\" =\"\" =\"\" alt=\"Oracle\u7684\u5b66\u4e60\u5fc3\u5f97\u548c\u77e5\u8bc6\u603b\u7ed3\uff08\u516d\uff09|Oracle\u6570\u636e\u5e93\u540c\u4e49\u8bcd\u6280\u672f\u8be6\u89e3 (https:\/\/mushiming.com\/) \u7b2c1\u5f20\" title=\"Oracle\u7684\u5b66\u4e60\u5fc3\u5f97\u548c\u77e5\u8bc6\u603b\u7ed3\uff08\u516d\uff09|Oracle\u6570\u636e\u5e93\u540c\u4e49\u8bcd\u6280\u672f\u8be6\u89e3 \u7b2c1\u5f20-\u7a46\u4e16\u660e\u535a\u5ba2\" > <\/p>\n<hr color=\"gold\" size=\"1"\">\n<h2>\u672c\u4eba\u535a\u5ba2\u4e25\u6b63\u58f0\u660e<\/h2>\n<p>\u662f\u8fd9\u6837\u7684\uff0c\u719f\u6089\u5728\u4e0b\u7684\u5c0f\u4f19\u4f34\u4eec\u90fd\u77e5\u9053 \u6211\u5199\u535a\u5ba2\u4e3b\u8981\u76ee\u7684\u5c31\u662f\u5206\u4eab\u548c\u5b66\u4e60\u603b\u7ed3\u3002\u81f3\u4e8eCSDN\u7684\u6392\u540d \u6392\u540d\u4ec0\u4e48\u7684\uff0c\u6211\u5e76\u4e0d\u662f\u5f88\u5728\u610f\uff01<\/p>\n<ul>\n<li>\u4e00\u6765 \u5f88\u4e0d\u559c\u6b22\u6807\u9898\u515a<\/li>\n<li>\u4e8c\u6765 \u66f4\u53cd\u611f\u704c\u4e9b\u6c34\u6587<\/li>\n<li>\u4e09\u6765 \u75db\u6068\u65e0\u4e0b\u9650\u6284\u88ad<\/li>\n<\/ul>\n<p>\u672c\u4eba\u535a\u5ba2\u90fd\u662f\u8ba4\u8ba4\u771f\u771f\u5199\u7684\uff0c\u7ed3\u679c\u5728CSDN\u5e76\u6ca1\u6709\u4ec0\u4e48\u7684\u592a\u5927\u7684\u540d\u6c14 \u5173\u6ce8\u5ea6\u4ec0\u4e48\u7684\u4e5f\u4e0d\u9ad8\uff01\u524d\u4e9b\u5929 \u4e00\u4f4d\u597d\u5fc3\u7684\u7c89\u4e1d\u79c1\u804a\u4e86\u5728\u4e0b\uff0c\u53cd\u800c\u4e00\u540d\u67d0\u5e73\u53f0\u7684\u54e5\u4eec\u513f \u5feb\u628a\u6211\u7684<u>\u300aPostgreSQL\u7684\u5b66\u4e60\u5fc3\u5f97\u548c\u77e5\u8bc6\u603b\u7ed3\u300b<\/u>\u90fd\u7ed9\u7167\u642c\u8fc7\u53bb\u4e86\uff0c\u751a\u81f3\u4e00\u4e2a\u5b57\u90fd\u4e0d\u6539(\u8fde\u540c\u5728\u4e0b \u90fd\u662f\u53ea\u5b57\u4e0d\u63d0 \u597d\u6b79\u7a0d\u5fae\u63d0\u4e00\u4e0b\u5440)\uff01\uff01\uff01<\/p>\n<p>\u5b9e\u5728\u662f\u592a\u8fc7\u5206\uff0c\u540e\u6765\u7ecf\u8fc7(\u53cb\u597d)\u534f\u5546\uff0c\u73b0\u5df2\u7ecf\u5168\u90e8\u5220\u9664\u4e86\uff01<\/p>\n<p>\u672c\u4eba\u662f\u505aPostgreSQL\u5185\u6838\u5f00\u53d1\u7684\uff0c\u6df1\u611f\u5f53\u4e0b\u5b66\u98ce\u4e0d\u6b63 \u5927\u5bb6\u90fd\u5f88\u6d6e\u8e81\uff0c\u4e00\u5411\u8e0f\u8e0f\u5b9e\u5b9e\u6df1\u8015\u7684\u5e76\u4e0d\u662f\u5f88\u591a\uff01\u56e0\u4e3a\u5199\u4ee3\u7801\u8fd9\u4ef6\u4e8b\u60c5\u4e0a\uff0c\u6b3a\u9a97\u4e0d\u4e86\u4efb\u4f55\u4eba\uff01\u672c\u672c\u5206\u5206\u8001\u8001\u5b9e\u5b9e\u5730\u5199\u597d\u4ee3\u7801\u505a\u597d\u5b66\u95ee\u5341\u5206\u4e0d\u6613\uff0c\u5bb9\u4e0d\u5f97\u63ba\u6c99\u5b50\u548c\u9020\u5047\uff01\u8fd9\u91cc\u628a\u6211\u559c\u6b22\u7684\u4e00\u53e5\u8bdd\u9001\u7ed9\u5404\u4f4d\u4ee5\u5171\u52c9\uff1a<\/p>\n<p>\u975e\u6de1\u6cca\u65e0\u4ee5\u660e\u5fd7\uff0c<br \/> \u975e\u5b81\u9759\u65e0\u4ee5\u81f4\u8fdc\uff01<\/p>\n<hr color=\"gold\" size=\"1"\">\n<h2>\u6587\u7ae0\u5feb\u901f\u8bf4\u660e\u7d22\u5f15<\/h2>\n<p>\u5b66\u4e60\u76ee\u6807\uff1a<\/p>\n<p><font color=\"#999AAA\">\u76ee\u7684\uff1a\u56e0\u4e3a\u63a5\u4e0b\u6765\u60f3\u5728PostgreSQL\u6570\u636e\u5e93\u5185\u6838\u4e0a\u5b9e\u8df5\u5b9e\u73b0\u4e00\u4e0b SYNONYM\uff0c\u4f46\u662f\u5c31\u76ee\u524d\u800c\u8a00 PostgreSQL\u5c1a\u4e0d\u652f\u6301\u6b64\u529f\u80fd\u3002PostgreSQL\u793e\u533a\u7684\u7231\u597d\u8005\u548c\u4e00\u4e9b\u57fa\u4e8ePostgreSQL\u7684\u6570\u636e\u5e93\u516c\u53f8\u4e5f\u66fe\u5206\u4eab\u8fc7\u4e00\u4e9b \u7c7b\u4f3c\u7684 SYNONYM\u7684\u7b80\u6613\u5b9e\u73b0\uff0c\u5927\u5bb6\u6709\u5174\u8da3\u4e5f\u53ef\u4ee5\u53bb\u770b\u770b\uff01\u672c\u6587\u4e3b\u8981\u8bb0\u5f55\u5728Oracle\u6570\u636e\u5e93\u4e0a\u9762\u7684 SYNONYM \u529f\u80fd\u7684\u4f7f\u7528\u4f53\u9a8c\u548c\u57fa\u4e8e\u5f00\u53d1\u8005\u7684\u8bbe\u8ba1\u601d\u8003\uff0c\u4ee5\u671f\u5728PostgreSQL\u6570\u636e\u5e93\u4e0a\u9762\u652f\u6301\u6b64\u529f\u80fd\uff01\u8fd9\u91cc\u4e3b\u8981\u662f\u5b66\u4e60\u4ee5\u53ca\u4ecb\u7ecdOracle\u6570\u636e\u5e93 SYNONYM \u529f\u80fd\u7684\u6ce8\u610f\u4e8b\u9879\u7b49\uff0c\u57fa\u4e8ePostgreSQL\u6570\u636e\u5e93\u7684\u529f\u80fd\u5f00\u53d1\u7b49\u65e5\u540e\u5f00\u53d1\u5b8c\u6210\u4e4b\u540e \u7531\u65b0\u535a\u5ba2\u8fdb\u884c\u4ecb\u7ecd\u548c\u5206\u4eab\uff01<\/font><\/p>\n<hr color=\"gold\" size=\"1"\">\n<p>\u5b66\u4e60\u5185\u5bb9\uff1a\uff08\u8be6\u89c1\u76ee\u5f55\uff09<\/p>\n<p><font color=\"#999AAA\">1\u3001Oracle\u6570\u636e\u5e93\u7684SYNONYM\u6280\u672f<\/font><\/p>\n<hr color=\"gold\" size=\"1"\">\n<p>\u5b66\u4e60\u65f6\u95f4\uff1a<\/p>\n<p><font color=\"#999AAA\">2022\u5e7404\u670814\u65e5 21:54:12<\/font><\/p>\n<hr color=\"gold\" size=\"1"\">\n<p>\u5b66\u4e60\u4ea7\u51fa\uff1a<\/p>\n<p><font color=\"#999AAA\">1\u3001Oracle\u6570\u636e\u5e93 SYNONYM \u6280\u672f\u5b66\u4e60<br \/> 2\u3001CSDN \u6280\u672f\u535a\u5ba2 1\u7bc7<br \/> 3\u3001PostgreSQL\u6570\u636e\u5e93 SYNONYM \u529f\u80fd\u5b9e\u73b0\u8bbe\u8ba1\u601d\u8003<\/font><\/p>\n<hr color=\"gold\" size=\"1"\">\n<p><strong>\u6ce8\uff1a\u4e0b\u9762\u6211\u4eec\u6240\u6709\u7684\u5b66\u4e60\u73af\u5883\u662fCentos7+PostgreSQL14.2+Oracle11g+MySQL5.7<\/strong><\/p>\n<pre class=\"language-java prettyprint linenums\"><code class=\"prism language-sql\">postgres<span class=\"token operator\">=<\/span><span class=\"token comment\"># select version();<\/span> version <span class=\"token comment\">-----------------------------------------------------------------------------<\/span> PostgreSQL <span class=\"token number\">14.2<\/span> <span class=\"token keyword\">on<\/span> x86_64<span class=\"token operator\">-<\/span>pc<span class=\"token operator\">-<\/span>linux<span class=\"token operator\">-<\/span>gnu<span class=\"token punctuation\">,<\/span> compiled <span class=\"token keyword\">by<\/span> gcc <span class=\"token punctuation\">(<\/span>GCC<span class=\"token punctuation\">)<\/span> <span class=\"token number\">7.1<\/span><span class=\"token number\">.0<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">64<\/span><span class=\"token operator\">-<\/span><span class=\"token keyword\">bit<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token number\">1<\/span> <span class=\"token keyword\">row<\/span><span class=\"token punctuation\">)<\/span> postgres<span class=\"token operator\">=<\/span><span class=\"token comment\">#<\/span> <span class=\"token comment\">#-----------------------------------------------------------------------------#<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">select<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">from<\/span> v$version<span class=\"token punctuation\">;<\/span> BANNER <span class=\"token comment\">--------------------------------------------------------------------------------<\/span> Oracle <span class=\"token keyword\">Database<\/span> <span class=\"token number\">11<\/span>g Enterprise Edition <span class=\"token keyword\">Release<\/span> <span class=\"token number\">11.2<\/span><span class=\"token number\">.0<\/span><span class=\"token number\">.1<\/span><span class=\"token number\">.0<\/span> <span class=\"token operator\">-<\/span> <span class=\"token number\">64<\/span>bit Production PL<span class=\"token operator\">\/<\/span><span class=\"token keyword\">SQL<\/span> <span class=\"token keyword\">Release<\/span> <span class=\"token number\">11.2<\/span><span class=\"token number\">.0<\/span><span class=\"token number\">.1<\/span><span class=\"token number\">.0<\/span> <span class=\"token operator\">-<\/span> Production CORE <span class=\"token number\">11.2<\/span><span class=\"token number\">.0<\/span><span class=\"token number\">.1<\/span><span class=\"token number\">.0<\/span> Production TNS <span class=\"token keyword\">for<\/span> Linux: Version <span class=\"token number\">11.2<\/span><span class=\"token number\">.0<\/span><span class=\"token number\">.1<\/span><span class=\"token number\">.0<\/span> <span class=\"token operator\">-<\/span> Production NLSRTL Version <span class=\"token number\">11.2<\/span><span class=\"token number\">.0<\/span><span class=\"token number\">.1<\/span><span class=\"token number\">.0<\/span> <span class=\"token operator\">-<\/span> Production <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token comment\">#-----------------------------------------------------------------------------#<\/span> mysql<span class=\"token operator\">><\/span> <span class=\"token keyword\">select<\/span> version<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span> <span class=\"token operator\">+<\/span><span class=\"token comment\">-----------+<\/span> <span class=\"token operator\">|<\/span> version<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">|<\/span> <span class=\"token operator\">+<\/span><span class=\"token comment\">-----------+<\/span> <span class=\"token operator\">|<\/span> <span class=\"token number\">5.7<\/span><span class=\"token number\">.19<\/span> <span class=\"token operator\">|<\/span> <span class=\"token operator\">+<\/span><span class=\"token comment\">-----------+<\/span> <span class=\"token number\">1<\/span> <span class=\"token keyword\">row<\/span> <span class=\"token operator\">in<\/span> <span class=\"token keyword\">set<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token number\">0.06<\/span> sec<span class=\"token punctuation\">)<\/span> mysql<span class=\"token operator\">><\/span> <\/code><\/pre>\n<hr color=\"gold\" size=\"1"\">\n<h2>\u540c\u4e49\u8bcd\u7684\u5206\u7c7b\u6982\u8ff0<\/h2>\n<p>\u540c\u4e49\u8bcd\u662f\u6a21\u5f0f\u5bf9\u8c61\u7684\u522b\u540d\u3002 \u4f8b\u5982\uff0c\u60a8\u53ef\u4ee5\u4e3a\u8868\u6216\u89c6\u56fe\u3001\u5e8f\u5217\u3001PL\/SQL \u7a0b\u5e8f\u5355\u5143\u3001\u7528\u6237\u5b9a\u4e49\u7684\u5bf9\u8c61\u7c7b\u578b\u6216\u5176\u4ed6\u540c\u4e49\u8bcd\u521b\u5efa\u540c\u4e49\u8bcd\u3002 \u56e0\u4e3a\u540c\u4e49\u8bcd\u53ea\u662f\u4e00\u4e2a\u522b\u540d\uff0c\u6240\u4ee5\u9664\u4e86\u5728\u6570\u636e\u5b57\u5178\u4e2d\u7684\u5b9a\u4e49\u5916\uff0c\u5b83\u4e0d\u9700\u8981\u5b58\u50a8\u3002<\/p>\n<p>\u540c\u4e49\u8bcd\u53ef\u4ee5\u7b80\u5316\u6570\u636e\u5e93\u7528\u6237\u7684 SQL \u8bed\u53e5\u3002\u540c\u4e49\u8bcd\u5bf9\u4e8e\u9690\u85cf\u5e95\u5c42\u6a21\u5f0f\u5bf9\u8c61\u7684\u8eab\u4efd\u548c\u4f4d\u7f6e\u4e5f\u5f88\u6709\u7528\u3002 \u5982\u679c\u5fc5\u987b\u91cd\u547d\u540d\u6216\u79fb\u52a8\u57fa\u7840\u5bf9\u8c61\uff0c\u5219\u53ea\u9700\u91cd\u65b0\u5b9a\u4e49\u540c\u4e49\u8bcd\u5373\u53ef\uff0c\u800c\u57fa\u4e8e\u540c\u4e49\u8bcd\u7684\u5e94\u7528\u7a0b\u5e8f\u65e0\u9700\u4fee\u6539\u5373\u53ef\u7ee7\u7eed\u5de5\u4f5c\u3002<\/p>\n<p>\u60a8\u53ef\u4ee5\u521b\u5efa\u79c1\u6709\u548c\u516c\u5171\u540c\u4e49\u8bcd\uff1a<\/p>\n<ul>\n<li>\u79c1\u6709\u540c\u4e49\u8bcd\u4f4d\u4e8e\u7279\u5b9a\u7528\u6237\u7684\u6a21\u5f0f\u4e2d\uff0c\u8be5\u7528\u6237\u53ef\u4ee5\u63a7\u5236\u5176\u5bf9\u5176\u4ed6\u4eba\u7684\u53ef\u7528\u6027<\/li>\n<li>\u516c\u5171\u540c\u4e49\u8bcd\u5f52\u540d\u4e3a PUBLIC \u7684\u7528\u6237\u7ec4\u6240\u6709\uff0c\u6bcf\u4e2a\u6570\u636e\u5e93\u7528\u6237\u90fd\u53ef\u4ee5\u8bbf\u95ee<\/li>\n<\/ul>\n<p>\u8be6\u7ec6\u8bf4\u660e\uff1a<code>Oracle<\/code>\u4e2d\u540c\u4e49\u8bcd\u6709\u4e24\u79cd\u7c7b\u578b\uff0c\u5206\u522b\u662f\u516c\u6709\u540c\u4e49\u8bcd\u4e0e\u79c1\u6709\u540c\u4e49\u8bcd\u3002\u666e\u901a\u7528\u6237\u521b\u5efa\u7684\u540c\u4e49\u8bcd\u4e00\u822c\u90fd\u662f\u79c1\u6709\u540c\u4e49\u8bcd\uff0c\u516c\u6709\u540c\u4e49\u8bcd\u4e00\u822c\u7531<code>DBA<\/code>\u521b\u5efa\uff0c\u666e\u901a\u7528\u6237\u5982\u679c\u5e0c\u671b\u521b\u5efa\u516c\u6709\u540c\u4e49\u8bcd\uff0c\u5219\u9700\u8981\u88ab\u6388\u4e88<code>CREATE PUBLIC SYNONYM<\/code>\u8fd9\u4e2a\u7cfb\u7edf\u6743\u9650\u3002<\/p>\n<ul>\n<li>\n<p>\u516c\u6709\u540c\u4e49\u8bcd\uff1a\u7531\u4e00\u4e2a\u7279\u6b8a\u7684\u7528\u6237\u7ec4<code>Public<\/code>\u6240\u62e5\u6709\u3002\u987e\u540d\u601d\u4e49\uff0c\u6570\u636e\u5e93\u4e2d\u6240\u6709\u7684\u7528\u6237\u90fd\u53ef\u4ee5\u4f7f\u7528\u516c\u6709\u540c\u4e49\u8bcd\u3002\u516c\u6709\u540c\u4e49\u8bcd\u5f80\u5f80\u7528\u6765\u6807\u793a\u4e00\u4e9b\u6bd4\u8f83\u666e\u901a\u7684\u6570\u636e\u5e93\u5bf9\u8c61\uff0c\u8fd9\u4e9b\u5bf9\u8c61\u5f80\u5f80\u5927\u5bb6\u90fd\u9700\u8981\u5f15\u7528<\/p>\n<\/li>\n<li>\n<p>\u79c1\u6709\u540c\u4e49\u8bcd\uff1a\u4e0e\u516c\u6709\u540c\u4e49\u8bcd\u6240\u5bf9\u5e94\uff0c\u7531\u521b\u5efa\u5b83\u7684\u7528\u6237\u6240\u6709\u3002\u8be5\u540c\u4e49\u8bcd\u7684\u521b\u5efa\u8005\uff0c\u53ef\u4ee5\u901a\u8fc7\u6388\u6743\u6765\u63a7\u5236\u5176\u4ed6\u7528\u6237\u662f\u5426\u6709\u6743\u53bb\u4f7f\u7528\u5c5e\u4e8e\u81ea\u5df1\u7684\u79c1\u6709\u540c\u4e49\u8bcd<\/p>\n<\/li>\n<\/ul>\n<hr>\n<p>\u4e0b\u9762\u6765\u770b\u4e00\u4e2a\u7b80\u5355\u7684\u516c\u6709\u540c\u4e49\u8bcd\u793a\u4f8b\uff0c\u5982\u4e0b\uff1a<\/p>\n<blockquote>\n<p>\u5047\u8bbe\u6570\u636e\u5e93\u7ba1\u7406\u5458\u521b\u5efa\u4e86\u4e00\u4e2a<code>people<\/code>\u4f5c\u4e3a<code>hr.employees<\/code>\u8868\u7684\u516c\u5171\u540c\u4e49\u8bcd\u3002\u7136\u540e\u7528\u6237\u8fde\u63a5\u5230<code>oe<\/code>\u6a21\u5f0f\u5e76\u8ba1\u7b97\u540c\u4e49\u8bcd\u5f15\u7528\u7684\u8868\u4e2d\u7684\u884c\u6570<\/p>\n<\/blockquote>\n<pre class=\"language-java prettyprint linenums\"><code class=\"prism language-sql\"><span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">PUBLIC<\/span> SYNONYM people <span class=\"token keyword\">FOR<\/span> hr<span class=\"token punctuation\">.<\/span>employees<span class=\"token punctuation\">;<\/span> Synonym created<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">CONNECT<\/span> oe Enter password: password Connected<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">SELECT<\/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 keyword\">FROM<\/span> people<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 comment\">----------<\/span> <span class=\"token number\">107<\/span> <\/code><\/pre>\n<p>\u4f46\u662f \u4f46\u662f \u4f46\u662f\u8bf7\u8c28\u614e\u4f7f\u7528\u516c\u5171\u540c\u4e49\u8bcd\uff0c\u56e0\u4e3a\u5b83\u4eec\u4f1a\u4f7f\u6570\u636e\u5e93\u7684\u6574\u5408\u53d8\u5f97\u66f4\u52a0\u56f0\u96be\u3002<\/p>\n<blockquote>\n<p>\u5982\u4ee5\u4e0b\u793a\u4f8b\u6240\u793a\uff0c\u5982\u679c\u53e6\u4e00\u4f4d\u7ba1\u7406\u5458\u5c1d\u8bd5\u521b\u5efa\u516c\u5171\u540c\u4e49\u8bcd<code>people<\/code>\uff0c\u5219\u521b\u5efa\u5931\u8d25\uff0c\u56e0\u4e3a\u6570\u636e\u5e93\u4e2d\u53ea\u80fd\u5b58\u5728\u4e00\u4e2a\u516c\u5171\u540c\u4e49\u8bcd\u3002\u8fc7\u5ea6\u4f7f\u7528\u516c\u5171\u540c\u4e49\u8bcd\u4f1a\u5bfc\u81f4\u5e94\u7528\u7a0b\u5e8f\u4e4b\u95f4\u7684\u547d\u540d\u7a7a\u95f4\u51b2\u7a81<\/p>\n<\/blockquote>\n<pre class=\"language-java prettyprint linenums\"><code class=\"prism language-sql\"><span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">PUBLIC<\/span> SYNONYM people <span class=\"token keyword\">FOR<\/span> oe<span class=\"token punctuation\">.<\/span>customers<span class=\"token punctuation\">;<\/span> <span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">PUBLIC<\/span> SYNONYM people <span class=\"token keyword\">FOR<\/span> oe<span class=\"token punctuation\">.<\/span>customers <span class=\"token operator\">*<\/span> ERROR at line <span class=\"token number\">1<\/span>: ORA<span class=\"token operator\">-<\/span><span class=\"token number\">00955<\/span>: name <span class=\"token operator\">is<\/span> already used <span class=\"token keyword\">by<\/span> an existing object <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">SELECT<\/span> OWNER<span class=\"token punctuation\">,<\/span> SYNONYM_NAME<span class=\"token punctuation\">,<\/span> TABLE_OWNER<span class=\"token punctuation\">,<\/span> TABLE_NAME <span class=\"token number\">2<\/span> <span class=\"token keyword\">FROM<\/span> DBA_SYNONYMS <span class=\"token number\">3<\/span> <span class=\"token keyword\">WHERE<\/span> SYNONYM_NAME <span class=\"token operator\">=<\/span> <span class=\"token string\">'PEOPLE'<\/span><span class=\"token punctuation\">;<\/span> OWNER SYNONYM_NAME TABLE_OWNER TABLE_NAME <span class=\"token comment\">---------- ------------ ----------- ----------<\/span> <span class=\"token keyword\">PUBLIC<\/span> PEOPLE HR EMPLOYEES <\/code><\/pre>\n<p>\u6ce8\uff1a\u540c\u4e49\u8bcd\u672c\u8eab\u662f\u4e0d\u5b89\u5168\u7684\u3002\u5f53\u60a8\u6388\u4e88\u5bf9\u540c\u4e49\u8bcd\u7684\u5bf9\u8c61\u6743\u9650\u65f6\uff0c\u5b9e\u9645\u4e0a\u662f\u5728\u6388\u4e88\u5bf9\u57fa\u7840\u5bf9\u8c61\u7684\u6743\u9650\u3002\u800c\u540c\u4e49\u8bcd\u4ec5\u5145\u5f53 GRANT \u8bed\u53e5\u4e2d\u5bf9\u8c61\u7684\u522b\u540d\u800c\u5df2\u3002<\/p>\n<hr>\n<h2>\u540c\u4e49\u8bcd\u7684\u76f8\u5173\u6743\u9650<\/h2>\n<ul>\n<li>\u521b\u5efa\u540c\u4e49\u8bcd\u5bf9\u5e94\u7684\u6743\u9650\uff1a<code>CREATE SYNONYM\u3001CREATE ANY SYNONYM\u3001CREATE PUBLIC SYNONYM<\/code>\u6743\u9650<\/li>\n<li>\u5220\u9664\u540c\u4e49\u8bcd\u5bf9\u5e94\u7684\u6743\u9650\uff1a<code>DROP ANY SYNONYM<\/code>\u6743\u9650<\/li>\n<\/ul>\n<hr>\n<h2>\u540c\u4e49\u8bcd\u7684\u8bed\u6cd5\u89c4\u5219<\/h2>\n<h3>CREATE SYNONYM<\/h3>\n<p>\u4f7f\u7528 <code>CREATE SYNONYM<\/code> \u8bed\u53e5\u521b\u5efa\u540c\u4e49\u8bcd\uff0c\u5b83\u662f\u8868\u3001\u89c6\u56fe\u3001\u5e8f\u5217\u3001\u8fd0\u7b97\u7b26\u3001\u8fc7\u7a0b\u3001\u5b58\u50a8\u51fd\u6570\u3001\u5305\u3001\u7269\u5316\u89c6\u56fe\u3001Java \u7c7b\u6a21\u5f0f\u5bf9\u8c61\u3001\u7528\u6237\u5b9a\u4e49\u7684\u5bf9\u8c61\u7c7b\u578b\u6216\u5176\u4ed6\u540c\u4e49\u8bcd\u7684\u66ff\u4ee3\u540d\u79f0\u3002\u540c\u4e49\u8bcd\u4f9d\u8d56\u4e8e\u5b83\u7684\u76ee\u6807\u5bf9\u8c61\uff0c\u5982\u679c\u76ee\u6807\u5bf9\u8c61\u88ab\u66f4\u6539\u6216\u5220\u9664\uff0c\u540c\u4e49\u8bcd\u5c31\u4f1a\u53d8\u5f97\u65e0\u6548\u3002<\/p>\n<p>\u540c\u4e49\u8bcd\u63d0\u4f9b\u6570\u636e\u72ec\u7acb\u6027\u548c\u4f4d\u7f6e\u900f\u660e\u6027\u3002\u540c\u4e49\u8bcd\u5141\u8bb8\u5e94\u7528\u7a0b\u5e8f\u5728\u4e0d\u4fee\u6539\u7684\u60c5\u51b5\u4e0b\u8fd0\u884c\uff0c\u65e0\u8bba\u54ea\u4e2a\u7528\u6237\u62e5\u6709\u8868\u6216\u89c6\u56fe\uff0c\u4e5f\u65e0\u8bba\u54ea\u4e2a\u6570\u636e\u5e93\u62e5\u6709\u8868\u6216\u89c6\u56fe\u3002\u4f46\u662f\uff0c\u540c\u4e49\u8bcd\u4e0d\u80fd\u66ff\u4ee3\u6570\u636e\u5e93\u5bf9\u8c61\u7684\u7279\u6743\u3002\u5fc5\u987b\u5148\u5411\u7528\u6237\u6388\u4e88\u9002\u5f53\u7684\u6743\u9650\uff0c\u7136\u540e\u7528\u6237\u624d\u80fd\u4f7f\u7528\u540c\u4e49\u8bcd\u3002<\/p>\n<p><code>Oracle<\/code>\u53ef\u4ee5\u5728\u4ee5\u4e0b <code>DML<\/code> \u8bed\u53e5\u4e2d\u5f15\u7528\u540c\u4e49\u8bcd\uff1a<code>SELECT\u3001INSERT\u3001UPDATE\u3001DELETE\u3001FLASHBACK TABLE\u3001EXPLAIN PLAN\u3001LOCK TABLE\u3001MERGE \u548c CALL<\/code>\u3002<br \/> \u4e5f\u53ef\u4ee5\u5728\u4ee5\u4e0b <code>DDL<\/code> \u8bed\u53e5\u4e2d\u5f15\u7528\u540c\u4e49\u8bcd\uff1a<code>AUDIT\u3001NOAUDIT\u3001GRANT\u3001REVOKE \u548c COMMENT<\/code>\u3002<\/p>\n<hr>\n<p><strong>\u521b\u5efa\u540c\u4e49\u8bcd\u7684\u5148\u51b3\u6761\u4ef6\uff1a<\/strong><\/p>\n<ul>\n<li>\n<p>\u8981\u5728\u60a8\u81ea\u5df1\u7684\u6a21\u5f0f\u4e2d\u521b\u5efa\u79c1\u6709\u540c\u4e49\u8bcd\uff0c\u60a8\u5fc5\u987b\u5177\u6709 CREATE SYNONYM \u7cfb\u7edf\u6743\u9650<\/p>\n<\/li>\n<li>\n<p>\u8981\u5728\u53e6\u4e00\u4e2a\u7528\u6237\u7684\u6a21\u5f0f\u4e2d\u521b\u5efa\u79c1\u6709\u540c\u4e49\u8bcd\uff0c\u60a8\u5fc5\u987b\u5177\u6709 CREATE ANY SYNONYM \u7cfb\u7edf\u7279\u6743<\/p>\n<\/li>\n<li>\n<p>\u8981\u521b\u5efa PUBLIC \u540c\u4e49\u8bcd\uff0c\u60a8\u5fc5\u987b\u5177\u6709 CREATE PUBLIC SYNONYM \u7cfb\u7edf\u7279\u6743<\/p>\n<\/li>\n<\/ul>\n<hr>\n<p><code>CREATE SYNONYM<\/code>\u8bed\u6cd5\u89c4\u5219\u5982\u4e0b\uff1a<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/img-blog.csdnimg.cn\/fff145a156e047a0bda66d7b85348f9a.png\" =\"\" =\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" alt=\"Oracle\u7684\u5b66\u4e60\u5fc3\u5f97\u548c\u77e5\u8bc6\u603b\u7ed3\uff08\u516d\uff09|Oracle\u6570\u636e\u5e93\u540c\u4e49\u8bcd\u6280\u672f\u8be6\u89e3 (https:\/\/mushiming.com\/) \u7b2c2\u5f20\" title=\"Oracle\u7684\u5b66\u4e60\u5fc3\u5f97\u548c\u77e5\u8bc6\u603b\u7ed3\uff08\u516d\uff09|Oracle\u6570\u636e\u5e93\u540c\u4e49\u8bcd\u6280\u672f\u8be6\u89e3 \u7b2c2\u5f20-\u7a46\u4e16\u660e\u535a\u5ba2\" ><br \/> \u6216<\/p>\n<pre class=\"language-java prettyprint linenums\"><code class=\"prism language-sql\"><span class=\"token keyword\">CREATE<\/span> <span class=\"token punctuation\">[<\/span> <span class=\"token operator\">OR<\/span> <span class=\"token keyword\">REPLACE<\/span> <span class=\"token punctuation\">]<\/span> <span class=\"token punctuation\">[<\/span> EDITIONABLE <span class=\"token operator\">|<\/span> NONEDITIONABLE <span class=\"token punctuation\">]<\/span> <span class=\"token punctuation\">[<\/span> <span class=\"token keyword\">PUBLIC<\/span> <span class=\"token punctuation\">]<\/span> SYNONYM <span class=\"token punctuation\">[<\/span> <span class=\"token keyword\">schema<\/span><span class=\"token punctuation\">.<\/span> <span class=\"token punctuation\">]<\/span> synonym <span class=\"token punctuation\">[<\/span> SHARING <span class=\"token operator\">=<\/span> { METADATA <span class=\"token operator\">|<\/span> NONE } <span class=\"token punctuation\">]<\/span> <span class=\"token keyword\">FOR<\/span> <span class=\"token punctuation\">[<\/span> <span class=\"token keyword\">schema<\/span><span class=\"token punctuation\">.<\/span> <span class=\"token punctuation\">]<\/span> object <span class=\"token punctuation\">[<\/span> @ dblink <span class=\"token punctuation\">]<\/span> <span class=\"token punctuation\">;<\/span> <\/code><\/pre>\n<ul>\n<li><code>OR REPLACE<\/code><br \/> \u5982\u679c\u5df2\u5b58\u5728\u540c\u4e49\u8bcd\uff0c\u53ef\u4ee5\u6307\u5b9a <code>OR REPLACE<\/code> \u4ee5\u91cd\u65b0\u521b\u5efa\u540c\u4e49\u8bcd\u3002 \u4f7f\u7528\u6b64\u5b50\u53e5\u53ef\u4ee5\u66f4\u6539\u73b0\u6709\u540c\u4e49\u8bcd\u7684\u5b9a\u4e49\uff0c\u800c\u65e0\u9700\u5148\u5220\u9664\u5b83\u3002<strong>\u66ff\u6362\u540c\u4e49\u8bcd\u7684\u9650\u5236<\/strong>\uff1a\u5bf9\u4e8e\u5177\u6709\u4efb\u4f55\u4f9d\u8d56\u8868\u6216\u4f9d\u8d56\u7684\u6709\u6548\u7528\u6237\u5b9a\u4e49\u5bf9\u8c61\u7c7b\u578b\u7684\u7c7b\u578b\u540c\u4e49\u8bcd\uff0c\u5219\u4e0d\u80fd\u4f7f\u7528 <code>OR REPLACE<\/code> \u5b50\u53e5\u3002<\/li>\n<li><code>[ EDITIONABLE | NONEDITIONABLE ]<\/code><br \/> \u5982\u679c\u5bf9<code>schema<\/code>\u4e2d\u7684\u6a21\u5f0f\u5bf9\u8c61\u7c7b\u578bsynonym\u542f\u7528\u4e86\u7f16\u8f91\uff0c\u5219\u4f7f\u7528\u8fd9\u4e9b\u5b50\u53e5\u53ef\u4ee5\u6307\u5b9a\u540c\u4e49\u8bcd\u662f\u5df2\u7f16\u8f91\u5bf9\u8c61\u8fd8\u662f\u672a\u7f16\u8f91\u5bf9\u8c61\u3002 \u5bf9\u4e8e\u79c1\u6709\u540c\u4e49\u8bcd\uff0c\u9ed8\u8ba4\u503c\u4e3a <code>EDITIONABLE<\/code>\u3002 \u5bf9\u4e8e\u516c\u5171\u540c\u4e49\u8bcd\uff0c\u9ed8\u8ba4\u503c\u4e3a <code>NONEDITIONABLE<\/code>\u3002 \u6709\u5173\u53ef\u7f16\u8f91\u548c\u4e0d\u53ef\u7f16\u8f91\u5bf9\u8c61\u7684\u4fe1\u606f\uff0c\u53ef\u53c2\u9605 <u>Oracle \u6570\u636e\u5e93\u5f00\u53d1\u6307\u5357\uff0c\u70b9\u51fb\u524d\u5f80<\/u>\u3002<\/li>\n<li><code>[PUBLIC]<\/code><br \/> 1\u3001\u6307\u5b9a <code>PUBLIC<\/code> \u4ee5\u521b\u5efa\u516c\u6709\u540c\u4e49\u8bcd\u3002\u516c\u6709\u540c\u4e49\u8bcd\u53ef\u4f9b\u6240\u6709\u7528\u6237\u8bbf\u95ee\u3002\u4f46\u662f\u6bcf\u4e2a\u7528\u6237\u90fd\u5fc5\u987b\u5bf9\u57fa\u7840\u5bf9\u8c61\u5177\u6709\u9002\u5f53\u7684\u6743\u9650\u624d\u80fd\u4f7f\u7528\u540c\u4e49\u8bcd\u3002<br \/> 2\u3001\u89e3\u6790\u5bf9\u5bf9\u8c61\u7684\u5f15\u7528\u65f6\uff0cOracle \u6570\u636e\u5e93\u4ec5\u5728\u5bf9\u8c61\u6ca1\u6709\u4ee5\u6a21\u5f0f\u5f00\u5934\u4e14\u540e\u9762\u6ca1\u6709\u6570\u636e\u5e93\u94fe\u63a5\u65f6\u624d\u80fd\u4f7f\u7528\u516c\u6709\u540c\u4e49\u8bcd\u3002<br \/> 3\u3001\u5982\u679c\u7701\u7565\u6b64\u5b50\u53e5\uff0c\u5219\u540c\u4e49\u8bcd\u662f\u79c1\u6709\u7684\u3002\u79c1\u6709\u540c\u4e49\u8bcd\u540d\u79f0\u5728\u5176<code>schema<\/code>\u4e2d\u5fc5\u987b\u662f\u552f\u4e00\u7684\u3002\u4ec5\u5f53\u6240\u6709\u8005\u4ee5\u5916\u7684\u7528\u6237\u5bf9\u57fa\u7840\u6570\u636e\u5e93\u5bf9\u8c61\u5177\u6709\u9002\u5f53\u7684\u6743\u9650\u5e76\u6307\u5b9a <code>schema<\/code>\u548c\u540c\u4e49\u8bcd\u540d\u79f0\u65f6\uff0c\u79c1\u6709\u540c\u4e49\u8bcd\u624d\u80fd\u88ab\u4ed6\u4eec\u8bbf\u95ee\u3002<\/li>\n<\/ul>\n<p>\u516c\u6709\u540c\u4e49\u8bcd\u4f7f\u7528\u9700\u8981\u6ce8\u610f\u4ee5\u4e0b\uff1a<\/p>\n<ol>\n<li>\u5982\u679c\u521b\u5efa\u4e00\u4e2a\u516c\u6709\u540c\u4e49\u8bcd\uff0c\u5e76\u4e14\u5b83\u968f\u540e\u5177\u6709\u4f9d\u8d56\u8868\u6216\u4f9d\u8d56\u7684\u6709\u6548\u7528\u6237\u5b9a\u4e49\u5bf9\u8c61\u7c7b\u578b\uff0c\u5219\u4e0d\u80fd\u5728\u4e0e\u4f9d\u8d56\u5bf9\u8c61\u76f8\u540c\u7684\u6a21\u5f0f\u4e2d\u521b\u5efa\u53e6\u4e00\u4e2a\u4e0e\u540c\u4e49\u8bcd\u540c\u540d\u7684\u6570\u636e\u5e93\u5bf9\u8c61\u3002<\/li>\n<li>\u6ce8\u610f\u4e0d\u8981\u521b\u5efa\u4e0e\u73b0\u6709\u6a21\u5f0f\u540c\u540d\u7684\u516c\u5171\u540c\u4e49\u8bcd\u3002\u5982\u679c\u8fd9\u6837\u505a\uff0c\u90a3\u4e48\u6240\u6709\u4f7f\u7528\u8be5\u540d\u79f0\u7684 PL\/SQL \u5355\u5143\u90fd\u5c06\u5931\u6548\u3002<\/li>\n<\/ol>\n<ul>\n<li><code>[ schema. ]<\/code><br \/> \u6307\u5b9a\u540c\u4e49\u8bcd\u6240\u5c5e\u7684\u6a21\u5f0f\uff0c\u5982\u679c\u7701\u7565\uff0cOracle \u6570\u636e\u5e93\u4f1a\u5728\u5f53\u524d\u7684\u6a21\u5f0f\u4e2d\u521b\u5efa\u540c\u4e49\u8bcd\uff1b\u5982\u679c\u5df2\u6307\u5b9a <code>PUBLIC<\/code>\uff0c\u5219\u4e0d\u80fd\u4e3a\u540c\u4e49\u8bcd\u6307\u5b9a\u6a21\u5f0f<\/li>\n<li><code>[ SHARING = { METADATA | NONE } ]<\/code><br \/> \u6b64\u5b50\u53e5\u4ec5\u5728\u5e94\u7528\u7a0b\u5e8f\u6839\u76ee\u5f55\u4e2d\u521b\u5efa\u540c\u4e49\u8bcd\u65f6\u9002\u7528\u3002 \u8fd9\u79cd\u7c7b\u578b\u7684\u540c\u4e49\u8bcd\u79f0\u4e3a\u5e94\u7528\u7a0b\u5e8f\u516c\u5171\u5bf9\u8c61\uff0c\u5b83\u53ef\u4ee5\u4e0e\u5c5e\u4e8e\u5e94\u7528\u7a0b\u5e8f\u6839\u7684\u5e94\u7528\u7a0b\u5e8f <code>PDB<\/code> \u5171\u4eab\u3002 \u8981\u786e\u5b9a\u5982\u4f55\u5171\u4eab\u540c\u4e49\u8bcd\uff0c\u8bf7\u6307\u5b9a\u4ee5\u4e0b\u5171\u4eab\u5c5e\u6027\u4e4b\u4e00\uff1a<br \/> <code>METADATA<\/code>\uff1a \u5143\u6570\u636e\u94fe\u63a5\u5171\u4eab\u540c\u4e49\u8bcd\u7684\u5143\u6570\u636e\uff0c\u4f46\u5176\u6570\u636e\u5bf9\u4e8e\u6bcf\u4e2a\u5bb9\u5668\u90fd\u662f\u552f\u4e00\u7684\u3002 \u8fd9\u79cd\u7c7b\u578b\u7684\u540c\u4e49\u8bcd\u88ab\u79f0\u4e3a\u5143\u6570\u636e\u94fe\u63a5\u7684\u5e94\u7528\u7a0b\u5e8f\u516c\u5171\u5bf9\u8c61\u3002<br \/> <code>NONE<\/code> \uff1a\u4e0d\u5171\u4eab\u540c\u4e49\u8bcd\u3002<br \/> \u5982\u679c\u7701\u7565\u6b64\u5b50\u53e5\uff0c\u5219\u6570\u636e\u5e93\u4f7f\u7528 <code>DEFAULT_SHARING<\/code> \u521d\u59cb\u5316\u53c2\u6570\u7684\u503c\u6765\u786e\u5b9a\u540c\u4e49\u8bcd\u7684\u5171\u4eab\u5c5e\u6027\u3002 \u5982\u679c <code>DEFAULT_SHARING<\/code> \u521d\u59cb\u5316\u53c2\u6570\u6ca1\u6709\u503c\uff0c\u5219\u9ed8\u8ba4\u4e3a <code>METADATA<\/code><\/li>\n<li><code>FOR Clause<\/code><br \/> \u6307\u5b9a\u4e3a\u5176\u521b\u5efa\u540c\u4e49\u8bcd\u7684\u5bf9\u8c61\u3002\u6ce8\uff1a\u8be5\u5b50\u53e5\u4e2d\u7684<code>[ schema. ]<\/code>\uff0c\u6307\u5b9a\u8fd9\u4e2a\u5bf9\u8c61\u6240\u5728\u7684schema\u3002\u5982\u679c\u60a8\u4e0d\u4f7f\u7528 <code>schema<\/code>\u6765\u9650\u5b9a\u5bf9\u8c61\uff0c\u5219\u6570\u636e\u5e93\u5047\u5b9a\u5bf9\u8c61\u5728\u60a8\u81ea\u5df1\u7684<code>schema<\/code>\u4e2d\u3002\u5982\u679c\u8981\u4e3a\u8fdc\u7a0b\u6570\u636e\u5e93\u4e0a\u7684\u8fc7\u7a0b\u6216\u51fd\u6570\u521b\u5efa\u540c\u4e49\u8bcd\uff0c\u5219\u5fc5\u987b\u5728\u6b64CREATE\u8bed\u53e5\u4e2d\u6307\u5b9a<code>schema<\/code>\u3002\u6216\u8005\uff0c\u60a8\u53ef\u4ee5\u5728\u5bf9\u8c61\u6240\u5728\u7684\u6570\u636e\u5e93\u4e0a\u521b\u5efa\u672c\u5730\u516c\u5171\u540c\u4e49\u8bcd\u3002\u4f46\u662f\uff0c\u6570\u636e\u5e93\u94fe\u63a5\u5fc5\u987b\u5305\u542b\u5728\u5bf9\u8fc7\u7a0b\u6216\u51fd\u6570\u7684\u6240\u6709\u540e\u7eed\u8c03\u7528\u4e2d\u3002<\/li>\n<li><code>[ @dblink ]<\/code><\/li>\n<\/ul>\n<ol>\n<li>\u8981\u5f15\u7528\u672c\u5730\u6570\u636e\u5e93\u4ee5\u5916\u7684\u6570\u636e\u5e93\u4e2d\u7684\u5bf9\u8c61\uff0c\u8bf7\u5728\u5bf9\u8c61\u540d\u79f0\u540e\u9762\u52a0\u4e0a\u6307\u5411\u8be5\u6570\u636e\u5e93\u7684\u6570\u636e\u5e93\u94fe\u63a5\u3002\u6570\u636e\u5e93\u94fe\u63a5\u662f\u4e00\u4e2a\u6a21\u5f0f\u5bf9\u8c61\uff0c\u5b83\u4f7f <code>Oracle<\/code> \u8fde\u63a5\u5230\u8fdc\u7a0b\u6570\u636e\u5e93\u4ee5\u8bbf\u95ee\u90a3\u91cc\u7684\u5bf9\u8c61\u3002<\/li>\n<li><code>dblink<\/code>\u6307\u5b9a\u5b8c\u6574\u6216\u90e8\u5206\u6570\u636e\u5e93\u94fe\u63a5\uff0c\u4e3a\u8fdc\u7a0b\u6570\u636e\u5e93\u4e0a\u7684\u5bf9\u8c61\u521b\u5efa\u540c\u4e49\u8bcd\u3002 \u5982\u679c\u6307\u5b9a <code>dblink<\/code>\u5e76\u7701\u7565 <code>schema<\/code>\uff0c\u5219\u540c\u4e49\u8bcd\u6307\u7684\u662f\u7531\u6570\u636e\u5e93\u94fe\u63a5\u6307\u5b9a\u7684 <code>schema<\/code> \u4e2d\u7684\u5bf9\u8c61\u3002 Oracle \u5efa\u8bae\u60a8\u6307\u5b9a\u5305\u542b\u8fdc\u7a0b\u6570\u636e\u5e93\u4e2d\u5bf9\u8c61\u7684\u6a21\u5f0f\u3002<br \/> \u5982\u679c\u7701\u7565 <code>dblink<\/code>\uff0c\u5219 <code>Oracle<\/code> \u6570\u636e\u5e93\u5047\u5b9a\u5bf9\u8c61\u4f4d\u4e8e\u672c\u5730\u6570\u636e\u5e93\u4e2d<br \/> \u5982\u679c\u6307\u5b9a<code>dblink<\/code> \uff0c\u5219\u9700\u8981\u5148\u521b\u5efa<code>dblink<\/code>\u3002\u5176\u521b\u5efa\u8bed\u6cd5\u89c4\u5219\u53ef\u53c2\u8003<u>CREATE DATABASE LINK\uff0c\u70b9\u51fb\u524d\u5f80<\/u><\/li>\n<\/ol>\n<hr>\n<h3>DROP SYNONYM<\/h3>\n<p><code>DROP SYNONYM<\/code>\u8bed\u6cd5\u89c4\u5219\u5982\u4e0b\uff1a<br \/> <img decoding=\"async\" src=\"https:\/\/img-blog.csdnimg.cn\/3710ebdb71a5468c844291cb92c45c92.png\" =\"\" =\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" alt=\"Oracle\u7684\u5b66\u4e60\u5fc3\u5f97\u548c\u77e5\u8bc6\u603b\u7ed3\uff08\u516d\uff09|Oracle\u6570\u636e\u5e93\u540c\u4e49\u8bcd\u6280\u672f\u8be6\u89e3 (https:\/\/mushiming.com\/) \u7b2c3\u5f20\" title=\"Oracle\u7684\u5b66\u4e60\u5fc3\u5f97\u548c\u77e5\u8bc6\u603b\u7ed3\uff08\u516d\uff09|Oracle\u6570\u636e\u5e93\u540c\u4e49\u8bcd\u6280\u672f\u8be6\u89e3 \u7b2c3\u5f20-\u7a46\u4e16\u660e\u535a\u5ba2\" ><\/p>\n<p>\u6216<\/p>\n<pre class=\"language-java prettyprint linenums\"><code class=\"prism language-sql\"><span class=\"token keyword\">DROP<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token keyword\">PUBLIC<\/span><span class=\"token punctuation\">]<\/span> SYNONYM <span class=\"token punctuation\">[<\/span> <span class=\"token keyword\">schema<\/span><span class=\"token punctuation\">.<\/span> <span class=\"token punctuation\">]<\/span> synonym <span class=\"token punctuation\">[<\/span><span class=\"token keyword\">FORCE<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token punctuation\">;<\/span> <\/code><\/pre>\n<p><strong>\u5220\u9664\u540c\u4e49\u8bcd\u7684\u5148\u51b3\u6761\u4ef6\uff1a<\/strong><\/p>\n<ul>\n<li>\u8981\u5220\u9664\u79c1\u6709\u540c\u4e49\u8bcd\uff0c\u540c\u4e49\u8bcd\u5fc5\u987b\u5728\u81ea\u5df1\u7684\u6a21\u5f0f\u4e2d\uff0c\u6216\u8005\u5fc5\u987b\u5177\u6709 <code>DROP ANY SYNONYM<\/code> \u7cfb\u7edf\u7279\u6743<\/li>\n<li>\u8981\u5220\u9664\u516c\u6709\u540c\u4e49\u8bcd\uff0c\u5fc5\u987b\u5177\u6709 <code>DROP PUBLIC SYNONYM<\/code> \u7cfb\u7edf\u7279\u6743<\/li>\n<li>\u5982\u679c\u7701\u7565<code>[ schema. ]<\/code>\uff0c\u5219 <code>Oracle<\/code> \u6570\u636e\u5e93\u5047\u5b9a\u540c\u4e49\u8bcd\u5728\u5f53\u524d\u7684\u6a21\u5f0f\u4e2d<\/li>\n<\/ul>\n<p><code>[PUBLIC]<\/code>\uff1a\u5fc5\u987b\u6307\u5b9aPUBLIC\u624d\u80fd\u5220\u9664\u516c\u5171\u540c\u4e49\u8bcd\u3002\u5982\u679c\u5df2\u6307\u5b9aPUBLIC\uff0c\u5219\u4e0d\u80fd\u6307\u5b9a<code>schema<\/code>\u3002<br \/> <code>[schema.]<\/code>\uff1a\u6307\u5b9a\u5305\u542b\u540c\u4e49\u8bcd\u7684\u6a21\u5f0f\u3002\u5982\u679c\u60a8\u7701\u7565\u4e86\u6a21\u5f0f\uff0c\u5219Oracle\u6570\u636e\u5e93\u5047\u5b9a\u540c\u4e49\u8bcd\u5728\u60a8\u81ea\u5df1\u7684\u6a21\u5f0f\u4e2d\u3002<br \/> <code>synonym<\/code>\uff1a\u6307\u5b9a\u8981\u5220\u9664\u7684\u540c\u4e49\u8bcd\u7684\u540d\u79f0\u3002\u5982\u679c\u60a8\u5220\u9664\u4e86\u4e00\u4e2a\u5b9e\u4f53\u5316\u89c6\u56fe\u4e3b\u8868\u7684\u540c\u4e49\u8bcd\uff0c\u5e76\u4e14\u8be5\u5b9e\u4f53\u5316\u89c6\u56fe\u7684\u5b9a\u4e49\u67e5\u8be2\u6307\u5b9a\u4e86\u540c\u4e49\u8bcd\uff0c\u800c\u4e0d\u662f\u5b9e\u9645\u7684\u8868\u540d\uff0c\u90a3\u4e48Oracle\u6570\u636e\u5e93\u5c06\u6807\u8bb0\u8be5\u5b9e\u4f53\u5316\u89c6\u56fe\u4e0d\u53ef\u7528\u3002\u5982\u679c\u5bf9\u8c61\u7c7b\u578bsynonym\u5177\u6709\u4efb\u4f55\u4f9d\u8d56\u8868\u6216\u7528\u6237\u5b9a\u4e49\u7c7b\u578b\uff0c\u5219\u4e0d\u80fd\u5220\u9664synonym\uff0c\u9664\u975e\u540c\u65f6\u6307\u5b9aFORCE\u3002<br \/> <code>[FORCE]<\/code>\uff1a\u6307\u5b9aFORCE\u5220\u9664\u540c\u4e49\u8bcd\uff0c\u5373\u4f7f\u5b83\u6709\u4f9d\u8d56\u8868\u6216\u7528\u6237\u5b9a\u4e49\u7c7b\u578b\u3002<\/p>\n<p>\u6ce8\u610f\uff1aOracle \u4e0d\u5efa\u8bae\u60a8\u6307\u5b9a FORCE \u4ee5\u5220\u9664\u5177\u6709\u4f9d\u8d56\u5173\u7cfb\u7684\u5bf9\u8c61\u7c7b\u578b\u540c\u4e49\u8bcd\u3002 \u6b64\u64cd\u4f5c\u53ef\u80fd\u5bfc\u81f4\u5176\u4ed6\u7528\u6237\u5b9a\u4e49\u7c7b\u578b\u65e0\u6548\u6216\u5c06\u4f9d\u8d56\u540c\u4e49\u8bcd\u7684\u8868\u5217\u6807\u8bb0\u4e3a UNUSED\u3002<\/p>\n<hr>\n<h3>ALTER SYNONYM<\/h3>\n<p>\u4f7f\u7528 ALTER SYNONYM \u8bed\u53e5\u4fee\u6539\u73b0\u6709\u540c\u4e49\u8bcd\u3002<code>ALTER SYNONYM<\/code>\u8bed\u6cd5\u89c4\u5219\u5982\u4e0b\uff1a<br \/> <img decoding=\"async\" src=\"https:\/\/img-blog.csdnimg.cn\/0aba33cbfae542f28311ae88d380a275.png\" =\"\" =\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" alt=\"Oracle\u7684\u5b66\u4e60\u5fc3\u5f97\u548c\u77e5\u8bc6\u603b\u7ed3\uff08\u516d\uff09|Oracle\u6570\u636e\u5e93\u540c\u4e49\u8bcd\u6280\u672f\u8be6\u89e3 (https:\/\/mushiming.com\/) \u7b2c4\u5f20\" title=\"Oracle\u7684\u5b66\u4e60\u5fc3\u5f97\u548c\u77e5\u8bc6\u603b\u7ed3\uff08\u516d\uff09|Oracle\u6570\u636e\u5e93\u540c\u4e49\u8bcd\u6280\u672f\u8be6\u89e3 \u7b2c4\u5f20-\u7a46\u4e16\u660e\u535a\u5ba2\" ><\/p>\n<p>\u6216<\/p>\n<pre class=\"language-java prettyprint linenums\"><code class=\"prism language-sql\"><span class=\"token keyword\">ALTER<\/span> <span class=\"token punctuation\">[<\/span> <span class=\"token keyword\">PUBLIC<\/span> <span class=\"token punctuation\">]<\/span> SYNONYM <span class=\"token punctuation\">[<\/span> <span class=\"token keyword\">schema<\/span><span class=\"token punctuation\">.<\/span> <span class=\"token punctuation\">]<\/span> synonym { EDITIONABLE <span class=\"token operator\">|<\/span> NONEDITIONABLE <span class=\"token operator\">|<\/span> COMPILE } <span class=\"token punctuation\">;<\/span> <\/code><\/pre>\n<p><strong>\u4fee\u6539\u540c\u4e49\u8bcd\u7684\u5148\u51b3\u6761\u4ef6\uff1a<\/strong><\/p>\n<ul>\n<li>\u8981\u4fee\u6539\u5176\u4ed6\u7528\u6237\u6a21\u5f0f\u4e2d\u7684\u79c1\u6709\u540c\u4e49\u8bcd\uff0c\u5fc5\u987b\u5177\u6709<code>CREATE ANY SYNONYM<\/code>\u548c<code>DROP ANY SYNONYM<\/code>\u7cfb\u7edf\u6743\u9650<\/li>\n<li>\u8981\u4fee\u6539<code>PUBLIC<\/code>\u540c\u4e49\u8bcd\uff0c\u5fc5\u987b\u5177\u6709<code>CREATE PUBLIC SYNONYM<\/code>\u548c<code>DROP PUBLIC SYNONYM<\/code>\u7cfb\u7edf\u6743\u9650<\/li>\n<\/ul>\n<p><code>[PUBLIC]<\/code>\uff1a\u5982\u679c\u540c\u4e49\u8bcd\u662f\u516c\u5171\u540c\u4e49\u8bcd\uff0c\u5219\u6307\u5b9a PUBLIC\u3002 \u60a8\u4e0d\u80fd\u4f7f\u7528\u6b64\u5b50\u53e5\u5c06\u516c\u5171\u540c\u4e49\u8bcd\u66f4\u6539\u4e3a\u79c1\u6709\u540c\u4e49\u8bcd\uff0c\u53cd\u4e4b\u4ea6\u7136\u3002<br \/> <code>[schema.]<\/code>\uff1a\u6307\u5b9a\u5305\u542b\u540c\u4e49\u8bcd\u7684\u67b6\u6784\u3002 \u5982\u679c\u7701\u7565\u6a21\u5f0f\uff0c\u5219 Oracle \u6570\u636e\u5e93\u5047\u5b9a\u540c\u4e49\u8bcd\u5728\u60a8\u81ea\u5df1\u7684\u6a21\u5f0f\u4e2d\u3002<br \/> <code>synonym<\/code>\uff1a\u6307\u5b9a\u8981\u66f4\u6539\u7684\u540c\u4e49\u8bcd\u7684\u540d\u79f0\u3002<\/p>\n<p><code>EDITIONABLE | NONEDITIONABLE<\/code>\uff1a<\/p>\n<p>\u5982\u679c\u4ee5\u540e\u5bf9\u6a21\u5f0f\u4e2d\u7684\u6a21\u5f0f\u5bf9\u8c61\u7c7b\u578bsynonym\u542f\u7528\u4e86\u7f16\u8f91\uff0c\u5219\u4f7f\u7528\u8fd9\u4e9b\u5b50\u53e5\u6307\u5b9a\u540c\u4e49\u8bcd\u662f\u5df2\u7f16\u8f91\u5bf9\u8c61\u8fd8\u662f\u672a\u7f16\u8f91\u5bf9\u8c61\u3002\u9ed8\u8ba4\u503c\u662f\u53ef\u7f16\u8f91\u7684\u3002<\/p>\n<p><code>Restriction on EDITIONABLE | NONEDITIONABLE<\/code>\uff1a<\/p>\n<p>\u4e0d\u80fd\u4e3a\u516c\u5171\u540c\u4e49\u8bcd\u6307\u5b9a\u8fd9\u4e9b\u5b50\u53e5\uff0c\u56e0\u4e3a\u5728\u516c\u5171\u6a21\u5f0f\u4e2d\u59cb\u7ec8\u5bf9\u5bf9\u8c61\u7c7b\u578bsynonym\u542f\u7528\u7f16\u8f91\u3002<\/p>\n<p><code>COMPILE<\/code>\uff1a<\/p>\n<p>\u4f7f\u7528\u6b64\u5b50\u53e5\u7f16\u8bd1\u540c\u4e49\u8bcd\u3002\u540c\u4e49\u8bcd\u5c06\u4f9d\u8d56\u9879\u7f6e\u4e8e\u5176\u76ee\u6807\u5bf9\u8c61\u4e0a\uff0c\u5982\u679c\u76ee\u6807\u5bf9\u8c61\u88ab\u66f4\u6539\u6216\u5220\u9664\uff0c\u5219\u8be5\u4f9d\u8d56\u9879\u5931\u6548\u3002\u5f53\u60a8\u7f16\u8bd1\u65e0\u6548\u7684\u540c\u4e49\u8bcd\u65f6\uff0c\u5b83\u5c06\u518d\u6b21\u6709\u6548\u3002<\/p>\n<p>\u6ce8\u610f\uff1a\u60a8\u53ef\u4ee5\u901a\u8fc7\u67e5\u8be2<code>ALL_\u3001DBA_\u548cUSER_OBJECTS<\/code>\u6570\u636e\u5b57\u5178\u89c6\u56fe\u7684STATUS\u5217\u6765\u786e\u5b9a\u540c\u4e49\u8bcd\u662f\u5426\u6709\u6548\u3002<\/p>\n<hr>\n<h2>\u540c\u4e49\u8bcd\u7684\u4f7f\u7528\u793a\u4f8b<\/h2>\n<p>1\u3001\u65b0\u5efa\u7528\u6237\u5e76\u6388\u4e88\u76f8\u5173\u6743\u9650\uff0c\u521b\u5efa\u6d4b\u8bd5\u8868<\/p>\n<pre class=\"language-java prettyprint linenums\"><code class=\"prism language-sql\"><span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> conn <span class=\"token operator\">\/<\/span><span class=\"token keyword\">as<\/span> sysdba Connected<span class=\"token punctuation\">.<\/span> <span class=\"token comment\"># \u65b0\u5efa\u7528\u6237<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">USER<\/span> ora_aaa IDENTIFIED <span class=\"token keyword\">BY<\/span> <span class=\"token number\"><\/span> <span class=\"token keyword\">DEFAULT<\/span> <span class=\"token keyword\">TABLESPACE<\/span> USERS<span class=\"token punctuation\">;<\/span> <span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">USER<\/span> ora_aaa IDENTIFIED <span class=\"token keyword\">BY<\/span> <span class=\"token number\"><\/span> <span class=\"token keyword\">DEFAULT<\/span> <span class=\"token keyword\">TABLESPACE<\/span> USERS <span class=\"token operator\">*<\/span> ERROR at line <span class=\"token number\">1<\/span>: ORA<span class=\"token operator\">-<\/span><span class=\"token number\">65096<\/span>: invalid common <span class=\"token keyword\">user<\/span> <span class=\"token operator\">or<\/span> role name <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">alter<\/span> <span class=\"token keyword\">session<\/span> <span class=\"token keyword\">set<\/span> <span class=\"token string\">\"_ORACLE_SCRIPT\"<\/span><span class=\"token operator\">=<\/span><span class=\"token boolean\">true<\/span><span class=\"token punctuation\">;<\/span> <span class=\"token keyword\">Session<\/span> altered<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">USER<\/span> ora_aaa IDENTIFIED <span class=\"token keyword\">BY<\/span> <span class=\"token number\"><\/span> <span class=\"token keyword\">DEFAULT<\/span> <span class=\"token keyword\">TABLESPACE<\/span> USERS<span class=\"token punctuation\">;<\/span> <span class=\"token keyword\">User<\/span> created<span class=\"token punctuation\">.<\/span> <span class=\"token comment\"># \u4e3a\u8be5\u7528\u6237\u6388\u4e88\u76f8\u5173\u6743\u9650<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">grant<\/span> <span class=\"token keyword\">create<\/span> <span class=\"token keyword\">session<\/span> <span class=\"token keyword\">to<\/span> ora_aaa<span class=\"token punctuation\">;<\/span> <span class=\"token keyword\">Grant<\/span> succeeded<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">GRANT<\/span> <span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">TABLE<\/span> <span class=\"token keyword\">TO<\/span> ORA_AAA<span class=\"token punctuation\">;<\/span> <span class=\"token keyword\">Grant<\/span> succeeded<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <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> ora_aaa<span class=\"token punctuation\">;<\/span> <span class=\"token keyword\">Grant<\/span> succeeded<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">grant<\/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> ora_aaa<span class=\"token punctuation\">;<\/span> <span class=\"token keyword\">Grant<\/span> succeeded<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">alter<\/span> <span class=\"token keyword\">user<\/span> ora_aaa quota unlimited <span class=\"token keyword\">on<\/span> USERS<span class=\"token punctuation\">;<\/span> <span class=\"token keyword\">Grant<\/span> succeeded<span class=\"token punctuation\">.<\/span> <span class=\"token comment\"># \u521b\u5efa\u6d4b\u8bd5\u8868<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">create<\/span> <span class=\"token keyword\">table<\/span> test1<span class=\"token punctuation\">(<\/span>id <span class=\"token keyword\">int<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span> <span class=\"token keyword\">Table<\/span> created<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">insert<\/span> <span class=\"token keyword\">into<\/span> test1 <span class=\"token keyword\">values<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span> <span class=\"token number\">1<\/span> <span class=\"token keyword\">row<\/span> created<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">insert<\/span> <span class=\"token keyword\">into<\/span> test1 <span class=\"token keyword\">values<\/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 number\">1<\/span> <span class=\"token keyword\">row<\/span> created<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">insert<\/span> <span class=\"token keyword\">into<\/span> test1 <span class=\"token keyword\">values<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">3<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span> <span class=\"token number\">1<\/span> <span class=\"token keyword\">row<\/span> created<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">insert<\/span> <span class=\"token keyword\">into<\/span> test1 <span class=\"token keyword\">values<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">4<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span> <span class=\"token number\">1<\/span> <span class=\"token keyword\">row<\/span> created<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> conn ora_aaa Enter password: Connected<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <\/code><\/pre>\n<p>\u7528\u6237\u5728\u81ea\u5df1\u7684\u6a21\u5f0f\u4e0b\u521b\u5efa\u79c1\u6709\u540c\u4e49\u8bcd\uff0c\u8fd9\u4e2a\u7528\u6237\u5fc5\u987b\u62e5\u6709<code>CREATE SYNONYM<\/code>\u6743\u9650\uff0c\u5426\u5219\u4e0d\u80fd\u521b\u5efa\u79c1\u6709\u540c\u4e49\u8bcd\u3002<\/p>\n<pre class=\"language-java prettyprint linenums\"><code class=\"prism language-sql\"><span class=\"token comment\"># \u5207\u6362\u5230\u65b0\u521b\u5efa\u7684\u7528\u6237\u521b\u5efa\u540c\u4e49\u8bcd\u5931\u8d25<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">CREATE<\/span> SYNONYM SY1 <span class=\"token keyword\">FOR<\/span> TEST1<span class=\"token punctuation\">;<\/span> <span class=\"token keyword\">CREATE<\/span> SYNONYM SY1 <span class=\"token keyword\">FOR<\/span> TEST1 <span class=\"token operator\">*<\/span> ERROR at line <span class=\"token number\">1<\/span>: ORA<span class=\"token operator\">-<\/span><span class=\"token number\">01031<\/span>: insufficient <span class=\"token keyword\">privileges<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token comment\"># \u9700\u8981\u5148\u6388\u4e88CREATE SYNONYM\u6743\u9650<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> conn <span class=\"token operator\">\/<\/span><span class=\"token keyword\">as<\/span> sysdba Connected<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">grant<\/span> <span class=\"token keyword\">create<\/span> synonym <span class=\"token keyword\">to<\/span> ora_aaa<span class=\"token punctuation\">;<\/span> <span class=\"token keyword\">Grant<\/span> succeeded<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> conn ora_aaa Enter password: Connected<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token comment\"># \u521b\u5efa\u540c\u4e49\u8bcd\u6210\u529f<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">CREATE<\/span> SYNONYM SY1 <span class=\"token keyword\">FOR<\/span> TEST1<span class=\"token punctuation\">;<\/span> Synonym created<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">select<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">from<\/span> sy1<span class=\"token punctuation\">;<\/span> ID <span class=\"token comment\">----------<\/span> <span class=\"token number\">1<\/span> <span class=\"token number\">2<\/span> <span class=\"token number\">3<\/span> <span class=\"token number\">4<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">select<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">from<\/span> DBA_SYNONYMS <span class=\"token keyword\">where<\/span> SYNONYM_NAME <span class=\"token operator\">=<\/span> <span class=\"token string\">'SY1'<\/span><span class=\"token punctuation\">;<\/span> OWNER SYNONYM_NAME TABLE_OWNER TABLE_NAME DB_LINK ORIGIN_CON_ID <span class=\"token comment\">-------------------- -------------------- -------------------- -------------------- -------------------- -------------<\/span> ORA_AAA SY1 ORA_AAA TEST1 <span class=\"token comment\">##########<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <\/code><\/pre>\n<p>\u521b\u5efa\u516c\u6709\u540c\u4e49\u8bcd\u5219\u9700\u8981<code>CREATE PUBLIC SYNONYM<\/code>\u7cfb\u7edf\u6743\u9650\u3002<\/p>\n<pre class=\"language-java prettyprint linenums\"><code class=\"prism language-sql\"><span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> conn ora_aaa Enter password: Connected<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">public<\/span> SYNONYM SY2 <span class=\"token keyword\">FOR<\/span> TEST1<span class=\"token punctuation\">;<\/span> <span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">public<\/span> SYNONYM SY2 <span class=\"token keyword\">FOR<\/span> TEST1 <span class=\"token operator\">*<\/span> ERROR at line <span class=\"token number\">1<\/span>: ORA<span class=\"token operator\">-<\/span><span class=\"token number\">01031<\/span>: insufficient <span class=\"token keyword\">privileges<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> conn <span class=\"token operator\">\/<\/span><span class=\"token keyword\">as<\/span> sysdba Connected<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">grant<\/span> <span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">PUBLIC<\/span> SYNONYM <span class=\"token keyword\">to<\/span> ora_aaa<span class=\"token punctuation\">;<\/span> <span class=\"token keyword\">Grant<\/span> succeeded<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> conn ora_aaa Enter password: Connected<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">public<\/span> SYNONYM SY3 <span class=\"token keyword\">FOR<\/span> TEST1<span class=\"token punctuation\">;<\/span> Synonym created<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">select<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">from<\/span> sy3<span class=\"token punctuation\">;<\/span> ID <span class=\"token comment\">----------<\/span> <span class=\"token number\">1<\/span> <span class=\"token number\">2<\/span> <span class=\"token number\">3<\/span> <span class=\"token number\">4<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token comment\"># \u516c\u6709\u540c\u4e49\u8bcd\u53ef\u5426\u4e0e\u79c1\u6709\u540c\u4e49\u8bcd\u540c\u540d\uff1f<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">public<\/span> SYNONYM SY1 <span class=\"token keyword\">FOR<\/span> TEST1<span class=\"token punctuation\">;<\/span> Synonym created<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">select<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">from<\/span> sy1<span class=\"token punctuation\">;<\/span> ID <span class=\"token comment\">----------<\/span> <span class=\"token number\">1<\/span> <span class=\"token number\">2<\/span> <span class=\"token number\">3<\/span> <span class=\"token number\">4<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> conn <span class=\"token operator\">\/<\/span><span class=\"token keyword\">as<\/span> sysdba Connected<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">select<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">from<\/span> DBA_SYNONYMS <span class=\"token keyword\">where<\/span> SYNONYM_NAME <span class=\"token operator\">=<\/span> <span class=\"token string\">'SY1'<\/span><span class=\"token punctuation\">;<\/span> OWNER SYNONYM_NAME TABLE_OWNER TABLE_NAME DB_LINK ORIGIN_CON_ID <span class=\"token comment\">-------------------- -------------------- -------------------- -------------------- -------------------- -------------<\/span> <span class=\"token keyword\">PUBLIC<\/span> SY1 ORA_AAA TEST1 <span class=\"token comment\">##########<\/span> ORA_AAA SY1 ORA_AAA TEST1 <span class=\"token comment\">##########<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <\/code><\/pre>\n<p>\u5982\u679c\u9700\u8981\u5728\u5176\u5b83\uff08\u7528\u6237\uff09\u6a21\u5f0f\u4e0b\u521b\u5efa\u540c\u4e49\u8bcd\uff0c\u5219\u5fc5\u987b\u5177\u6709<code>CREATE ANY SYNONYM<\/code>\u7684\u6743\u9650\u3002\u5373\u53ef\u7528\u4e8e\u8bbf\u95ee\u5176\u4ed6\u7528\u6237\u4e0b\u7684\u6570\u636e\u5e93\u5bf9\u8c61<\/p>\n<pre class=\"language-java prettyprint linenums\"><code class=\"prism language-sql\"><span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">CREATE<\/span> SYNONYM bbb<span class=\"token punctuation\">.<\/span>sy1 <span class=\"token keyword\">FOR<\/span> test1<span class=\"token punctuation\">;<\/span> <span class=\"token keyword\">CREATE<\/span> SYNONYM bbb<span class=\"token punctuation\">.<\/span>sy1 <span class=\"token keyword\">FOR<\/span> test1 <span class=\"token operator\">*<\/span> ERROR at line <span class=\"token number\">1<\/span>: ORA<span class=\"token operator\">-<\/span><span class=\"token number\">01031<\/span>: insufficient <span class=\"token keyword\">privileges<\/span> <span class=\"token comment\"># \u6388\u4e88CREATE ANY SYNONYM\u7684\u6743\u9650<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> conn <span class=\"token operator\">\/<\/span><span class=\"token keyword\">as<\/span> sysdba Connected<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">grant<\/span> <span class=\"token keyword\">CREATE<\/span> <span class=\"token keyword\">any<\/span> SYNONYM <span class=\"token keyword\">to<\/span> ora_aaa<span class=\"token punctuation\">;<\/span> <span class=\"token keyword\">Grant<\/span> succeeded<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> conn ora_aaa Enter password: Connected<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">CREATE<\/span> SYNONYM bbb<span class=\"token punctuation\">.<\/span>sy1 <span class=\"token keyword\">FOR<\/span> test1<span class=\"token punctuation\">;<\/span> Synonym created<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">select<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">from<\/span> DBA_SYNONYMS <span class=\"token keyword\">where<\/span> TABLE_NAME <span class=\"token operator\">=<\/span> <span class=\"token string\">'TEST1'<\/span><span class=\"token punctuation\">;<\/span> OWNER SYNONYM_NAME TABLE_OWNER TABLE_NAME DB_LINK ORIGIN_CON_ID <span class=\"token comment\">-------------------- -------------------- -------------------- -------------------- -------------------- -------------<\/span> <span class=\"token keyword\">PUBLIC<\/span> SY3 ORA_AAA TEST1 <span class=\"token comment\">##########<\/span> <span class=\"token keyword\">PUBLIC<\/span> SY1 ORA_AAA TEST1 <span class=\"token comment\">##########<\/span> ORA_AAA SY1 ORA_AAA TEST1 <span class=\"token comment\">##########<\/span> BBB SY1 ORA_AAA TEST1 <span class=\"token comment\">##########<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <\/code><\/pre>\n<p>\u8de8\u5e93\u8bbf\u95ee\u5bf9\u8c61\uff0c<code>Oracle<\/code>\u63d0\u4f9b<code>dblink<\/code>\u6269\u5c55\u8bbf\u95ee\u3002\u5982\u679c\u8981\u8bbf\u95ee\u8fdc\u7a0b\u6570\u636e\u5e93\u4e0b\u67d0\u4e2a\u7528\u6237\u7684\u8868<code>table_a<\/code>\uff0c\u4e5f\u53ef\u4ee5\u4f7f\u7528\u540c\u4e49\u8bcd\uff0c\u4f46\u9700\u8981\u5148\u521b\u5efa\u4e00\u4e2a<code>Database Link<\/code>(\u6570\u636e\u5e93\u94fe\u63a5)\u6765\u6269\u5c55\u8bbf\u95ee\uff0c\u7136\u540e\u5728\u4f7f\u7528\u5982\u4e0b\u8bed\u53e5\u521b\u5efa\u540c\u4e49\u8bcd\uff1a<\/p>\n<pre class=\"language-java prettyprint linenums\"><code class=\"prism language-sql\"><span class=\"token keyword\">create<\/span> synonym table_s <span class=\"token keyword\">for<\/span> table_a<span class=\"token variable\">@DB_Link<\/span><span class=\"token punctuation\">;<\/span> <\/code><\/pre>\n<p>\u521b\u5efadblink\u8bed\u6cd5\uff1a<\/p>\n<pre class=\"language-java prettyprint linenums\"><code class=\"prism language-sql\"><span class=\"token keyword\">CREATE<\/span> <span class=\"token punctuation\">[<\/span> SHARED <span class=\"token punctuation\">]<\/span> <span class=\"token punctuation\">[<\/span> <span class=\"token keyword\">PUBLIC<\/span> <span class=\"token punctuation\">]<\/span> <span class=\"token keyword\">DATABASE<\/span> LINK dblink <span class=\"token punctuation\">[<\/span> <span class=\"token keyword\">CONNECT<\/span> <span class=\"token keyword\">TO<\/span> { <span class=\"token keyword\">CURRENT_USER<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">user<\/span> IDENTIFIED <span class=\"token keyword\">BY<\/span> password <span class=\"token punctuation\">[<\/span> dblink_authentication <span class=\"token punctuation\">]<\/span> } <span class=\"token operator\">|<\/span> dblink_authentication <span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">.<\/span><span class=\"token punctuation\">.<\/span><span class=\"token punctuation\">.<\/span> <span class=\"token punctuation\">[<\/span> <span class=\"token keyword\">USING<\/span> connect_string <span class=\"token punctuation\">]<\/span> <span class=\"token punctuation\">;<\/span> <\/code><\/pre>\n<p>\u8bf4\u660e\uff1a<\/p>\n<p>1\u3001\u6743\u9650\uff1a\u521b\u5efa\u6570\u636e\u5e93\u94fe\u63a5\u7684\u5e10\u53f7\u5fc5\u987b\u6709<code>CREATE DATABASE LINK<\/code>\u6216<code>CREATE PUBLIC DATABASE LINK<\/code>\u7684\u7cfb\u7edf\u6743\u9650\uff0c\u7528\u6765\u767b\u5f55\u5230\u8fdc\u7a0b\u6570\u636e\u5e93\u7684\u7528\u6237\u5fc5\u987b\u6709<code>CREATE SESSION<\/code>\u6743\u9650\u3002\u8fd9\u4e24\u79cd\u6743\u9650\u90fd\u5305\u542b\u5728<code>CONNECT<\/code>\u89d2\u8272\u4e2d\uff08<code>CREATE PUBLIC DATABASE LINK<\/code>\u6743\u9650\u5728<code>DBA<\/code>\u4e2d\uff09\u3002\u4e00\u4e2a\u516c\u7528\u6570\u636e\u5e93\u94fe\u63a5\u5bf9\u4e8e\u6570\u636e\u5e93\u4e2d\u7684\u6240\u6709\u7528\u6237\u90fd\u662f\u53ef\u7528\u7684\uff0c\u800c\u4e00\u4e2a\u79c1\u6709\u94fe\u63a5\u4ec5\u5bf9\u521b\u5efa\u5b83\u7684\u7528\u6237\u53ef\u7528\u3002\u7531\u4e00\u4e2a\u7528\u6237\u7ed9\u53e6\u5916\u4e00\u4e2a\u7528\u6237\u6388\u6743\u79c1\u6709\u6570\u636e\u5e93\u94fe\u63a5\u662f\u4e0d\u53ef\u80fd\u7684\uff0c\u4e00\u4e2a\u6570\u636e\u5e93\u94fe\u63a5\u8981\u4e48\u662f\u516c\u7528\u7684\uff0c\u8981\u4e48\u662f\u79c1\u6709\u7684<br \/> 2\u3001<code>dblink<\/code> \u6307\u5b9a\u6570\u636e\u5e93\u94fe\u63a5\u7684\u5b8c\u6574\u6216\u90e8\u5206\u540d\u79f0\uff0c\u5982\u679c<code>GLOBAL_NAMES<\/code>\u521d\u59cb\u5316\u53c2\u6570\u7684\u503c\u4e3a<code>TRUE<\/code>\uff0c\u5219\u6570\u636e\u5e93\u94fe\u63a5\u5fc5\u987b\u4e0e\u5176\u8fde\u63a5\u7684\u6570\u636e\u5e93\u540c\u540d\u3002\u5982\u679c\u503c\u4e3a<code>FALSE<\/code>\u5e76\u4e14\u60a8\u5df2\u66f4\u6539\u6570\u636e\u5e93\u7684\u5168\u5c40\u540d\u79f0\uff0c\u5219\u53ef\u4ee5\u6307\u5b9a\u5168\u5c40\u540d\u79f0<br \/> 3\u3001<code>connect_string<\/code>\uff1a\u8fde\u63a5\u5b57\u7b26\u4e32\uff0ctnsnames.ora\u4e2d\u5b9a\u4e49\u8fdc\u7a0b\u6570\u636e\u5e93\u7684\u8fde\u63a5\u4e32<br \/> 4\u3001<code>username\u3001password<\/code>\uff1a\u8fdc\u7a0b\u6570\u636e\u5e93\u7684\u7528\u6237\u540d\uff0c\u5bc6\u7801\u3002\u5982\u679c\u4e0d\u6307\u5b9a\uff0c\u5219\u4f7f\u7528\u5f53\u524d\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\u767b\u5f55\u5230\u8fdc\u7a0b\u6570\u636e\u5e93<\/p>\n<p>\u4f8b\u5982\uff1a\u8bbf\u95ee\u8fdc\u7a0b\u673a\u5668(<code>222.90.95.192<\/code>)\u4e0a<code>ora_bbb<\/code>\u7528\u6237\u4e0b\u7684\u8868<code>table_a<\/code><\/p>\n<pre class=\"language-java prettyprint linenums\"><code class=\"prism language-sql\"><span class=\"token comment\"># \u8fdc\u7a0b\u673a\u5668\u7528\u6237ora_bbb\u4e0btable_a\u7684\u6570\u636e\u5982\u4e0b\uff1a<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">select<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">from<\/span> table_a<span class=\"token punctuation\">;<\/span> ID NAME <span class=\"token comment\">---------- ----------<\/span> <span class=\"token number\">1<\/span> a <span class=\"token number\">2<\/span> b <span class=\"token number\">3<\/span> c <span class=\"token number\">4<\/span> d <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">commit<\/span><span class=\"token punctuation\">;<\/span> <span class=\"token keyword\">Commit<\/span> complete<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token comment\"># \u672c\u5730\u673a\u5668\u767b\u5f55SYS\u7528\u6237\u4e3aora_aaa \u6388\u4e88create database link\u6743\u9650<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> conn <span class=\"token operator\">\/<\/span><span class=\"token keyword\">as<\/span> sysdba Connected<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">grant<\/span> <span class=\"token keyword\">create<\/span> <span class=\"token keyword\">database<\/span> link <span class=\"token keyword\">to<\/span> ora_aaa<span class=\"token punctuation\">;<\/span> <span class=\"token keyword\">Grant<\/span> succeeded<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> conn <span class=\"token operator\">\/<\/span><span class=\"token keyword\">as<\/span> sysdba Connected <span class=\"token comment\"># \u672c\u5730\u673a\u5668\u4e0a\u521b\u5efadblink<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">create<\/span> <span class=\"token keyword\">database<\/span> link dblink <span class=\"token keyword\">connect<\/span> <span class=\"token keyword\">to<\/span> ora_bbb identified <span class=\"token keyword\">by<\/span> bbb123 <span class=\"token number\">3<\/span> <span class=\"token keyword\">using<\/span> <span class=\"token string\">'(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 222.90.95.192)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))'<\/span><span class=\"token punctuation\">;<\/span> <span class=\"token keyword\">Database<\/span> link created<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token comment\"># \u901a\u8fc7dblink\u8bbf\u95ee\u8fdc\u7a0b\u673a\u5668\u7528\u6237ora_bbb\u4e0btable_a\u8868<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">select<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">from<\/span> ora_bbb<span class=\"token punctuation\">.<\/span>table_a<span class=\"token variable\">@Dblink<\/span><span class=\"token punctuation\">;<\/span> ID NAME <span class=\"token comment\">---------- ----------<\/span> <span class=\"token number\">1<\/span> a <span class=\"token number\">2<\/span> b <span class=\"token number\">3<\/span> c <span class=\"token number\">4<\/span> d <span class=\"token comment\"># \u4e3a\u8fdc\u7a0b\u673a\u5668ora_bbb\u7528\u6237\u4e0b\u7684table_a\u521b\u5efa\u540c\u4e49\u8bcd\uff0c\u5e76\u8bbf\u95ee<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">create<\/span> synonym table_s <span class=\"token keyword\">for<\/span> table_a<span class=\"token variable\">@dblink<\/span><span class=\"token punctuation\">;<\/span> Synonym created<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">select<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">from<\/span> table_s<span class=\"token punctuation\">;<\/span> ID NAME <span class=\"token comment\">---------- ----------<\/span> <span class=\"token number\">1<\/span> a <span class=\"token number\">2<\/span> b <span class=\"token number\">3<\/span> c <span class=\"token number\">4<\/span> d <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <\/code><\/pre>\n<p>\u5220\u9664\u540c\u4e49\u8bcd\uff0c\u8981\u5220\u9664\u5176\u4ed6\u6a21\u5f0f\u4e0b\u7684\u540c\u4e49\u8bcd\uff0c\u5fc5\u987b\u5177\u6709<code>DROP any SYNONYM<\/code>\u6743\u9650<\/p>\n<pre class=\"language-java prettyprint linenums\"><code class=\"prism language-sql\"><span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> conn ora_aaa Enter password: Connected<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token comment\"># \u5220\u9664\u81ea\u8eab\u6a21\u5f0f\u4e0b\u7684\u79c1\u6709\u540c\u4e49\u8bcd<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">drop<\/span> synonym sy1<span class=\"token punctuation\">;<\/span> Synonym dropped<span class=\"token punctuation\">.<\/span> <span class=\"token comment\"># \u5220\u9664\u6a21\u5f0fbbb\u4e0b\u7684\u79c1\u6709\u540c\u4e49\u8bcd\uff0c\u5931\u8d25<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">drop<\/span> synonym bbb<span class=\"token punctuation\">.<\/span>sy1<span class=\"token punctuation\">;<\/span> <span class=\"token keyword\">drop<\/span> synonym bbb<span class=\"token punctuation\">.<\/span>sy1 <span class=\"token operator\">*<\/span> ERROR at line <span class=\"token number\">1<\/span>: ORA<span class=\"token operator\">-<\/span><span class=\"token number\">01031<\/span>: insufficient <span class=\"token keyword\">privileges<\/span> <span class=\"token comment\"># SYS\u7528\u6237\u6388\u4e88 DROP any SYNONYM\u6743\u9650<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> conn <span class=\"token operator\">\/<\/span><span class=\"token keyword\">as<\/span> sysdba Connected<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">grant<\/span> <span class=\"token keyword\">DROP<\/span> <span class=\"token keyword\">any<\/span> SYNONYM <span class=\"token keyword\">to<\/span> ora_aaa<span class=\"token punctuation\">;<\/span> <span class=\"token keyword\">Grant<\/span> succeeded<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> conn ora_aaa Enter password: Connected<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">drop<\/span> synonym bbb<span class=\"token punctuation\">.<\/span>sy1<span class=\"token punctuation\">;<\/span> Synonym dropped<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <\/code><\/pre>\n<p>\u540c\u4e49\u8bcd\u7684\u4fee\u6539\uff0c\u5f53\u5bf9\u539f\u5bf9\u8c61\u8fdb\u884cDDL\u64cd\u4f5c\u540e\uff0c\u540c\u4e49\u8bcd\u7684\u72b6\u6001\u4f1a\u53d8\u6210INVALID\uff1b\u5f53\u518d\u6b21\u5f15\u7528\u8fd9\u4e2a\u540c\u4e49\u8bcd\u65f6\uff0c\u540c\u4e49\u8bcd\u4f1a\u81ea\u52a8\u7f16\u8bd1\uff0c\u72b6\u6001\u4f1a\u53d8\u6210VALID\uff0c\u65e0\u9700\u4eba\u5de5\u5e72\u9884\uff0c\u5f53\u7136\u524d\u63d0\u662f\u4e0d\u6539\u53d8\u539f\u5bf9\u8c61\u7684\u540d\u79f0<\/p>\n<pre class=\"language-java prettyprint linenums\"><code class=\"prism language-sql\"><span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">SELECT<\/span> OBJECT_NAME<span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">STATUS<\/span> <span class=\"token keyword\">FROM<\/span> ALL_OBJECTS <span class=\"token keyword\">WHERE<\/span> OBJECT_NAME<span class=\"token operator\">=<\/span><span class=\"token string\">'SY1'<\/span><span class=\"token punctuation\">;<\/span> OBJECT_NAME <span class=\"token keyword\">STATUS<\/span> <span class=\"token comment\">-------------------------------------------------------------------------------------------------------------------------------- -------<\/span> SY1 VALID SY1 VALID <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">drop<\/span> <span class=\"token keyword\">table<\/span> test1<span class=\"token punctuation\">;<\/span> <span class=\"token keyword\">Table<\/span> dropped<span class=\"token punctuation\">.<\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">SELECT<\/span> OBJECT_NAME<span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">STATUS<\/span> <span class=\"token keyword\">FROM<\/span> ALL_OBJECTS <span class=\"token keyword\">WHERE<\/span> OBJECT_NAME<span class=\"token operator\">=<\/span><span class=\"token string\">'SY1'<\/span><span class=\"token punctuation\">;<\/span> OBJECT_NAME <span class=\"token keyword\">STATUS<\/span> <span class=\"token comment\">-------------------------------------------------------------------------------------------------------------------------------- -------<\/span> SY1 INVALID SY1 INVALID <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">select<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">from<\/span> sy1<span class=\"token punctuation\">;<\/span> <span class=\"token keyword\">select<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">from<\/span> sy1 <span class=\"token operator\">*<\/span> ERROR at line <span class=\"token number\">1<\/span>: ORA<span class=\"token operator\">-<\/span><span class=\"token number\">00980<\/span>: synonym translation <span class=\"token operator\">is<\/span> <span class=\"token keyword\">no<\/span> longer valid <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">SELECT<\/span> OBJECT_NAME<span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">STATUS<\/span> <span class=\"token keyword\">FROM<\/span> ALL_OBJECTS <span class=\"token keyword\">WHERE<\/span> OBJECT_NAME<span class=\"token operator\">=<\/span><span class=\"token string\">'SY1'<\/span><span class=\"token punctuation\">;<\/span> OBJECT_NAME <span class=\"token keyword\">STATUS<\/span> <span class=\"token comment\">-------------------------------------------------------------------------------------------------------------------------------- -------<\/span> SY1 VALID SY1 INVALID <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">select<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">from<\/span> BBB<span class=\"token punctuation\">.<\/span>SY1<span class=\"token punctuation\">;<\/span> <span class=\"token keyword\">select<\/span> <span class=\"token operator\">*<\/span> <span class=\"token keyword\">from<\/span> BBB<span class=\"token punctuation\">.<\/span>SY1 <span class=\"token operator\">*<\/span> ERROR at line <span class=\"token number\">1<\/span>: ORA<span class=\"token operator\">-<\/span><span class=\"token number\">00980<\/span>: synonym translation <span class=\"token operator\">is<\/span> <span class=\"token keyword\">no<\/span> longer valid <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <span class=\"token keyword\">SELECT<\/span> OWNER<span class=\"token punctuation\">,<\/span>OBJECT_NAME<span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">STATUS<\/span> <span class=\"token keyword\">FROM<\/span> ALL_OBJECTS <span class=\"token keyword\">WHERE<\/span> OBJECT_NAME<span class=\"token operator\">=<\/span><span class=\"token string\">'SY1'<\/span><span class=\"token punctuation\">;<\/span> OWNER OBJECT_NAME <span class=\"token keyword\">STATUS<\/span> <span class=\"token comment\">-------------------- -------------------------------------------------------------------------------------------------------------------------------- -------<\/span> <span class=\"token keyword\">PUBLIC<\/span> SY1 VALID BBB SY1 VALID <span class=\"token keyword\">SQL<\/span><span class=\"token operator\">><\/span> <\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"Oracle\u7684\u5b66\u4e60\u5fc3\u5f97\u548c\u77e5\u8bc6\u603b\u7ed3\uff08\u516d\uff09|Oracle\u6570\u636e\u5e93\u540c\u4e49\u8bcd\u6280\u672f\u8be6\u89e3\u76ee\u5f55\u7ed3\u6784\u6ce8\uff1a\u63d0\u524d\u8a00\u660e\u672c\u6587\u501f\u9274\u4e86\u4ee5\u4e0b\u535a\u4e3b\u3001\u4e66\u7c4d\u6216\u7f51\u7ad9\u7684\u5185\u5bb9\uff0c...","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"_links":{"self":[{"href":"https:\/\/mushiming.com\/wp-json\/wp\/v2\/posts\/4888"}],"collection":[{"href":"https:\/\/mushiming.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mushiming.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mushiming.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mushiming.com\/wp-json\/wp\/v2\/comments?post=4888"}],"version-history":[{"count":0,"href":"https:\/\/mushiming.com\/wp-json\/wp\/v2\/posts\/4888\/revisions"}],"wp:attachment":[{"href":"https:\/\/mushiming.com\/wp-json\/wp\/v2\/media?parent=4888"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mushiming.com\/wp-json\/wp\/v2\/categories?post=4888"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mushiming.com\/wp-json\/wp\/v2\/tags?post=4888"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}