Oracle表空間和用戶管理
一、表空間管理
1、創建表
SQL> create tablespace tbs_work //創建一個自動增長表空間tbs_work
2 datafile '/u01/app/oracle/oradata/orcl/worktbs01.dbf' //數據文件名爲worktbs01.dbf,且位於‘’
3 size 10M autoextend on; //大小自動擴展到10M
表空間已創建。
2、調整表空間大小
1、更改數據文件的大小
SQL> alter database datafile //修改數據
2 '/u01/app/oracle/oradata/orcl/worktbs01.dbf' //數據文件路徑
3 resize 80M; //更改數據文件大小爲80M
數據庫已更改。
2、向表空間內添加數據文件
SQL> alter tablespace tbs_work //修改表空間tbs_work
2 add datafile '/u01/app/oracle/oradata/orcl/worktbs02.dbf' //添加數據文件worktbs02.dbf
3 size 20M autoextend on; //大小自動擴展到20M
表空間已更改。
3、改變表空間的讀寫狀態
SQL> alter tablespace tbs_work read only; //使表空間只讀
表空間已更改。
SQL> alter tablespace tbs_work read write; //使表空間可讀寫
表空間已更改。
4、刪除表空間
SQL> drop tablespace tbs_work including contents; //刪除表空間
表空間已刪除。
二、CDB與PDB的基本操作
1、連接CDB以及相關的查詢
SQL> show con_name //查詢當前所在的容器
CON_NAME
------------------------------
CDB$ROOT //代表當前在CDB下面
SQL> show pdbs; //查詢數據庫的所有容器
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 ORCLPDB MOUNTED //狀態爲mounted(並沒有open)
SQL> alter pluggable database orclpdb open; //CDB下修改可插拔庫orclpdb爲打開狀態
插接式數據庫已變更。
SQL> alter session set container=orclpdb; //在CDB下切換會話到PDB中
會話已更改。
SQL> show con_name //查看當前位置已經位於ORCLPDB中
CON_NAME
------------------------------
ORCLPDB
2、從CDB切換到PDB以及相關操作
SQL> shutdown immediate //在PDB中關閉可插拔數據庫
插接式數據庫已關閉。
SQL> startup //在PDB中打開可插拔數據庫
插接式數據庫已打開。
SQL> alter session set container=cdb$root; //切換會話到CDB中
會話已更改。
SQL> show con_name //查看當前位置
CON_NAME
------------------------------
CDB$ROOT
三、用戶管理
SQL> create user c##zhangsan //創建zhangsan的用戶(在PDB中創建用戶(不需要加c##))
2 identified by pwd123 //密碼
3 default tablespace tbs_work //默認表空間
4 temporary tablespace temp //臨時表空間
5 quota unlimited on tbs_work //對默認表空間使用沒有限制
6 password expire; //第一次登錄需要改密碼
用戶已創建。
SQL> alter user c##zhangsan identified by 123456; //修改用戶的密碼
用戶已更改。
SQL> drop user c##zhangsan cascade; //刪除c##zhangsan用戶
用戶已刪除。
四、數據庫權限管理
SQL> grant connect,resource to c##zhangsan; //授予c##zhangsan用戶的connect和resource兩角色
授權成功。
SQL> conn c##zhangsan/123456 //驗證權限
已連接。
SQL> create table teacher(id int,name varchar(10));
表已創建。
SQL> insert into teacher values (1,'tom');
已創建 1 行。
SQL> select * from teacher;
ID NAME
---------- ------------------------------
1 tom
SQL> revoke connect,resource from c##zhangsan //撤銷c##zhangsan用戶的權限
撤銷成功。