背景
集群切換服務(wù)器IP地址,重啟網(wǎng)絡(luò)提示空間不足,經(jīng)排查發(fā)現(xiàn)Oracle數(shù)據(jù)庫數(shù)據(jù)存儲在系統(tǒng)路徑下,將空間占滿,應(yīng)是安裝時配置錯誤導致,需修改路徑騰出空間。
1. 修改系統(tǒng)表空間位置
1.1 查看表空間信息
select TABLESPACE_NAME,FILE_NAME from dba_data_files;
1.2 關(guān)閉數(shù)據(jù)庫
SQL> shutdown immediate;
1.3 復制system表空間對應(yīng)數(shù)據(jù)文件去新路徑
cp /u01/app/oracle/oradata/orcl/system01.dbf /home/oracle/tablespace/
1.4 給新復制的文件修改為原文件所屬用戶和用戶組
chown chown oracle.oinstall system01.dbf
1.5 以mount啟動數(shù)據(jù)庫
SQL> startup mount
1.6 修改system表空間對應(yīng)數(shù)據(jù)文件去新路徑
SQL> alter database rename file '/u01/app/oracle/oradata/orcl/system01.dbf' to '/home/oracle/tablespace/system01.dbf';
1.7 啟動數(shù)據(jù)庫
SQL> alter database open;
1.8 確認修改完成
select TABLESPACE_NAME,FILE_NAME from dba_data_files;
2. 修改非系統(tǒng)表空間位置(未實操)
2.1 查看表空間信息
select TABLESPACE_NAME,FILE_NAME from dba_data_files;
2.2 修改表空間為離線狀態(tài)
alter tablespace EMR offline; //'EMR'修改為對應(yīng)的表空間名稱
2.3 復制表空間對應(yīng)文件到新的位置
cp /opt/Oracle/11g/dbs/TS_PARTITION_000 /oradata/DTCDB/tbs/TS_PARTITION_000;
2.4 修改表空間數(shù)據(jù)文件路徑
ALTER TABLESPACE TS_PARTITION_000 RENAME DATAFILE ‘/opt/oracle/11g/dbs/TS_PARTITION_000’ TO ‘/oradata/DTCDB/tbs/TS_PARTITION_000’; //猜測'TS_PARTITION_000' 修改為對應(yīng)的表空間的名字
2.5 修改表空間為在線狀態(tài)
ALTER TABLESPACE EMR ONLINE; //'EMR'修改為對應(yīng)的表空間名稱
2.6 刪除表空間對應(yīng)的原來的數(shù)據(jù)庫文件
rm -rf /opt/oracle/11g/dbs/TS_PARTITION_000
2.7 確認修改后的表空間文件存儲位置
select file_name from sys.dba_data_files;