温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么解决Oracle12c中空格引发的ORA-01516问题

发布时间:2021-11-09 16:16:25 来源:亿速云 阅读:981 作者:iii 栏目:关系型数据库

本篇内容介绍了“怎么解决Oracle12c中空格引发的ORA-01516问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    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问题”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI