设置DBMS_XDB.SETHTTPORT时“拒绝访问”

时间:2014-08-11 10:27:45

标签: oracle oracle-xe

我以普通用户身份登录数据库:

SQL> connect
Enter user-name: myusername
Enter passwort: 
Connected.

然后我尝试设置默认的http端口,如下所示:

SQL> Exec DBMS_XDB.SETHTTPPORT(3000);

但是我收到以下错误消息:

ERROR at line 1:
ORA-31050: Access denied
ORA-06512: at "XDB.DBMS_XDB", line 528
ORA-06512: at "XDB.DBMS_XDB", line 667
ORA-06512: at line 1

出了什么问题?也许是因为我不是管理员用户?但是如何添加管理员用户?

1 个答案:

答案 0 :(得分:1)

看看这个:

SQL> conn hr/hr
Connected.
SQL> exec dbms_xdb.sethttpport(3000);
BEGIN dbms_xdb.sethttpport(3000); END;

*
ERROR at line 1:
ORA-31050: Access denied
ORA-06512: at "XDB.DBMS_XDB", line 528
ORA-06512: at "XDB.DBMS_XDB", line 667
ORA-06512: at line 1


SQL> conn / as sysdba
Connected.
SQL> exec dbms_xdb.sethttpport(3000);

PL/SQL procedure successfully completed.

SQL> grant execute on dbms_xdb to hr
  2  /

Grant succeeded.

SQL> conn hr/hr
Connected.
SQL> exec dbms_xdb.sethttpport(3002);
BEGIN dbms_xdb.sethttpport(3002); END;

*
ERROR at line 1:
ORA-31050: Access denied
ORA-06512: at "XDB.DBMS_XDB", line 528
ORA-06512: at "XDB.DBMS_XDB", line 667
ORA-06512: at line 1


SQL> conn / as sysdba
Connected.
SQL> grant sysdba to hr
  2  /

Grant succeeded.

SQL> conn hr/hr as sysdba
Connected.
SQL> exec dbms_xdb.sethttpport(3003);

PL/SQL procedure successfully completed.

因此,您必须具有SYSDBA权限才能执行此程序包。