| CREATE USER "OPS$AAAAXDVP" IDENTIFIED EXTERNALLY DEFAULT TABLESPACE AXTAB TEMPORARY TABLESPACE AXTMP PROFILE DEFAULT ACCOUNT UNLOCK; GRANT RESOURCE TO "OPS$BBBAXDVP"; GRANT CONNECT TO "OPS$BBBAXDVP"; ALTER USER "OPS$AVONAPAXDVP" DEFAULT ROLE ALL; BEGIN SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE( PRIVILEGE => SYS.DBMS_RULE_ADM.ALTER_ANY_RULE_SET, GRANTEE => 'OPS$BBBAXDVP', GRANT_OPTION => TRUE); END; / GRANT EXECUTE ANY LIBRARY TO OPS$AVONAPAXDVP; |
| SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE( * ERROR at line 2: ORA-00911: invalid character ORA-24000: invalid value OPS$BBBAXDVP, USER/ROLE should be of the form [SCHEMA.]NAME ORA-00911: invalid character ORA-06512: at "SYS.DBMS_RULE_ADM", line 289 ORA-06512: at line 2 |
ROOT CAUSE:
由于外部验证用户中,如'OPS$BBBAXDVP',带有一个''.直接执行时oracle会报错。可以这样解决:
给用户名加单引号:
| --GRANTEE => '"OPS$BBBAXDVP"', --GRANT EXECUTE ANY LIBRARY TO 'OPS$AVONAPAXDVP' |

