修改oracle的數據文件
2024-08-29 13:29:23
供稿:網友
修改數據文件
重要提示:
調整的工作前一定要對數據進行備份,切記
1,基本概念
oracle系統內部給出一個叫作“表空間”的邏輯磁盤空間。早期的系統主要用于存放表的數據,所以叫作表空間。表空間是一個邏輯空間,每個空間至少與一個或者多個數據文件相對應。看下圖 。
................................
也就是說:
一個數據庫的數據共同存儲在數據文件里,數據文件建立在數據庫的表空間里。
system /manager是管理員用的。
2顯示數據文件名
//查看數據文件命令1
select file_name,bytes,bytes/(1024*1024) from dba_data_files;
//查看數據文件命令2
// autoextensible表明該數據文件是否自動增長。
//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數據庫優化3.1 調整system表空間
oracle完成安裝后,管理員應該對system表空間的存儲參數進行調整,主要是調整next值。
sql>alter tablespace system default storage (next 1m pctincrease 0);
3.2 增加數據文件
可以用以下兩種方法:
1、為這個表空間增加一個數據文件
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、重新調整數據文件的大小
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的語法檢索一下,查看一下情況。數據文件的路徑你可以仿照2的語法檢索出來的結果,只要文件名不一樣就行了。
下面語法追加數據文件到某個表空間時說明該數據文件為自動擴展。
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增加一個數據文件,路徑需要你查找,只要文件名不同就--可以了
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增加數據文件:
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, 執行1的select看一下修改情況