oracle建立使用者ORA-01045:user lacks CREATE SESSION privilege;logon denied..的問題

來源:互聯網
上載者:User

標籤:

oracle建立使用者ORA-01045:user lacks CREATE SESSION privilege;logon denied..的問題

 

conn internal/oracle

grant user aaaa identified by aaaa;

conn aaaa/aaaa 會報錯:

SQL>conn aaaa/aaaa 會報錯:

ERROR:

ORA-01045: user aaaa lacks CREATE SESSION privilege; logon denied
 

原因:

使用者至少需要會話的權利,否則串連也不成功;

使用者在會話的權利上,應該有其他動作的權利;

解決方案: www.2cto.com  

1

grant connect, resource toaaaa;

2

grant create session to aaaa;

 

Oracle的安全

 

第一:使用者管理*******************************************

使用者至少需要會話的權利,否則串連也不成功;

使用者在會話的權利上,應該有其他動作的權利;

Oracle的使用者和口令不區分大小寫,真是讓人大跌眼鏡;

Oralce中,所有使用者必須明確被授權,才可以操作;
 

SQL Server中,建立的使用者自動就擁有了一些許可權;

Oracle不依賴作業系統;SQL Server依賴Windows;

MicroSoft假定大多數使用者都是合法使用者,採取樂觀態度;

Oracle首先假定使用者都是不安全的,採取悲觀態度;

Oracle中的使用者是互相隔離的,稱為使用者模式;
 

內建使用者: www.2cto.com  

 sys,網路系統管理員,最高許可權;

     當你試圖輸入了使用者名稱:sys

         密碼:通用

     之後,你發現串連不上;

     而輸入 使用者名稱:system

        密碼:通用

     或者    使用者名稱:scott

         密碼:tiger
 

     的時候都可以串連,所以你認為

     sys的許可權沒有system高;

     其實正是因為sys的許可權高,所以你必須以

     dba的身份來登陸:sys/通用 as sysdba

//可以使用資料字典user_users來查看目前使用者管理的使用者:

  select * fromuser_users;

 而dba_users可以查看dba管理的使用者;

 system,只管理本機上的資料庫;

 而all_users查看所有使用者,只能由dba來查看;

 

******建立使用者: www.2cto.com  

 create user 使用者名稱 identified by 口令 [externally]

 [default tablesapce 資料表空間名]

 [temporary tablespace 暫存資料表空間名]

 [quota 整數 K|M|unlimited on 資料表空間名]

//注意:建立使用者必須有dba的許可權;
 

******查詢使用者:

 其實就是對錶user_users/dba_users/all_users進行查詢,

 只不過這裡不把他們叫表,叫資料字典;而且資料字典是系統

 維護的;

*******修改使用者:

 alter user.....//後面和建立一樣;

Oracle中一個執行個體就是一個資料庫,這個資料庫相當與SQLServer的全部資料庫;

Oracle的一個資料庫被分為很多個資料表空間,每個資料表空間相當於SQL Server中的一個資料庫;

   

執行個體示範:

create user student_user

identified by student

default tablespace users

temporary tablespace temp

quota 5m on users

quota 3m on temp
 

/其中,users,temp都是內建的資料表空間,student_user在users裡有5m空間,在temp裡有3m;

新建立的使用者是沒有權利的:

SQL> connstudent_user/student;

ERROR:  www.2cto.com 

ORA-01045: user STUDENT_USERlacks CREATE SESSION privilege; logon denied

警告: 您不再串連到 ORACLE。

 

*****限制使用者

 鎖定:alter user 使用者名稱 account lock;

  效果:

  SQL> alter userstudent_user account lock;

  使用者已更改。

  SQL> connstudent_user/student;

  ERROR:

  ORA-28000: the accountis locked

  警告: 您不再串連到 ORACLE。

 解鎖:alter user 使用者名稱 account unlock;

 口令無效:alter 使用者名稱 password expire; 當使用者建立了很多表,

  如果直接刪除使用者,它下面的表都將被刪除,所以我們可以

  只使得它的口令無效;
 

//可見,表是使用者的手下,使用者沒了,使用者創立的表,佔用的空間都就沒了;

//所以,一般情況下,我們不要刪除使用者;

****刪除使用者: www.2cto.com  

 drop user 使用者名稱[cascade]

 //cascade是強制移除,即使有別人正在用這個使用者的表;

//資料庫管理語句是自動結束事務的,沒有rollback的機會;

 

第二:許可權管理***********************************************

授權:grant [系統特權名] [角色] [on 被授權動作表名] to [使用者名稱列表]

 [public][with adminoption]

 如果是dcl語句,就不用on 被授權動作表名

 grant all on student topublic:把對student的所有許可權授予所有使用者;

 

資料字典:user_sys_privs

 select * fromuser_sys_privs

許可權收回:  www.2cto.com 

 revoke 許可權列表 on 表 from 使用者;

 SQL> revoke createtable from iam;

 撤銷成功。
 

撤消只是撤消本次授權的許可權,所以如果某個使用者原來就有某個權利,

而你又給它授了同樣的一個權利,然後你收回這個許可權的時候,它原來

就具有的這個權利還是有的;

第三:角色管理*****************************************

因為一個使用者可能需要某些許可權的集合,當我們得到一新的使用者的時候,我們需要給一個

使用者依次授權每個它需要的許可權;角色正是一個許可權的集合,使用者可以直接被授予這個

角色,使用者自然就擁有了它的角色所擁有的權利;
 

建立角色:

 create role 角色名稱 [noidentified|identified by 口令|externally]

 not identified:指出授予該角色的使用者在使用時不需要檢驗;

 identified by:指出授予該角色的使用者在使用set role命令時需要檢驗;

   www.2cto.com 

收回許可權:revoke 許可權 from 角色名稱;
 

//角色就是許可權的集合;

執行個體:

create role student_role

/

grant create table,createsession,create view to student_role

/

grant student_role to scott

/

revoke create view fromstudent_role

/

角色的某個許可權被收回的時候,被授予該角色的使用者的該許可權也相應被收回;

oracle建立使用者ORA-01045:user lacks CREATE SESSION privilege;logon denied..的問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.