oracle資料庫表空間的建立與使用

2021-09-24 11:21:50 字數 3560 閱讀 2466

oracle資料庫表空間的建立與使用

以下操作請使用sys系統賬號操作!

查詢物理儲存的位置

複製**

select tablespace_name,

file_id,

file_name,

round(bytes / (1024 * 1024), 0) total_space

from dba_data_files

order by tablespace_name;

複製**

從圖中filename欄位可以看到中資料庫檔案存放在伺服器的/opt/oracle/oradata/biee/目錄下:

建立使用者的臨時表空間

臨時表空間用於使用者執行查詢時要使用的快取空間。

檔案路徑儲存在/opt/oracle/oradata/biee目錄

複製**

create temporary tablespace dw_test_tmp_tbs

tempfile 『/opt/oracle/oradata/biee/dw_test_tmp_tbs01.dbf』

size 32m

autoextend on

next 32m maxsize 2048m

extent management local;

複製**

3. 建立使用者的表空間

表空間用於儲存表的內容的空間。

這裡要指定初始代銷,自增的大小,以及檔案的最大值。

複製**

create tablespace dw_test_tbs

logging

datafile 『/opt/oracle/oradata/biee/dw_test_tbs01.dbf』

size 7167m

autoextend on

next 3072m maxsize 32767m

autoallocate

extent management local

segment space management auto;

複製**

4. 建立使用者

指定使用者的預設表空間為dw_test_tbs,臨時表空間為dw_tes_tmp_tbs

create user dw_test identified by 「dw_test」 default tablespace dw_test_tbs temporary tablespace dw_test_tmp_tbs profile default;

5. 修改使用者的許可權

給使用者新增以下許可權。

複製**

grant

create session, create any table, create any view ,create any index, create any procedure,

alter any table, alter any procedure,

drop any table, drop any view, drop any index, drop any procedure,

select any table, insert any table, update any table, delete any table,

select any sequence, create any sequence,drop any sequence,create trigger

to dw_test;

alter user dw_test quota unlimited on dw_test_tbs;

複製**

6. 增加表空間大小

通常完成1-5步驟以後,就可以使用dw_test使用者登入使用了,此時表空間只分配了乙個檔案。

為了減少運維麻煩,通常在初始建立時建立多個表空間檔案,這樣可以維持使用很久。

因此,我通常每次都是增加10-20個檔案來使用,注意每個檔案後面的序號連續。

複製**

alter tablespace dw_test_tbs add datafile 『/opt/oracle/oradata/biee/dw_test_tbs02.dbf』 size 7167m autoextend on next 3072m maxsize 32767m;

alter tablespace dw_test_tbs add datafile 『/opt/oracle/oradata/biee/dw_test_tbs03.dbf』 size 7167m autoextend on next 3072m maxsize 32767m;

alter tablespace dw_test_tbs add datafile 『/opt/oracle/oradata/biee/dw_test_tbs04.dbf』 size 7167m autoextend on next 3072m maxsize 32767m;

alter tablespace dw_test_tbs add datafile 『/opt/oracle/oradata/biee/dw_test_tbs05.dbf』 size 7167m autoextend on next 3072m maxsize 32767m;

alter tablespace dw_test_tbs add datafile 『/opt/oracle/oradata/biee/dw_test_tbs06.dbf』 size 7167m autoextend on next 3072m maxsize 32767m;

alter tablespace dw_test_tbs add datafile 『/opt/oracle/oradata/biee/dw_test_tbs07.dbf』 size 7167m autoextend on next 3072m maxsize 32767m;

alter tablespace dw_test_tbs add datafile 『/opt/oracle/oradata/biee/dw_test_tbs08.dbf』 size 7167m autoextend on next 3072m maxsize 32767m;

alter tablespace dw_test_tbs add datafile 『/opt/oracle/oradata/biee/dw_test_tbs09.dbf』 size 7167m autoextend on next 3072m maxsize 32767m;

alter tablespace dw_test_tbs add datafile 『/opt/oracle/oradata/biee/dw_test_tbs010.dbf』 size 7167m autoextend on next 3072m maxsize 32767m;

複製**

7. 查詢結果

複製**

select tablespace_name,

file_id,

file_name,

round(bytes / (1024 * 1024), 0) total_space

from dba_data_files

where tablespace_name = 『dw_test_tbs』

order by tablespace_name;

複製**

關於表空間使用情況的查詢,可以檢視另外一篇文章。

建立Oracle資料庫表空間

以管理員身份登陸 建立臨時表空間mydb temp create temporary tablespace mydb temp tempfile c database mydb temp.dbf 檔案路徑c database一定要存在,否則建立失敗。同時路徑中盡量不要有中文名稱。size 50m a...

ORACLE資料庫建立表空間

擴充套件表空間檔案 alter tablespace tbs yjtx data ldz oradata orcl tbs yjtx data 02.dbf size 1000m 建立臨時表空間 表空間自動擴容 size 1024m reuse autoextend on next 100m max...

oracle資料庫建立表空間

第1步 建立臨時表空間create temporary tablespace 臨時表空間名 tempfile 臨時表空間路徑x oracle data temp.dbf size 50m autoextend on next 50m maxsize 20480m extent management ...