首页 > 数据库 > Oracle > ORA-01157无法标识、锁定数据文件
今天在创建数据库表空间的时候忘了修改路径,执行后全部都报错了,但是还是有两个表空间在数据库中生成了。
最后引起
ORA-01157: 无法标识/锁定数据文件 3 - 请参阅 DBWR 跟踪文件 ORA-01110: 数据文件 3: '/oracle/product/10.2/db_1/dbs/ AAAAAAAA '错误。
SQL> CREATE TABLESPACE PCS_DWCOMMON DATAFILE 'AAAAAAAA' SIZE 5G AUTOEXTEND OFF;
SQL> CREATE TEMPORARY TABLESPACE PCS_TEMP TEMPFILE 'BBBBBBBB' SIZE 20G AUTOEXTEND OFF;
发现错误后修改了路径再次创建表空间时发现上面两个表空间已经存在
SQL> CREATE TABLESPACE PCS_DWCOMMON DATAFILE '+DATA1' SIZE 5G AUTOEXTEND OFF;
ORA-01543表空间 ’ PCS_DWCOMMON’ 已存在
SQL> CREATE TEMPORARY TABLESPACE PCS_TEMP TEMPFILE '+SYSDATA' SIZE 20G AUTOEXTEND OFF;
ORA-01543表空间 ’ PCS_TEMP’ 已存在
SQL> SELECT * FROM DBA_DATA_FILES;
ORA-01157: 无法标识/锁定数据文件 3 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 3: '/oracle/product/10.2/db_1/dbs/ AAAAAAAA '
SQL> SELECT * FROM DBA_TEMP_FILES;
ORA-01157: 无法标识/锁定数据文件 2 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 2: '/oracle/product/10.2/db_1/dbs/ BBBBBBBB '
SQL> drop tablespace PCS_DWCOMMON including contents and datafiles;
ORA-01157: 无法标识/锁定数据文件 3 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 3: '/oracle/product/10.2/db_1/dbs/ AAAAAAAA '
SQL> drop tablespace PCS_TEMP including contents and datafiles;
ORA-01157: 无法标识/锁定数据文件 2 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 2: '/oracle/product/10.2/db_1/dbs/ BBBBBBBB '
这下麻烦了,查询也查询不了,删除也删除不了。重新启动一样不行。
上网找了一下,果然也有很多人出现一样的问题,但是大多都是在win下的。赶紧试了一下果然行得通。
SQL> conn /as sysdba;
SQL> shutdown immediate
SQL> startup mount;
SQL>alter database datafile ‘/oracle/product/10.2/db_1/dbs/ AAAAAAAA’ offline drop;
Database altered
SQL> alter database tempfile ‘/oracle/product/10.2/db_1/dbs/ BBBBBBBB’ drop;
Database altered
SQL> alter database open;
Database opened
查询数据文件联、脱机状态,可以看到已offline的表空间
SQL> select file#,name,status from v$datafile;
接下来按照正常方式删除表空间
SQL> drop tablespace PCS_DWCOMMON including contents and datafiles;
Tablespace droped
SQL> drop tablespace PCS_TEMP including contents and datafiles;
Tablespace droped
重新创建表空间
SQL> CREATE TABLESPACE PCS_DWCOMMON DATAFILE 'AAAAAAAA' SIZE 5G AUTOEXTEND OFF;
Tablespace created
SQL> CREATE TEMPORARY TABLESPACE PCS_TEMP TEMPFILE 'BBBBBBBB' SIZE 20G AUTOEXTEND OFF;
Tablespace created
搞定。这里要注意一下,因为我的是RAC环境,所以在置表空间为offline的时候需要两个数据库都shutdown,然后启动一台或者两台到mount状态下操作。
------------------------------------------End--------------------------------
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24930246/viewspace-1043177/ ,如需转载,请注明出处,否则将追究法律责任。