表空间容量不够,DBA使用ALTER DATABASE 修改数据文件的大小。
查询表空间对应的数据文件的尺寸:
SELECT file_id, file_name, tablespace_name, bytes/(1024 * 1024) MB
FROM dba_data_files
WHERE tablespace_name LIKE ‘JIN%’
ORDER BY tablespace_name;
修改数据文件的尺寸:
ALTER DATABASE DATAFILE ‘J:\DISK2\MOON\JINLIAN01.DBF’ RESIZE 100 M;
查询验证是否已改;
添加一个新的数据文件的方式来增加该表空间的尺寸:
ALTER TABLESPACE jinlian
ADD DATAFILE ‘J:\DISK6\MOON\JINLIAN03.DBF’
SIZE 80 M;
减少某个磁盘的I/O,提高oracle的整体效率,平衡I/O。
法一:
1. 获取表空间和数据文件相关信息;
SELECT TABLESPACE_NAME, STATUS, CONTENTS
FROM dba_tablespaces
WHERE TABLESPACE_NAME NOT LIKE ‘%JIN%’;
SELECT file_id, file_name, tablespace_name
FROM dba_data_files
WHERE file_name LIKE ‘%ORADATA%’
ORDER BY file_id;
2. 设置表空间状态为offline
ALTER TABLESPACE tablespace_name OFFLINE;
3. 用操作系统命令将表空间tablespace_name对应的数据文件复制到目标文件中
HOST COPY D:\ORACLE\ORADATA\ORACLE9I\USER01.DBF D:\ORACLE\ORADATA;
4. 查看物理文件是否复制到指定地方
5. 重新命名表空间对应的数据文件名
ALTER TABLESPACE tablespace_name RENAME
DATAFILE ‘D:\ORACLE\ORADATA\ORACLE9I\USER01.DBF’
TO ‘D:\ORACLE\ORADATA\USER01.DBF’;
6. 将表空间状态改为online
ALTER TABLESPACE tablespace_name ONLINE;
7. 查看表空间对应的操作系统数据文件是否已经指向了新的文件