数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

修改oracle的数据文件


发布日期:2020年10月12日
 
修改oracle的数据文件

重要提示

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

基本概念

oracle系统内部给出一个叫作表空间的逻辑磁盘空间早期的系统主要用于存放表的数据所以叫作表空间表空间是一个逻辑空间每个空间至少与一个或者多个数据文件相对应看下图

也就是说

一个数据库的数据共同存储在数据文件里数据文件建立在数据库的表空间里

system /manager是管理员用的

显示数据文件名

//查看数据文件命令

select file_namebytesbytes/(*) from dba_data_files;

//查看数据文件命令

// autoextensible表明该数据文件是否自动增长

//col 命令是为了输出整齐而已

col tablespace_name for a

col file_name for a

select file_idfile_nametablespace_nameautoextensible from dba_data_files order by file_id;

oracle数据库优化

调整system表空间

oracle完成安装后管理员应该对system表空间的存储参数进行调整主要是调整next值

Sql>alter tablespace system default storage (next M pctincrease );

增加数据文件

可以用以下两种方法

为这个表空间增加一个数据文件

SQL> alter tablespace 表空间名 add datafile /u/oradata/userdata_ora size m;Unix中

SQL> alter tablespace 表空间名 add datafile c:\oradata\userdata_ora size m; Windows NT中

重新调整数据文件的大小

SQL> alter database datafile /u/oradata/userdata_ora resize M; Unix中

SQL> alter database datafile c:\oradata\userdata_ora resize M;Windows NT中

如果用system用户登陆表空间名应该是system也有可能是users 你用的语法检索一下查看一下情况数据文件的路径你可以仿照的语法检索出来的结果只要文件名不一样就行了

下面语法追加数据文件到某个表空间时说明该数据文件为自动扩展

Alter tablespace system

Add datafile C:\ORACLE\ORADATA\YBSTD\SYSTEMDBF size m

Autoextend on next m maxsize M;

//ALTER ROLLBACK SEGMENT RB STORAGE(MAXEXTENTS UNLIMITED);

增加回滚段的大小

检索回滚段

方法一

select segment_name tablespace_namestatus from sysdba_rollback_segs;

方法

col segment_name for a

col tablespace_name for a

select segment_name tablespace_namebytesextents from

sysdba_segments where segment_type=ROLLBACK;

为回滚段表空间rbs增加一个数据文件路径需要你查找只要文件名不同就可以了

alter tablespace rbs add datafile /u/oradata/en/rbsdat size M;

将回归段rb离线

alter rollback segment RB offline;

修改其大小

alter rollback segment RB storage ( next m maxextents optimal m );

将回归段rb在线

alter rollback segment RB online;

修改system 在user_data的空间配额

查询用户的资源限额信息

select * from dba_ts_quota;

为表空间user_data增加数据文件

Alter tablespace user_data

Add datafile C:\ORACLE\ORADATA\YBSTD\userdataDBF size m

Autoextend on next m maxsize M;

增加两个搞它g路径用select 查找

分配system用户在表空间user_data的配额

例如

alter user system quota m on user_data ;

意思是user_data中分配m的空间给system

m太小

我们使它配额无限

alter user system quota unlimited on user_data ;

执行的select看一下修改情况

上一篇:PL/SQL用光标查询多条记录

下一篇:Oracle版本号的格式