{"id":514,"date":"2014-12-07T15:33:17","date_gmt":"2014-12-07T07:33:17","guid":{"rendered":"http:\/\/www.royalwzy.com\/?p=514"},"modified":"2015-09-10T21:53:02","modified_gmt":"2015-09-10T13:53:02","slug":"limit-sqlplus-operation","status":"publish","type":"post","link":"http:\/\/www.royalwzy.com\/?p=514","title":{"rendered":"Limit SQL*Plus operation"},"content":{"rendered":"<p>SQL*Plus Security<br \/>\n\u9650\u5236\u54ea\u4e9b\u7528\u6237\u5728SQL*Plus\u91cc\u80fd\u591f\u6267\u884c\u54ea\u4e9b\u547d\u4ee4\u4ee5\u53ca\u4e0d\u80fd\u6267\u884c\u54ea\u4e9b\u547d\u4ee4<\/p>\n<p>oracle\u662f\u7528system\u7528\u6237\u4e0b\u7684PRODUCT_USER_PROFILE (PUP)\u8868\u6765\u8fdb\u884c\u7684\u9650\u5236\u3002\u63d0\u4f9b\u4e86\u4ea7\u54c1\u7ea7\u522b\u7684\u5b89\u5168,\u7528\u6237\u7ea7\u5b89\u5168\uff08SQL GRANT\u548cREVOKE\u547d\u4ee4\u548c\u7528\u6237\u89d2\u8272\uff09\u76f8\u4e92\u8865\u5145\u3002<\/p>\n<p>select * from product_user_profile;<br \/>\n\u5982\u679c\u8fd9\u5f20\u8868\u4e0d\u5b58\u5728\u53ef\u4ee5\u4f7f\u7528\u00a0 @?\/sqlplus\/admin\/pupbld<br \/>\n\u8868\u7ed3\u6784\u5982\u4e0b\uff1a<br \/>\nSQL&gt; desc product_user_profile<br \/>\nName\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Type<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\nPRODUCT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 VARCHAR2(30)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#8211;\u5fc5\u987b\u5305\u542b\u4ea7\u54c1\u7684\u540d\u79f0(SQL * Plus)\u3002\u4e0d\u80fd\u8f93\u5165\u901a\u914d\u7b26\u6216NULL<br \/>\nUSERID\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 VARCHAR2(30)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#8211;\u5fc5\u987b\u5305\u542b\u7528\u6237\u7684\u7528\u6237\u540d(\u5927\u5199)\u6765\u8bf4,\u4f60\u60f3\u7981\u7528\u547d\u4ee4\u3002\u4e3a\u591a\u4e2a\u7528\u6237\u7981\u7528\u547d\u4ee4,\u4f7f\u7528SQL\u901a\u914d\u7b26(%)\u6216\u591a\u4e2a\u6761\u76ee HR\uff0cHR1\u00a0 HR%\u00a0 %<br \/>\nATTRIBUTE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 VARCHAR2(240)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#8211;\u5fc5\u987b\u5305\u542b\u7684\u540d\u79f0(\u5927\u5199)SQL\u3001SQL * Plus\u6216\u8005PL \/ SQL\u547d\u4ee4\u7981\u7528(\u4f8b\u5982,RUN)\u00a0\u00a0 \u5982\u679c\u4f60\u7981\u7528\u4e00\u4e2a\u89d2\u8272,\u4ed6\u53ef\u4ee5\u662f\u8fd9\u4e2a\u89d2\u8272\u7684\u5b57\u7b26\u4e32<br \/>\nSCOPE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 VARCHAR2(240)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#8211;\u7a7a\u5c31\u597d\u4e86<br \/>\nNUMERIC_VALUE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 NUMBER(15,2)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#8211;\u7a7a\u5c31\u597d\u4e86<br \/>\nCHAR_VALUE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 VARCHAR2(240)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#8211;\u7981\u7528\u4e00\u4e2aSQL\u3001SQL * Plus,\u6216PL \/ SQL\u547d\u4ee4\u662f&#8221;DISABLED&#8221;\u00a0 \u5982\u679c\u4f60\u7981\u7528\u4e00\u4e2a\u89d2\u8272,\u5b83\u5fc5\u987b\u5305\u542b\u89d2\u8272\u7684\u540d\u5b57\u00a0 \u4e0d\u53ef\u4ee5\u4f7f\u7528\u901a\u914d\u7b26(%)<br \/>\nDATE_VALUE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 DATE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#8211;\u7a7a\u5c31\u597d\u4e86<br \/>\nLONG_VALUE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 LONG\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#8211;\u7a7a\u5c31\u597d\u4e86<\/p>\n<p>SQL*Plus\u00a0\u00a0 HR\u00a0\u00a0\u00a0\u00a0\u00a0 HOST\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 DISABLED<br \/>\nSQL*Plus\u00a0\u00a0 %\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 INSERT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 DISABLED<br \/>\nSQL*Plus\u00a0\u00a0 %\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 UPDATE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 DISABLED<br \/>\nSQL*Plus\u00a0\u00a0 %\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 DELETE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 DISABLED<\/p>\n<p>insert into product_user_profile(PRODUCT,USERID,ATTRIBUTE,CHAR_VALUE )values(&#8216;SQL*Plus&#8217;,&#8217;HR&#8217;,&#8217;HOST&#8217;,&#8217;DISABLED&#8217;);<br \/>\ninsert into product_user_profile(PRODUCT,USERID,ATTRIBUTE,CHAR_VALUE )values(&#8216;SQL*Plus&#8217;,&#8217;%&#8217;,&#8217;INSERT&#8217;,&#8217;DISABLED&#8217;);<br \/>\ninsert into product_user_profile(PRODUCT,USERID,ATTRIBUTE,CHAR_VALUE )values(&#8216;SQL*Plus&#8217;,&#8217;%&#8217;,&#8217;UPDATE&#8217;,&#8217;DISABLED&#8217;);<br \/>\ninsert into product_user_profile(PRODUCT,USERID,ATTRIBUTE,CHAR_VALUE )values(&#8216;SQL*Plus&#8217;,&#8217;%&#8217;,&#8217;DELETE&#8217;,&#8217;DISABLED&#8217;);<br \/>\nCOMMIT;<\/p>\n<p>&#8211;Disabling HOST disables the operating system alias for HOST, such as $ on Windows, and ! on UNIX<br \/>\n&#8211;\u4e0d\u63a8\u8350\u7981\u7528\u9000\u51fa\/\u9000\u51fa\u3002\u5982\u679c\u7981\u7528,\u7ec8\u6b62\u547d\u4ee4\u884c\u4f1a\u8bdd\u901a\u8fc7\u53d1\u9001\u4e00\u4e2aEOF\u5b57\u7b26\u5982Ctrl + D\u5728UNIX\u6216Ctrl + Z\u5728Windows\u3002\u7ec8\u6b62\u4e00\u4e2aWindows\u7684GUI\u548c\u6587\u4ef6&gt;\u9000\u51fa\u4f1a\u8bdd\u3002\u5426\u5219,\u7ec8\u6b62\u4f1a\u8bdd\u7ec8\u6b62\u7684SQL * Plus\u6d41\u7a0b\u3002<br \/>\n&#8211;\u5982\u679c\u7981\u7528,\u4f7f\u7528\u9000\u51fa\/\u9000\u51fa\u7ec8\u6b62\u5f53\u524d\u8fd0\u884c\u7684\u811a\u672ciSQL *\u52a0\u4e0a\u4e5f\u7981\u7528\u3002\u5982\u679c\u7981\u7528,\u9000\u51fa\u64cd\u4f5c\u53ea\u8981OSERROR\u6bcf\u5f53SQLERROR\u4e5f\u7981\u7528\u3002<br \/>\n&#8211;\u5f53\u7981\u7528\u4e86help\u7684\u65f6\u5019\u540c\u65f6\u4e5f\u7981\u7528\u4e86\uff1f<br \/>\n&#8211;\u7981\u7528SQL * Plus set \u547d\u4ee4\u4e5f\u7981\u7528SET CONSTRAINTS, SET ROLE and SET TRANSACTION<br \/>\n&#8211;\u7981\u7528SQL * Plus start\u4e5f\u7981\u7528@ \/ @@<br \/>\n&#8211;\u7981\u7528BEGIN \u548c DECLARE \u5e76\u4e0d\u59a8\u788d\u4f7f\u7528SQL * Plus\u00a0 EXECUTE\u00a0 \u53bb \u8fd0\u884cPL \/ SQL\u3002EXECUTE\u5fc5\u987b\u5355\u72ec\u7981\u7528<br \/>\nSQL*PLUS \u53ef\u4ee5\u9650\u5236\u7684\u547d\u4ee4\u6709\uff1a<br \/>\nACCEPT\u00a0\u00a0 \uff0cDEFINE \uff0cPASSWORD \uff0cSHUTDOWN\u00a0\u00a0\u00a0\u00a0 \uff0cAPPEND<br \/>\nDEL\u00a0\u00a0\u00a0\u00a0\u00a0 \uff0cPAUSE\u00a0 \uff0cSPOOL\u00a0\u00a0\u00a0 \uff0cARCHIVE LOG\u00a0 \uff0cDESCRIBE<br \/>\nPRINT\u00a0\u00a0\u00a0 \uff0cSTART (@, @@)<br \/>\nATTRIBUTE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \uff0cDISCONNECT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \uff0cPROMPT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \uff0cSTARTUP<br \/>\nBREAK\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \uff0cEDIT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \uff0cRECOVER\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \uff0cSTORE<br \/>\nBTITLE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \uff0cEXECUTE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \uff0cREMARK\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \uff0cTIMING<br \/>\nCHANGE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \uff0cEXIT\/QUIT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \uff0cREPFOOTER\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \uff0cTTITLE<br \/>\nCLEAR\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \uff0cGET\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \uff0cREPHEADER\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \uff0cUNDEFINE<br \/>\nCOLUM\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \uff0cNHELP (?)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \uff0cRUN\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \uff0cVARIABLE<br \/>\nCOMPUTE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \uff0cHOST<br \/>\nSAVE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \uff0cWHENEVER OSERROR<br \/>\nCONNECT\u00a0 \uff0cINPUT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \uff0cSET\u00a0\u00a0\u00a0\u00a0\u00a0 \uff0cWHENEVER SQLERROR<br \/>\nCOPY\u00a0\u00a0\u00a0\u00a0 \uff0cLIST (;)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \uff0cSHOW\u00a0\u00a0\u00a0\u00a0 \uff0cXQUERY<\/p>\n<p>SQL\u547d\u4ee4\u53ef\u4ee5\u9650\u5236\u7684\u6709\uff1a<br \/>\nALTER\u00a0\u00a0\u00a0 \uff0cDELETE\u00a0\u00a0\u00a0\u00a0\u00a0 \uff0c MERGE\u00a0\u00a0 \uff0c\u00a0 SET CONSTRAINTS<br \/>\nANALYZE\u00a0 \uff0cDISASSOCIATE\uff0c NOAUDIT \uff0c\u00a0 SET ROLE<br \/>\nASSOCIATE\uff0cDROP\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \uff0c PURGE\u00a0\u00a0 \uff0c\u00a0 SET TRANSACTION<br \/>\nAUDIT\u00a0\u00a0\u00a0 \uff0cEXPLAIN\u00a0\u00a0\u00a0\u00a0 \uff0c RENAME\u00a0 \uff0c\u00a0 TRUNCATE<br \/>\nCALL\u00a0\u00a0\u00a0\u00a0 \uff0cFLASHBACK\u00a0\u00a0 \uff0c REVOKE\u00a0 \uff0c\u00a0 UPDATE<br \/>\nCOMMENT\u00a0 \uff0cGRANT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \uff0c ROLLBACK\uff0c\u00a0 VALIDATE<br \/>\nCOMMIT\u00a0\u00a0 \uff0cINSERT\u00a0\u00a0\u00a0\u00a0\u00a0 \uff0c SAVEPOINT\uff0c CREATE\uff0cLOCK\uff0c SELECT<\/p>\n<p>pl\/sql\u53ef\u4ee5\u9650\u5236\u7684\u6709<br \/>\nBEGIN\u00a0\u00a0\u00a0 DECLARE<br \/>\n\u6211\u4eec\u505a\u4e2a\u4f8b\u5b50\uff1a<\/p>\n<p>1.\u767b\u5f55\u5230system<br \/>\nconn system\/oracle<br \/>\n2.\u6dfb\u52a0\u7981\u7528<br \/>\nINSERT INTO PRODUCT_USER_PROFILE<br \/>\nVALUES (&#8216;SQL*Plus&#8217;, &#8216;HR&#8217;, &#8216;SELECT&#8217;, NULL, NULL, &#8216;DISABLED&#8217;, NULL, NULL);<br \/>\n3.\u767b\u5f55\u5230hr\u5e76\u67e5\u8be2<br \/>\nSQL&gt; conn hr\/hr<br \/>\nConnected.<br \/>\nSQL&gt; select * from dual;<br \/>\nSP2-0544: Command &#8220;select&#8221; disabled in Product User Profile<br \/>\nSQL&gt; ho ls<br \/>\nSP2-0544: Command &#8220;host&#8221; disabled in Product User Profile<br \/>\n4.\u5728SYSTEM\u91cc\u53bb\u6389\u521a\u521a\u7684\u9650\u5236<br \/>\nDELETE FROM PRODUCT_USER_PROFILE WHERE USERID = &#8216;HR&#8217;;<\/p>\n<p>\u4f46\u662f\u57283\u7684\u65f6\u5019\u6211\u4eec\u5982\u679c\u7528PL\/SQL DEVELOPER\u6216\u8005\u5176\u5b83\u7684IDE\u5de5\u5177\u662f\u6ca1\u6709\u4efb\u4f55\u95ee\u9898\u7684<br \/>\n\u5f53\u7136 PUP\u4e5f\u53ef\u4ee5\u5728\u89d2\u8272\u4e0a\u8fdb\u884c\u9650\u5236\uff1a<br \/>\n\u53ef\u4ee5\u4f7f\u7528SQL\u547d\u4ee4\u6765\u521b\u5efa\u548c\u63a7\u5236\u89d2\u8272\u4e3a\u4f60\u63d0\u4f9b\u5b89\u5168\u8bbf\u95ee\u6570\u636e\u5e93\u8868\u3002\u901a\u8fc7\u521b\u5efa\u4e00\u4e2a\u89d2\u8272,\u7136\u540e\u63a7\u5236\u8c01\u6709\u6743\u8bbf\u95ee\u5b83,\u786e\u4fdd\u53ea\u6709\u7279\u5b9a\u7684\u7528\u6237\u53ef\u4ee5\u8bbf\u95ee\u7279\u5b9a\u7684\u6570\u636e\u5e93\u7279\u6743<br \/>\n\u521b\u5efa\u4e24\u4e2arole<br \/>\n&#8211;\u4e00\u4e2a\u4e0d\u5e26\u5bc6\u7801<br \/>\ncreate role ROLE1;<br \/>\n&#8211;\u4e00\u4e2a\u5e26\u5bc6\u7801<br \/>\ncreate role role2 identified by oracle;<\/p>\n<p>grant create session,create table,create view to ROLE1;<\/p>\n<p>grant create session,create table,create view,create procedure to role2;<\/p>\n<p>create user ucjmh identified by ucjmh;<\/p>\n<p>grant ROLE1,ROLE2 to ucjmh;<\/p>\n<p>&#8211;\u4fee\u6539ucjmh\u7528\u6237\u7684\u7f3a\u7701\u89d2\u8272\uff0c\u53ea\u8ba9role1\u5728\u767b\u9646\u7684\u65f6\u5019\u751f\u6548<\/p>\n<p>alter user ucjmh default role role1;<br \/>\nselect * from product_user_profile<br \/>\n\u7136\u540einsert<br \/>\ninsert into product_user_profile(PRODUCT,USERID,ATTRIBUTE,CHAR_VALUE )values(&#8216;SQL*Plus&#8217;,&#8217;%&#8217;,&#8217;ROLES&#8217;,&#8217;ROLE1&#8242;);<br \/>\n\u8fd9\u4e2a\u65f6\u5019\u767b\u5f55\uff1a<br \/>\nSP2-0557: Error in disabling roles in product user profile.<br \/>\nConnected.<\/p>\n<p>\u8fd9\u4e2a\u65f6\u5019 \u6211\u4eec\u518dinsert role2<br \/>\ninsert into product_user_profile(PRODUCT,USERID,ATTRIBUTE,CHAR_VALUE )values(&#8216;SQL*Plus&#8217;,&#8217;UCJMH&#8217;,&#8217;ROLES&#8217;,&#8217;ROLE2&#8242;);<\/p>\n<p>SQL&gt; conn ucjmh\/ucjmh<br \/>\nConnected.<br \/>\nSQL&gt; select * from session_roles;<\/p>\n<p>no rows selected<\/p>\n<p>\u7136\u540e\u53ef\u4ee5\u770b\u51fa\u6765\u5176\u5b9e\u5728\u767b\u5f55\u7684\u65f6\u5019oracle\u5185\u90e8\u505a\u4e86\uff1a<br \/>\nSET ROLE ALL EXCEPT ROLE1, ROLE2;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>SQL*Plus Security \u9650\u5236\u54ea\u4e9b\u7528\u6237\u5728SQL*Plus\u91cc\u80fd\u591f\u6267\u884c\u54ea\u4e9b\u547d\u4ee4\u4ee5\u53ca\u4e0d\u80fd\u6267\u884c\u54ea\u4e9b\u547d\u4ee4 or [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[34,2],"class_list":["post-514","post","type-post","status-publish","format-standard","hentry","category-oracle","tag-oracle","tag-oracle_basics"],"_links":{"self":[{"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/posts\/514","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=514"}],"version-history":[{"count":1,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/posts\/514\/revisions"}],"predecessor-version":[{"id":1008,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/posts\/514\/revisions\/1008"}],"wp:attachment":[{"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=514"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=514"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=514"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}