天天看點

oracle12c建立表空間、建立使用者、建立權限1.基本概念3.建立使用者4.給使用者建立權限5.綜合練習(很重要.正在寫...)6.參考資料

目錄

1.基本概念

1.1.關于賬号的概念

1.2.關于pdb和cdb的概念

3.建立使用者

4.給使用者建立權限

5.綜合練習(很重要.正在寫...)

6.參考資料

1.基本概念

1.1.關于賬号的概念

        在安裝Oracle時,你需要記住設定的“全局資料庫名”(預設為orcl) 和 密碼,在以兩種方式登入時:

使用者名: sys(超級使用者==sysdba) / system(管理者使用者)Sys和system差別在于system不能建立表空間

system預設密碼:manager

sys預設預設:change_on_install

使用SQL Plus登入資料庫時,system使用密碼manager可直接登入。

但如果是sys使用者,密碼必須加上as sysdba,即完整密碼為:change_on_install as sysdba

如果是用工具Oracle SQL Developer登入sys使用者,那麼需要先用sqlplus登入sys,然後修改密碼,之後就用這個密碼連接配接既可以

修改指令:alter user sys identified by 123456

oracle12c建立表空間、建立使用者、建立權限1.基本概念3.建立使用者4.給使用者建立權限5.綜合練習(很重要.正在寫...)6.參考資料

1.2.關于pdb和cdb的概念

       Oracle12c 中,增加了可插接資料庫的概念,即PDB,允許一個資料庫容器(CDB 全稱:Container Database)承載多個可插拔資料庫(PDB 全稱:Pluggable Database)。cdb相當于作業系統,調用并管理各個pdb。pdb相當于真正提供業務需求的資料庫執行個體。我們可以用sqlplus指令登入sys使用者查詢一下:

select  name , open_mode from v$pdbs;
           

可以看到預設建立了兩個pdb可插撥資料庫:

NAME                           OPEN_MODE

------------------------------ -----------------------

PDB$SEED                       READ ONLY

PDBORCL                        READ WRITE

可以看到有兩個pcd資料庫。

oracle 12c安裝後還建立了cdb。

oracle12c建立表空間、建立使用者、建立權限1.基本概念3.建立使用者4.給使用者建立權限5.綜合練習(很重要.正在寫...)6.參考資料

2.建立表空間

建立表空間是分CDB下的表空間和PDB下的表空間的。

檢視表空間SQL如下:

select tablespace_name from dba_tablespaces; 
           

建立資料表空間SQL如下:

create tablespace user_data  -- 表空間名
datafile 'D:\APP\ORACLE\ORADATA\ORCL\bamboo_data.DBF' -- 表空間存儲檔案位置
size 50m  -- 檔案大小
autoextend on  
next 50m maxsize 20480m  
extent management local;
           

建立臨時資料表空間SQL如下:

create temporary tablespace user_temp  
tempfile 'D:\APP\ORACLE\ORADATA\ORCL\bamboo_temp.dbf'
size 50m  
autoextend on  
next 50m maxsize 20480m  
extent management local;
           
指令 說明 例子
create tablespace xx 建立表空間,表空間名稱為xx
logging/nologging 生成日志/不生成日志
datafile  xx.dbf size  mmM 資料檔案的具體位置和資料檔案大小,如果有多個檔案,可以用逗号隔開,但是每個檔案都需要指明大小.機關以指定的機關為準如 5M 或 500K。

删除表空間SQL如下:

drop tablespace user_temp including contents;-- 同時删除檔案
           

檢視表空間的所在路徑SQL:

select * from dba_data_files
           
(start)
FILE_NAME 檔案名 D:\APP\ORACLE\ORADATA\ORCL\SYSTEM01.DBF
FILE_ID 檔案ID 1
TABLESPACE_NAME 表空間名 SYSTEM
BYTES 位元組 838860800(B) = 800(MB)  
BLOCKS 102400
STATUS 狀态 AVAILABLE
RELATIVE_FNO 相對檔案編号 1
AUT   YES
MAXBYTES 最大位元組 3.4360E+10
MAXBLOCKS 最大塊 4194302         
INCREMENT_BY 增量 1280  
USER_BYTES 使用位元組 837812224      
USER_BLOCKS 使用塊 102272
ONLINE_ 線上 SYSTEM
(end)

3.建立使用者

建立使用者SQL如下:

create user c##bamboo identified by **** -- 使用者名和密碼
default tablespace user_data  -- 設定預設表空間
temporary tablespace user_temp; -- 設定預設臨時表空間
           

因為我用的資料庫是12c,是以使用者名前面要加c##,想知道原因請看:

https://blog.csdn.net/wangsimiao118/article/details/78818836

那麼要想建立的使用者不需要加c##,那就是要求資料庫不能為CDB。也就是要連接配接PDB,隻有PDB中的資料庫建立的時候才能不加C##。

怎麼查資料庫是不是CDB呢,如下語句:

select CDB from v$database;
           

如果得到的結果為YES,那麼就是CDB的資料庫,否則,則不是。

要不想建立資料庫的時候不加c##,我們可以重新建立資料庫,打開

Database Configuration Assistant工具。

oracle12c建立表空間、建立使用者、建立權限1.基本概念3.建立使用者4.給使用者建立權限5.綜合練習(很重要.正在寫...)6.參考資料

去掉紅框裡的勾選就可以了。

4.給使用者建立權限

給使用者權限SQL如下:

grant connect,resource,dba to username;
           

5.綜合練習(很重要.正在寫...)

綜合上面的知識,我們來建立一個PDB,然後通過這個PDB 去建立表空間和建立使用者、給使用者權限,然後通過這個使用者去連接配接pdb,然後建立表。

假設已經安裝了oracle12c

(1)現在我們用cmd指令行開始登陸oracle

sqlplus
           

輸入使用者 sys (我們用這個登陸)

輸入密碼:change_on_install as sysdba

登陸成功!如下圖示:

oracle12c建立表空間、建立使用者、建立權限1.基本概念3.建立使用者4.給使用者建立權限5.綜合練習(很重要.正在寫...)6.參考資料

可以查一下目前資料庫

select name from v$database;
           
oracle12c建立表空間、建立使用者、建立權限1.基本概念3.建立使用者4.給使用者建立權限5.綜合練習(很重要.正在寫...)6.參考資料

目前資料庫為:ORCL

檢視目前資料庫是不是CDB資料庫

select CDB from v$database;
           
oracle12c建立表空間、建立使用者、建立權限1.基本概念3.建立使用者4.給使用者建立權限5.綜合練習(很重要.正在寫...)6.參考資料

目前資料庫是CDB資料庫。

查目前CDB有幾個PDB:

select  name , open_mode from v$pdbs;
           
oracle12c建立表空間、建立使用者、建立權限1.基本概念3.建立使用者4.給使用者建立權限5.綜合練習(很重要.正在寫...)6.參考資料

兩個:一個是預設的PDBORCL,另一個是PDB的模闆PDB$SEED(建立PDB的時候會用到PDB$SEED)

(2)建立PDB

6.參考資料

1.https://blog.csdn.net/dev_csdn/article/details/79459017

2.https://www.jb51.net/article/106497.htm