上周五花了几个小时,专门来了解了下ORACLE表空间转移的知识,因为测试站点ORACLE所在的磁盘只剩下十几M的空间了。于是我将表空间转移到另外一个磁盘,过程如下:
表空间:USERS
第一步:登陆数据库
第二步:停止数据库
第三步:在open模式下启动数据库
第四步:将表空间(USERS)脱机
第六步:将表空间与新目录下的数据库文件关联
第七步:将表空间联机,提交,OK,完成。
手工拷贝数据库文件到你想到达的目录下。
第六步:【操作前后可以用SQL来查询表空间所使用的数据库文件的变化情况:select name from v$datafile;】
1. 转移表空间时,请确保不要对该表空间执行任何写操作(如项目程序仍在运行),否则可能后面报错
我测试了下,边转移边对该表空间执行写操作,结果在执行第六步时,报错了:
2.第五步(复制文件操作),必须是在第四步之后,否则第六步可能会报错,错误信息同上差不多
下面是完整的操作命令:
ORACLE 例程已经关闭。
ORACLE 例程已经启动。
temporary创建字典管理临时表空间
创建本地管理临时表空间,如果是临时表空间,所有语句中的datafile都换为tempfile 8i系统默认创建字典管理临时表空间,要创建本地管理临时表空间要加temporary tablespace关键字 创建本地管理临时表空间时,不得使用atuoallocate参数,系统默认创建uniform管理方式
查看当前用户的缺省表空间
查看当前用户的角色
查看当前用户的系统权限和表级权限
查看用户下所有的表
查看当前用户的缺省表空间
查看当前用户的角色
查看当前用户的系统权限和表级权限
显示当前会话所具有的权限
显示指定用户所具有的系统权限
查看用户下所有的表
查看名称包含log字符的表
查看某表的创建时间
查看放在ORACLE的内存区里的表
查看索引个数和类别
查看索引被索引的字段
查看序列号,last_number是当前值
查看创建视图的select语句
查看某表的约束条件