Oracle數據庫的表空間基本管理
阿新 • • 發佈:2018-10-09
12c 圖片 write sysaux 創建數據庫 9.png taf oracle數據庫 res 一、概述
Oracle數據庫是通過表空間來存儲物理表的,一個數據庫實例可以有N個表空間,一個表空間下可以有N張表。
有了數據庫,就可以創建表空間。
表空間(tablespace)是數據庫的邏輯劃分,每個數據庫至少有一個表空間(稱作SYSTEM表空間)。為了便於管理和提高運行效率,可以使用一些附加表空間來劃分用戶和應用程序。例如:USER表空間供一般用戶使用,RBS表空間供回滾段使用。一個表空間只能屬於一個數據庫。
表空間是數據庫中最大的邏輯單位, SYSTEM和SYSAUX表空間是在創建數據庫時創建的必須存在的表空間,還會有TEMP, USERS等
每個表空間是由一個或多個數據文件組成的,一個數據文件只能與一個表空間相關聯表空間的大小等於構成該表空間的所有數據文件大小之和
-
安裝完 Oracle後自動創建的表空間主要包括:
- SYSTEM系統表空間,存放關於表空間名稱、控制文件、數據文件等管理信息,它屬於sys、 system模式。不能刪除或重命名。
- SYSAUX輔助系統表空間,用於減少系統表空間的負荷,提高效率
- TEMP臨時表空間,存放臨時表和臨時數據,用於排序
- USERS用戶表空間,存放永久性用戶對象及私有信息,也稱數據表空間。註意:每一個數據庫都應該有一個用戶表空間,以便在創建用戶時分配給用戶,否則用戶的數據將會使用SYSTEM表空間。
- UNDO重做表空間,用來幫助回退未提交的事物數據
二、實驗環境
主機 | 操作系統 | IP地址 | 數據庫版本 |
---|---|---|---|
Oracle | CentOS 7 | 192.168.100.135 | oracle 12c |
三、表空間管理
首先切換為Oracle用戶
[root@HOSTNAMEoracle ~]# su - oracle
進入數據庫,並啟動Oracle
[oracle@HOSTNAMEoracle ~]$ sqlplus / as sysdba
SQL> startup
開啟三階段
啟動實例--》數據庫裝載完畢--》數據庫開啟
SQL> quit #退出
開啟監聽
[oracle@HOSTNAMEoracle ~]$ lsnrctl LSNRCTL> start
LSNRCTL> quit
進入Oracle
[oracle@HOSTNAMEoracle ~]$ sqlplus / as sysdba
--------------------創建表空間-----------------------
創建表空間school(大小10M 自動擴展)
SQL> create tablespace school
2 datafile ‘/orc/app/oracle/oradata/school01.dbf‘
3 size 10m autoextend on;
表空間已創建。
查看下是否有創建成功
[oracle@HOSTNAMEoracle ~]$ cd /orc/app/oracle/oradata
[oracle@HOSTNAMEoracle oradata]$ ls
orcl school01.dbf
--------------------調整表空間大小------------------
修改大小
SQL> alter database datafile
2 ‘/orc/app/oracle/oradata/school01.dbf‘
3 resize 80M;
數據庫已更改。
查看下
添加文件
SQL> alter tablespace school
2 add datafile
3 ‘/orc/app/oracle/oradata/school02.dbf‘
4 size 50M autoextend on;
表空間已更改。
查看下
---------------------表空間權限----------------------------
#更改表空間school權限只能可讀
SQL> alter tablespace school read only;
表空間已更改。
#更改表空間權限為可讀可寫
SQL> alter tablespace school read write;
表空間已更改。
------------------刪除表空間----------------
SQL> drop tablespace school including contents;
表空間已刪除。(including contents 可選刪除有內容的表空間)
查看下
SQL> select tablespace_name from dba_tablespaces;
Oracle數據庫的表空間基本管理