ID #70236

修改oracle的数据文件


  
修改数据文件

 

重要提示:

调整的工作前一定要对数据进行备份,切记

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看一下修改情况

 

 

 

 

 

2011-08-29 22:17
阅读:
I'm VC , Just U know Y
本站部分文章来源于互联网,版权归原作者所有。

延伸阅读:

Oracle 11g R2新特性概述

ORACLE 10g 中恢复已删除的表_flashback

ORACLE 中ROWNUM用法总结

Oracle 10g 统计信息自动收集功能(automatic statistics gathering)学习总结

oracle文档第九章触发器(1)