oracle 12c 使用as sysdba方式登入資料庫後的Schema變化
該實驗參考12官方文件手冊中的Current Schema When Connecting As SYSDBA
當使用者被賦予sysdba許可權後,使用 as sysdba方式登入資料庫會進入SYS schema,而不是該使用者的schema。甚至無法看到剛剛建立的表,需要制定該使用者的schema。處於SYS schema狀態下建立表也會建立到SYSTEM表空間下。
1,建立一個使用者snow,賦予connect,resource,sysdba許可權並指定users為預設表空間。
create user snow identified by snow default tablespace users;
grant connect,resource,sysdba to snow;
conn snow/snow
create table snow_test1(name varchar2(10));
select owner,table_name,tablespace_name from dba_tables where table_name='SNOW_TEST1';
OWNER TABLE_NAME TABLESPACE_NAME
-------------------- -------------------- --------------------
SNOW SNOW_TEST1 USERS
2,snow使用者使用sysdba方式登入,由於現在處於sys schema下,看不到剛剛建立的表了
conn snow as sysdba
Enter password:
select * from snow_test1;
select * from snow_test1
*
ERROR at line 1:
ORA-00942: table or view does not exist
3,重新建立一個使用者lily,使用 as sysdba方式建立表,看看會建立到users表空間還是system表空間?
conn / as sysdba
create user lily identified by lily;
grant sysdba to lily;
只有sysdba,沒有connect也是無法建立session的
conn lily/lily
ERROR:
ORA-01045: user LILY lacks CREATE SESSION privilege; logon denied
Warning: You are no longer connected to ORACLE.
@ >conn / as sysdba
Connected.
grant connect,resource to lily;
注意此次登入時沒有指定as sysdba,和登入時指定as sysdba是不同的
conn lily/lily
create table lily_test1(name varchar2(10));
conn lily/lily as sysdba
select * from lily_test1;
select * from lily_test1
*
ERROR at line 1:
ORA-00942: table or view does not exist
select * from lily.lily_test1;
no rows selected
SYS@OCM12C >select owner,table_name,tablespace_name from dba_tables where table_name='LILY_TEST1';
OWNER TABLE_NAME TABLESPACE_NAME
-------------------- -------------------- --------------------
LILY LILY_TEST1 USERS
注意:如果使用conn lily/lily as sysdba登入資料庫後建立表,會建立在system表空間下
conn lily/lily as sysdba
create table lily_test1(name varchar2(10));
select owner,table_name,tablespace_name from dba_tables where table_name='LILY_TEST1';
OWNER TABLE_NAME TABLESPACE_NAME
-------------------- -------------------- --------------------
SYS LILY_TEST1 SYSTEM
SYSDBA屬於管理許可權,有別於其他許可權。在顯示賦予使用者時,該資訊被記錄在密碼檔案中,在試圖v$pwfile_users中可以檢視到該設定。
如果在密碼檔案中ENTRIES引數設定的太小,導致新使用者想要賦予SYSDBA使用者時會報錯,可以透過重建密碼檔案並且適當擴大ENTRIES來解決。
SYS@OCM12C >select * from v$pwfile_users;
USERNAME SYSDB SYSOP SYSAS SYSBA SYSDG SYSKM CON_ID
---------- ----- ----- ----- ----- ----- ----- ----------
SYS TRUE TRUE FALSE FALSE FALSE FALSE 0
SYSDG FALSE FALSE FALSE FALSE TRUE FALSE 0
SYSBACKUP FALSE FALSE FALSE TRUE FALSE FALSE 0
SYSKM FALSE FALSE FALSE FALSE FALSE TRUE 0
SNOW TRUE FALSE FALSE FALSE FALSE FALSE 0
LILY TRUE FALSE FALSE FALSE FALSE FALSE 0
TOME TRUE TRUE FALSE FALSE FALSE FALSE 0
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29047826/viewspace-1421210/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sysdba登入oracle的schema是sysOracle
- Oracle禁止connect / as sysdba方式登入Oracle
- 客戶端使用sysdba許可權登入資料庫客戶端資料庫
- Oracle限制具備資料庫超級管理員(SYSDBA)許可權的使用者遠端登入Oracle資料庫
- 使用Oracle外部身份認證登入資料庫Oracle資料庫
- 使用Oracle安裝賬戶登入資料庫Oracle資料庫
- 【ORACLE】oracle 使用者(sysdba)遠端登入和口令認證Oracle
- Oracle新建資料庫並登入Oracle資料庫
- 在登入資料庫的使用!sql資料庫SQL
- ORACLE軟體克隆完成後sysdba登入提示沒有許可權Oracle
- 建立資料庫時使用schema資料庫
- Oracle 12c - 普通資料庫與容器資料庫不能相互轉化Oracle資料庫
- CAS 5.3使用MySQL資料庫登入MySql資料庫
- sysdba不能遠端登入
- Oracle資料泵-schema匯入匯出Oracle
- 淺談oracle 使用者(sysdba)遠端登入和口令認證Oracle
- sqlplus sys/oracle@orcl as sysdba無法登入SQLOracle
- 以sysdba角色登陸oracle的兩種認證方式測試備記Oracle
- 簡單的使用者登入頁面與後臺資料庫的互動資料庫
- Oracle 資料庫 PSU 的補丁號變化Oracle資料庫
- Oracle 12c資料庫安裝Oracle資料庫
- 後臺登入提示:”登入失敗:資料庫目錄寫入許可權不足!“資料庫
- ORACLE 12C RAC資料庫的啟停Oracle資料庫
- 在windows上以sysdba登陸oracleWindowsOracle
- 【SQL】Oracle資料庫變更後sql效能對比SQLOracle資料庫
- PbootCMS後臺登入提示:”登入失敗:資料庫目錄寫入許可權不足!“boot資料庫
- PbootCMS後臺登入提示:“登入失敗:資料庫目錄寫入許可權不足!”boot資料庫
- normal、sysdba、sysoper登陸oracle的區別理解ORMOracle
- 【連線】禁止以作業系統認證方式登入資料庫作業系統資料庫
- ORACLE登入驗證方式的詳解Oracle
- 資料抽取中的CDC(變化資料捕獲)方式
- Oracle 12C RAC CDB資料庫部署Oracle資料庫
- Oracle資料庫連線方式Oracle資料庫
- oracle資料庫使用sqlldr命令匯入txt資料Oracle資料庫SQL
- Oracle 12c系列(九) | 通過unplug與plug方式升級pdb資料庫Oracle資料庫
- sqlplus 命令登入 Oracle資料庫的多種方法DXNASQLOracle資料庫
- 手工建立oracle示例資料庫schema (Database Examples 安裝)Oracle資料庫Database
- sqlplus -prelim / as sysdba強制登入SQL