首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 實戰經驗(五):表空間規劃與管理操作手冊

     編輯:Oracle 資料庫基礎

進入管理環境

su - oracle
lsnrctl start
svrmgrl
SVRMGR> CONNECT INTERNAL;
SVRMGR> SHUTDOWN IMMEDIATE;
SVRMGR> STARTUP;

查看現有表空間

SELECT * FROM dba_tablespaces;
-- SYSTEM, RBS, TEMP, TOOLS, USERS

刪除 USERS 表空間

ALTER TABLESPACE users OFFLINE;
DROP TABLESPACE users;

查看表空間剩餘空間

SELECT tablespace_name, SUM(bytes)/1024/1024 AS mb
FROM dba_free_space
GROUP BY tablespace_name;

查看資料檔路徑與大小

SELECT tablespace_name, bytes/1024/1024 AS mb, file_name
FROM dba_data_files;

重建 RBS 表空間與 Rollback Segment

-- 1. 離線並刪除舊 Rollback Segment
ALTER ROLLBACK SEGMENT r01 OFFLINE;
DROP ROLLBACK SEGMENT r01;
-- 重複處理所有 RBS 中的段

-- 2. 刪除並重建 RBS 表空間
ALTER TABLESPACE rbs OFFLINE;
DROP TABLESPACE rbs;
CREATE TABLESPACE rbs
DATAFILE '/dev/rdrd/rbs01.ora' SIZE 500M,
         '/dev/rdrd/rbs02.ora' SIZE 500M;

-- 3. 建立 4 個 Rollback Segment,每個 250M(INITIAL+NEXT*MAXEXTENTS = OPTIMAL)
CREATE ROLLBACK SEGMENT r01 TABLESPACE rbs
STORAGE (INITIAL 200M NEXT 2M OPTIMAL 250M MINEXTENTS 2 MAXEXTENTS 25);
-- 重複建立 r02, r03, r04

-- 4. 上線所有段
ALTER ROLLBACK SEGMENT r01 ONLINE;
-- ...

-- 5. 檢查狀態
SELECT segment_name, tablespace_name, status FROM dba_rollback_segs;

重建臨時表空間 TEMP

ALTER TABLESPACE temp OFFLINE;
DROP TABLESPACE temp;
CREATE TABLESPACE temp
DATAFILE '/dev/rdrd/drd22' SIZE 1000M
STORAGE (INITIAL 300M NEXT 20M MINEXTENTS 2 MAXEXTENTS 35 PCTINCREASE 0);

TOOLS 與 SYSTEM 表空間大小建議

  • TOOLS:50M 足夠。
  • SYSTEM:100M 足夠。

建立業務表空間(範例)

CREATE TABLESPACE dd_data
DATAFILE '/dev/rdrd/drd9'  SIZE 1000M,
         '/dev/rdrd/drd10' SIZE 1000M,
         '/dev/rdrd/drd26' SIZE 1000M,
         '/dev/rdrd/drd35' SIZE 1000M,
         '/dev/rdrd/drd42' SIZE 500M;
-- 同理建立 dd_idx, jx_data, jx_idx, sf_data, sf_idx, jf_data, jf_idx

建立業務用戶與權限

CREATE USER ddbh IDENTIFIED BY ddbh
DEFAULT TABLESPACE dd_data
TEMPORARY TABLESPACE temp
QUOTA UNLIMITED ON dd_data
QUOTA UNLIMITED ON dd_idx
QUOTA UNLIMITED ON rbs
QUOTA UNLIMITED ON temp;

GRANT CONNECT, RESOURCE, IMP_FULL_DATABASE, EXP_FULL_DATABASE,
      CREATE PUBLIC SYNONYM, DROP PUBLIC SYNONYM TO ddbh;

-- 若需查 V$SESSION、KILL SESSION、DROP/CREATE USER
GRANT SELECT ON v_$session TO PUBLIC;
GRANT ALTER SYSTEM, DROP USER, CREATE USER TO ddbh;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved