oracle數據庫表空間的創建與使用


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

1. 查詢物理存儲的位置

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/目錄下:

 

2. 創建用戶的臨時表空間

 臨時表空間用於用戶執行查詢時要使用的緩存空間。

文件路徑保存在/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;

 

 

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

http://www.cnblogs.com/30go/p/5332770.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM