ORACLE数据库根目录空间不足,进行表空间文件转移不占用根目录空间 |
您所在的位置:网站首页 › oracle查询表空间位置 › ORACLE数据库根目录空间不足,进行表空间文件转移不占用根目录空间 |
ORACLE数据库根目录空间不足,进行表空间文件转移不占用根目录空间
1.首先查看都有哪些表空间文件在根目录下
1.1.查看根目录占用情况
du -h --max-depth=1 /
会显示哪些目录占用多少空间,针对根目录下占用空间多的进行分析,如果存在数据库表空间文件在这些目录下,我们进行文件转移。 将查找出来的表空间文件以及对应的表空间名称记录下来,进行文件转移。 注:以上是查找根目录表空间的两种方法。 2.针对特定表空间文件进行文件转移(非系统表空间)使用PLSQL以DBA用户登录对应的数据库,进行如下操作: 2.1.查看要改变的表空间的数据文件信息 select tablespace_name,file_name,online_status from dba_data_files where tablespace_name='表空间名称'; 2.2.将目标表空间设置为脱机状态 alter tablespace 表空间名称 offline;查看表空间状态: select tablespace_name,file_name,online_status from dba_data_files where tablespace_name='表空间名称'; 2.3.移动数据文件在linux终端界面或者使用XSHELL等工具进行操作: mv /home/oradata/SU01.DBF /dbdata/SU01.DBF 2.4.在数据库中修改表空间数据文件的路径 alter tablespace SU rename datafile '/home/oradata/SU01.DBF' to '/dbdata/SU01.DBF'; 2.5.修改该表空间为在线状态 alter tablespace SU online; 2.6.查看该表空间最后结果 select tablespace_name,file_name,online_status from dba_data_files where tablespace_name='SU';注意,我们此时使用df -h可能看到根目录没有空间的变化,是因为存在占用进程的僵尸文件,我们需要重启数据库就能看到空间转移的效果: # 切换oracle用户 su - oracle # 登录数据库 sqlplus / as sysdba # 关闭数据库 shutdown immediate; # 启动数据库 startup; 3.系统表空间移动该方法需要数据库处于mount状态 3.1.关闭运行中的数据库 shutdown immediate; 3.2.启动数据库到mount状态 startup mount; 3.3.移动系统表空间(SYSTEM表空间)的数据文件 mv /home/oradata/orcl/SYSTEM01.DBF /dbdata/SYSTEM01.DBF 3.4.修改表空间数据文件的路径 alter database rename file '/home/oradata/orcl/SYSTEM01.DBF' to '/dbdata/SYSTEM01.DBF'; 3.5.启动数据库,打开实例 alter database open; 3.6.查看表空间修改结果 select tablespace_name,file_name,online_status from dba_data_files where tablespace_name='SYSTEM'; |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |