修改oracle的數(shù)據(jù)文件
2024-08-29 13:45:06
供稿:網(wǎng)友
修改數(shù)據(jù)文件
重要提示:
調(diào)整的工作前一定要對數(shù)據(jù)進行備份,切記
1,基本概念
Oracle系統(tǒng)內(nèi)部給出一個叫作“表空間”的邏輯磁盤空間。早期的系統(tǒng)主要用于存放表的數(shù)據(jù),所以叫作表空間。表空間是一個邏輯空間,每個空間至少與一個或者多個數(shù)據(jù)文件相對應。看下圖 。
................................
也就是說:
一個數(shù)據(jù)庫的數(shù)據(jù)共同存儲在數(shù)據(jù)文件里,數(shù)據(jù)文件建立在數(shù)據(jù)庫的表空間里。
system /manager是治理員用的。
2顯示數(shù)據(jù)文件名
//查看數(shù)據(jù)文件命令1
select file_name,bytes,bytes/(1024*1024) from dba_data_files;
//查看數(shù)據(jù)文件命令2
// autoextensible表明該數(shù)據(jù)文件是否自動增長。
//col 命令是為了輸出整潔而已
col tablespace_name for a12
col file_name for a48
select file_id,file_name,tablespace_name,autoextensible from dba_data_files order by file_id;
3 oracle數(shù)據(jù)庫優(yōu)化3.1 調(diào)整system表空間
oracle完成安裝后,治理員應該對system表空間的存儲參數(shù)進行調(diào)整,主要是調(diào)整next值。
Sql>alter tablespace system default storage (next 1M pctincrease 0);
3.2 增加數(shù)據(jù)文件
可以用以下兩種方法:
1、為這個表空間增加一個數(shù)據(jù)文件
SQL> alter tablespace 表空間名 add datafile '/u1/oradata/userdata_002.ora' size 50m; --Unix中
SQL> alter tablespace 表空間名 add datafile 'c:/oradata/userdata_002.ora' size 50m; --Windows NT中
2、重新調(diào)整數(shù)據(jù)文件的大小
SQL> alter database datafile '/u1/oradata/userdata_001.ora' resize 50M; --Unix中
SQL> alter database datafile 'c:/oradata/userdata_002.ora' resize 50M; --Windows NT中
假如用system用戶登陸,表空間名應該是system,也有可能是users ,你用2的語法檢索一下,查看一下情況。數(shù)據(jù)文件的路徑你可以仿照2的語法檢索出來的結(jié)果,只要文件名不一樣就行了。
下面語法追加數(shù)據(jù)文件到某個表空間時說明該數(shù)據(jù)文件為自動擴展。
Alter tablespace system
Add datafile 'C:/ORACLE/ORADATA/YBSTD99 YSTEM02.DBF' size 100m
Autoextend on next 100m maxsize 1000M;
//ALTER ROLLBACK SEGMENT RB5 STORAGE(MAXEXTENTS UNLIMITED);
3.3 增加回滾段的大小
檢索回滾段
--方法一
select segment_name ,tablespace_name,status from sys.dba_rollback_segs;
--方法2
col segment_name for a10
col tablespace_name for a10
select segment_name ,tablespace_name,bytes,extents from
sys.dba_segments where segment_type='ROLLBACK';
--為回滾段表空間rbs增加一個數(shù)據(jù)文件,路徑需要你查找,只要文件名不同就--可以了
alter tablespace rbs add datafile '/u/oradata/en73/rbs02.dat' size 100M;
--將回歸段rb5離線
alter rollback segment RB5 offline;
--修改其大小
alter rollback segment RB5 storage ( next 10m maxextents 1024 optimal 10m );
--將回歸段rb5在線
alter rollback segment RB5 online;
3.4 修改system 在user_data的空間配額
1,查詢用戶的資源限額信息:
select * from dba_ts_quota;
2,為表空間user_data增加數(shù)據(jù)文件:
Alter tablespace user_data
Add datafile 'C:/ORACLE/ORADATA/YBSTD99/userdata01.DBF' size 500m
Autoextend on next 100m maxsize 1000M;
增加兩個,搞它1g,路徑用select 查找。
3,分配system用戶在表空間user_data的配額
--例如
---alter user system quota 10m on user_data ;
---意思是user_data中分配10m的空間給system
--10m太小,
---我們使它配額無限:
alter user system quota unlimited on user_data ;
4, 執(zhí)行1的select看一下修改情況