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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在登入資料庫的使用!sql資料庫SQL
- Oracle 12c資料庫安裝Oracle資料庫
- ORACLE 12C RAC資料庫的啟停Oracle資料庫
- Oracle 12c後enable_ddl_logging的日誌位置變化Oracle
- sqlplus 命令登入 Oracle資料庫的多種方法DXNASQLOracle資料庫
- Oracle 12C RAC CDB資料庫部署Oracle資料庫
- CAS 5.3使用MySQL資料庫登入MySql資料庫
- Oracle 12c系列(九) | 通過unplug與plug方式升級pdb資料庫Oracle資料庫
- 【SQL】Oracle資料庫變更後sql效能對比SQLOracle資料庫
- 【Oracle 12c資料庫支援閃回庫功能】實驗Oracle資料庫
- Oracle資料庫的查詢變慢了Oracle資料庫
- 後臺登入提示:”登入失敗:資料庫目錄寫入許可權不足!“資料庫
- Oracle 12c系列(一)|多租戶容器資料庫Oracle資料庫
- Oracle資料庫12c最新安全工具Data RedactionFPOracle資料庫
- oracle 12C的例項登入設計很腦殘吧Oracle
- PbootCMS後臺登入提示:”登入失敗:資料庫目錄寫入許可權不足!“boot資料庫
- PbootCMS後臺登入提示:“登入失敗:資料庫目錄寫入許可權不足!”boot資料庫
- Laravel 使用 Oracle 資料庫LaravelOracle資料庫
- Access 匯入 oracle 資料庫Oracle資料庫
- 資料抽取中的CDC(變化資料捕獲)方式
- 將Oracle 12c資料庫註冊到Oracle 19c Grid InfrastructureOracle資料庫ASTStruct
- windows oracle11g資料庫使用sqlplus登入的時候出現ora-01017報錯WindowsOracle資料庫SQL
- ORACLE 12C 之叢集日誌位置變化Oracle
- Oracle dba角色和sysdba的區別Oracle
- Kubernetes 將改變資料庫的管理方式資料庫
- oracle安裝後無法登入Oracle
- Oracle資料庫基礎:程式中呼叫sqlplus的方式Oracle資料庫SQL
- Oracle效能優化-資料庫CPU使用率100%Oracle優化資料庫
- mysql的 information_schema 資料庫介紹MySqlORM資料庫
- Python Schema一種優雅的資料驗證方式Python
- 資料庫-Duckdb-catalog和schema資料庫
- 無法開啟登入所請求的資料庫,登入失敗資料庫
- 資料庫登入留痕功能新增資料庫
- MySql 資料庫 Schema 設計的效能最佳化:規範的物件命名MySql資料庫物件
- AndroidStudio通過一個登入功能介紹SQLite資料庫的使用AndroidSQLite資料庫
- Oracle 12c 多租戶專題|CDB後設資料內幕Oracle
- swing 實現使用者登入註冊介面(不使用資料庫)資料庫
- MySQL預設資料庫之performance_schema庫MySql資料庫ORM
- MySQL預設資料庫之 information_schema庫MySql資料庫ORM