共計 2302 個字符,預計需要花費 6 分鐘才能閱讀完成。
本篇內容介紹了“怎么解決 Oracle12c 中空格引發的 ORA-01516 問題”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓丸趣 TV 小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
2019 年 1 月 29 日,zabbix 顯示一個索引表空間告警,所以登錄服務器查看:
10:02:22 SQL col file_name for a50
10:02:42 SQL select file_id,tablespace_name,file_name,bytes/1024/1024/1024 G from dba_data_files where tablespace_name= ts order by 1;
Enter value for ts: TBS_LOGIDX
old 1: select file_id,tablespace_name,file_name,bytes/1024/1024/1024 G from dba_data_files where tablespace_name= ts order by 1
new 1: select file_id,tablespace_name,file_name,bytes/1024/1024/1024 G from dba_data_files where tablespace_name= TBS_LOGIDX order by 1
FILE_ID TABLESPACE_NAME FILE_NAME G
———- ———————– ————————————————– ———-
2 TBS_LOGIDX /u01/app/oracle/oradata/DLOG/tbs_logix01.dbf 31.9999847
18 TBS_LOGIDX /u01/app/oracle/oradata/DLOG/tbs_logix02.dbf 31.9570313
19 TBS_LOGIDX /u01/app/oracle/oradata/DLOG/tbs_unvidx03.dbf 31.9570313
3 rows selected.
Elapsed: 00:00:00.01
一看就蒙了,之前不知道誰在加數據文件的時候,名字搞錯了。萬幸這是一套 12.2 的數據庫,可以在線重命名數據文件,方法跟在線移動數據文件的位置一樣,之前發過一篇博客簡單介紹過:
http://blog.itpub.net/31480688/viewspace-2214095/
下面用這個方法修改一下數據文件名
10:05:03 SQL alter /*source only*/ database move datafile /u01/app/oracle/oradata/DLOG/tbs_unvidx03.dbf to /u01/app/oracle/oradata/DLOG/tbs_logix03.dbf
alter /*source only*/ database move datafile /u01/app/oracle/oradata/DLOG/tbs_unvidx03.dbf to /u01/app/oracle/oradata/DLOG/tbs_logix03.dbf
*
ERROR at line 1:
ORA-01516: nonexistent log file, data file, or temporary file /u01/app/oracle/oradata/DLOG/tbs_unvidx03.dbf in the current container
結果報數據文件不存在。操作系統文件檢查文件是存在的
oracle@ORADB-14417: /u01/app/oracle/oradata/DLOG$ ls -lrt tbs_unvi*
-rw-r—– 1 oracle oinstall 1073750016 Jan 29 10:13 tbs_unvidx01.dbf
-rw-r—– 1 oracle oinstall 34313609216 Jan 29 10:13 tbs_unvidx03.dbf
查詢 v$datafile 數據文件是存在的
10:07:29 SQL select name,status from v$datafile where file#=19;
NAME
——————–
STATUS
———————
/u01/app/oracle/oradata/DLOG/tbs_unvidx03.dbf
ONLINE
1 row selected.
Elapsed: 00:00:00.02
Oracle 數據庫從來不是華山一條路,而是條條大路通羅馬,解決方法也很簡單,指定 file_id 也是可以的。
10:14:09 SQL alter /*source only*/ database move datafile 19 to /u01/app/oracle/oradata/DLOG/tbs_logix03.dbf
Database altered.
Elapsed: 00:11:41.37
通過 toad 可以看到此過程加的鎖
時間上還是比較久的
最后在 CRT 里鼠標選中的時候發現了問題
“怎么解決 Oracle12c 中空格引發的 ORA-01516 問題”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注丸趣 TV 網站,丸趣 TV 小編將為大家輸出更多高質量的實用文章!