ORA-01919


看到這個錯誤提示再明白不過了,Oracle中某個角色不存在。

不小心把Oracle中的幾個重要角色刪除掉了(dba,connect,resource),Plsql只能用DBA權限進去,普通權限進不去,悲劇中,百度....貌似沒查出個所以然,但是想想

 類似與這樣的提示。百度也給不出想要的答案,答案要靠自己來發現

1:首先了解下這幾個角色都是干什么用的,然后就知道如何處理

   1):connect

        select GRANTEE, PRIVILEGE from DBA_SYS_PRIVS where GRANTEE ='CONNECT';查詢出下面內容

        ALTER SESSION --修改會話
        CREATE CLUSTER --建立聚簇
        CREATE DATABASE LINK --建立數據庫鏈接
        CREATE SEQUENCE --建立序列
        CREATE SESSION --建立會話
        CREATE SYNONYM --建立同義詞
        CREATE VIEW --建立視圖

   解決方法:首先創建角色,然后再賦權限就行了:

    SQL-> create role connect;

    SQL->  grant ALTER SESSION ,CREATE CLUSTER,CREATE DATABASE LINK,CREATE SEQUENCE,CREATE SESSION,CREATE SYNONYM,    CREATE VIEW   to connect;

  2):resource--是授予開發人員的

        CREATE CLUSTER --建立聚簇
        CREATE PROCEDURE --建立過程
        CREATE SEQUENCE --建立序列
        CREATE TABLE --建表
        CREATE TRIGGER --建立觸發器
        CREATE TYPE --建立類型

   SQL->select grantee,privilege from dba_sys_privs where grantee='RESOURCE' order by privilege;

      RESOURCE CREATE CLUSTER
      RESOURCE CREATE INDEXTYPE
      RESOURCE CREATE OPERATOR
      RESOURCE CREATE PROCEDURE
      RESOURCE CREATE SEQUENCE
      RESOURCE CREATE TABLE
      RESOURCE CREATE TRIGGER
      RESOURCE CREATE TYPE

    SQL-> create role resource;

    SQL->  grant CREATE CLUSTER,CREATE INDEXTYPE,CREATE OPERATOR,CREATE PROCEDURE,CREATE SEQUENCE,CREATE TABLE,CREATE TRIGGER,CREATE TYPE    to resource;

  3):DBA

    create role DBA;
    grant all privilege to dba with admin option;

 

 

OK,問題解決了。

   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM