表空间不足时如何增加?
A:将表空间中的数据文件resize,增加大小
SQL> create tablespace tt datafile '/u01/app/oracle/oradata/yqq/tt01.dbf' size 1000m;
表空间已创建。
---创建一个名为tt的表空间,里面只有一个tt01.dbf的数据文件,大小为1000M
SQL> alter database datafile '/u01/app/oracle/oradata/yqq/tt01.dbf' resize 1200m;
数据库已更改。
---更改数据文件tt01.dbf的大小为1200M
B: 设置表空间中的数据文件为自动增长
SQL> alter database datafile '/u01/app/oracle/oradata/yqq/tt01.dbf' autoextend on next 10m maxsize 1500m;
数据库已更改。
--更改数据文件tt01.dbf为自动增长,每次增长10M,一直增长到1500M停止
SQL> alter tablespace tt add datafile '/u01/app/oracle/oradata/yqq/tt02.dbf' size 1000m autoextend on next 10m maxsize 1500m;
表空间已更改。
--向表空间tt添加一个名为tt02.dbf的数据文件,自动增长,每次增长10M,一直增长到1500M停止
SQL> create tablespace t2 datafile '/u01/app/oracle/oradata/yqq/t201.dbf' size 1000m autoextend on next 10m maxsize 1500m extent management local segment space management auto;
表空间已创建。
--创建一个名为t2的表空间,表空间包含一个t2.dbf的数据文件,自动增长,每次增长10M,一直增长到1500M停止,管理方式为本地管理(提高效率),段空间自动管理;
表空间迁移
A:迁移非系统表空间:
查看数据库所有的系统表空间:
相关命令为:
select TABLESPACE_NAME,INITIAL_EXTENT,STATUS,CONTENTS,EXTENT_MANAGEMENT,SEGMENT_SPACE_MANAGEMENT from dba_tablespaces;
迁移t2表空间,查看t2表空间的数据文件路径
相关命令为:
select FILE_NAME,TABLESPACE_NAME from dba_data_files;
可以看到
开始迁移
SQL> alter tablespace T2 offline;
表空间已更改。 ---迁移前使t2表空间脱机
SQL> !cp /u01/app/oracle/oradata/yqq/t201.dbf /home/oracle/backup/
---将数据文件从/u01/app/oracle/oradata/yqq/t201.dbf复制到/home/oracle/backup/路径下
|
迁移命令为:
alter tablespace t2 rename datafile '/u01/app/oracle/oradata/yqq/t201.dbf' to '/home/oracle/backup/t201.dbf';
并使其联机:
SQL> alter tablespace t2 online;
表空间已更改 |
迁移成功之后查看t2表空间中数据文件的位置已经迁移到/home/oracle/backup/路径下。
为了好管理,再迁移回去。按照正常情况,应该先复制或者移动回去,再执行alter命令,如果我们不复制回去,直接使用之前/u01路径下的源文件迁移
这里提示19号文件需要恢复,查看一下19号文件是那个数据文件
19号文件就是表空间t2里面的数据文件,现在开始恢复。
恢复完成之后使其联机
查看表空间中数据文件的路径,验证是否迁移成功。搞定。
B:迁移系统表空间:
首先关闭数据库
SQL> shut immediate; 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。 SQL> |
拷贝系统表空间中的数据文件从/u01/app/oracle/oradata/yqq/system01.dbf 到
/home/oracle/backup/路径
[oracle@SALT1 ~]$ cp /u01/app/oracle/oradata/yqq/system01.dbf /home/oracle/backup/ [oracle@SALT1 ~]$ |
迁移:
SQL> startup mount; ORACLE 例程已经启动。
Total System Global Area 4142166016 bytes Fixed Size 2219872 bytes Variable Size 2348810400 bytes Database Buffers 1778384896 bytes Redo Buffers 12750848 bytes 数据库装载完毕。
|
迁移命令为:
alter database rename file '/u01/app/oracle/oradata/yqq/system01.dbf' to '/home/oracle/backup/system01.dbf';
查看system表空间中数据文件的位置:
设置表空间的读写权限
将表空间设置为只读之后再让其可读写:
SQL> alter tablespace t2 read only;
表空间已更改。
SQL> alter tablespace t2 read write;
表空间已更改。
SQL> |
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29335043/viewspace-2121122/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29335043/viewspace-2121122/