修改数据文件
重要提示:
调整的工作前一定要对数据进行备份,切记
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看一下修改情况