ORA-01157: cannot identify/lock data file %s - see DBWR trace file的处理
处理 File Data Cannot lock Trace ORA See
2023-09-14 08:59:38 时间
span >
从alert日志中,我们可以看到 /ora10g/test/test.dbf文件存在权限问题
Mon Nov 26 17:41:47 2012
Errors in file /ora10g/admin/ora10g/bdump/ora10g_dbw0_7427.trc:
ORA-01157: cannot identify/lock data file 6 - see DBWR trace file
ORA-01110: data file 6: /ora10g/test/test.dbf
ORA-27037: unable to obtain file status
HP-UX Error: 13: Permission denied
Additional information: 3
ORA-1157 signalled during: ALTER DATABASE OPEN...
检查日志发现,datafile 6 /ora10g/test/test.dbf 存在问题,进一步检查
lrwxr-x--- 1 root sys 7 Nov 23 16:38 test - testbdf
-rw-r----- 1 root sys 2105344 Nov 23 16:38 test.dbf
-rwxr-x--- 1 root sys 160 Nov 23 16:38 test.sh
drwxr-x--- 2 root sys 96 Nov 23 16:38 testbdf
发现,testbdf 目录,ora10g用户没有读写权限,所以删除该文件,这个问题可以解决。
也可以修改testbdf的所有者,问题也可以解决。
chown ora10g:dba testbdf
以下的操作是从数据库中将问题的数据文件删除,让数据库启动。
$ sqlplus "/as sysdba"
SQL*Plus: Release 10.2.0.4.0 - Production on Mon Nov 26 19:16:45 2012
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL set linesize 500
SQL col file_name format a60
SQL col tablespace_name format a30
SQL
SQL select tablespace_name,file_name from dba_data_files;
select tablespace_name,file_name from dba_data_files
*
ERROR at line 1:
ORA-01219: database not open: queries allowed on fixed tables/views only
SQL
SQL col name format a60
SQL
SQL select file#,name from v$datafile;
FILE# NAME
---------- ------------------------------------------------------------
1 /ora10g/oradata/ora10g/system01.dbf
2 /ora10g/oradata/ora10g/undotbs01.dbf
3 /ora10g/oradata/ora10g/sysaux01.dbf
4 /ora10g/oradata/ora10g/users01.dbf
5 /ora10g/oradata/ora10g/example01.dbf
6 /ora10g/test/test.dbf
6 rows selected.
SQL
SQL set linesize 100
SQL
SQL select ts#,file#,name from v$datafile;
TS# FILE# NAME
---------- ---------- ------------------------------------------------------------
0 1 /ora10g/oradata/ora10g/system01.dbf
1 2 /ora10g/oradata/ora10g/undotbs01.dbf
2 3 /ora10g/oradata/ora10g/sysaux01.dbf
4 4 /ora10g/oradata/ora10g/users01.dbf
6 5 /ora10g/oradata/ora10g/example01.dbf
7 6 /ora10g/test/test.dbf
6 rows selected.
SQL
SQL select ts#,name from v$tablespace;
TS# NAME
---------- ------------------------------------------------------------
0 SYSTEM
1 UNDOTBS1
2 SYSAUX
4 USERS
3 TEMP
6 EXAMPLE
7 TEST
7 rows selected.
SQL
SQL alter tablespace test offline;
alter tablespace test offline
*
ERROR at line 1:
ORA-01109: database not open
SQL alter database datafile 6 offline;
Database altered.
SQL alter database open;
Database altered.
SQL
SQL
SQL drop tablespace test including contents and datafiles;
Tablespace dropped.
SQL
SQL select tablespace_name,file_name from dba_data_files;
TABLESPACE_NAME FILE_NAME
------------------------------ ------------------------------------------------------------
USERS /ora10g/oradata/ora10g/users01.dbf
SYSAUX /ora10g/oradata/ora10g/sysaux01.dbf
UNDOTBS1 /ora10g/oradata/ora10g/undotbs01.dbf
SYSTEM /ora10g/oradata/ora10g/system01.dbf
EXAMPLE /ora10g/oradata/ora10g/example01.dbf
SQL
SQL
至此,该问题得到解决。
在正式生产环境,千万不要随便删除数据文件。如果遇到该问题,可能是数据文件的权限变动了,通过主机层面修改权限即可。
解决webstom failed to change read-only files 我百思不得其解的是,为何我的文件不让我更改,变成了只读模式,后来我仔细回忆了一下,原来是因为我使用了root权限,来安装thinkjs之后,webstom没有root权限,所以我使用root,在终端敲下如下命令,即可解决问题 chown -R ae6623 lv-node 我解释一下,如上的命令...
ORA-01189的完整解决过程(File is from a different RESETLOGS than previous files) 昨天用户报告数据库不能启动了,询问用户,用户也不清楚原因。在解决过程中遇到了ORA-01189的问题,查遍了网上,包括metalink,也没有找到合适的解决方案,差点就放弃了......还好,根据ORACLE的错误解释,终于摸索出了下面的解决方法。
从alert日志中,我们可以看到 /ora10g/test/test.dbf文件存在权限问题
Mon Nov 26 17:41:47 2012
Errors in file /ora10g/admin/ora10g/bdump/ora10g_dbw0_7427.trc:
ORA-01157: cannot identify/lock data file 6 - see DBWR trace file
ORA-01110: data file 6: /ora10g/test/test.dbf
ORA-27037: unable to obtain file status
HP-UX Error: 13: Permission denied
Additional information: 3
ORA-1157 signalled during: ALTER DATABASE OPEN...
检查日志发现,datafile 6 /ora10g/test/test.dbf 存在问题,进一步检查
lrwxr-x--- 1 root sys 7 Nov 23 16:38 test - testbdf
-rw-r----- 1 root sys 2105344 Nov 23 16:38 test.dbf
-rwxr-x--- 1 root sys 160 Nov 23 16:38 test.sh
drwxr-x--- 2 root sys 96 Nov 23 16:38 testbdf
发现,testbdf 目录,ora10g用户没有读写权限,所以删除该文件,这个问题可以解决。
也可以修改testbdf的所有者,问题也可以解决。
chown ora10g:dba testbdf
以下的操作是从数据库中将问题的数据文件删除,让数据库启动。
$ sqlplus "/as sysdba"
SQL*Plus: Release 10.2.0.4.0 - Production on Mon Nov 26 19:16:45 2012
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL set linesize 500
SQL col file_name format a60
SQL col tablespace_name format a30
SQL
SQL select tablespace_name,file_name from dba_data_files;
select tablespace_name,file_name from dba_data_files
*
ERROR at line 1:
ORA-01219: database not open: queries allowed on fixed tables/views only
SQL
SQL col name format a60
SQL
SQL select file#,name from v$datafile;
FILE# NAME
---------- ------------------------------------------------------------
1 /ora10g/oradata/ora10g/system01.dbf
2 /ora10g/oradata/ora10g/undotbs01.dbf
3 /ora10g/oradata/ora10g/sysaux01.dbf
4 /ora10g/oradata/ora10g/users01.dbf
5 /ora10g/oradata/ora10g/example01.dbf
6 /ora10g/test/test.dbf
6 rows selected.
SQL
SQL set linesize 100
SQL
SQL select ts#,file#,name from v$datafile;
TS# FILE# NAME
---------- ---------- ------------------------------------------------------------
0 1 /ora10g/oradata/ora10g/system01.dbf
1 2 /ora10g/oradata/ora10g/undotbs01.dbf
2 3 /ora10g/oradata/ora10g/sysaux01.dbf
4 4 /ora10g/oradata/ora10g/users01.dbf
6 5 /ora10g/oradata/ora10g/example01.dbf
7 6 /ora10g/test/test.dbf
6 rows selected.
SQL
SQL select ts#,name from v$tablespace;
TS# NAME
---------- ------------------------------------------------------------
0 SYSTEM
1 UNDOTBS1
2 SYSAUX
4 USERS
3 TEMP
6 EXAMPLE
7 TEST
7 rows selected.
SQL
SQL alter tablespace test offline;
alter tablespace test offline
*
ERROR at line 1:
ORA-01109: database not open
SQL alter database datafile 6 offline;
Database altered.
SQL alter database open;
Database altered.
SQL
SQL
SQL drop tablespace test including contents and datafiles;
Tablespace dropped.
SQL
SQL select tablespace_name,file_name from dba_data_files;
TABLESPACE_NAME FILE_NAME
------------------------------ ------------------------------------------------------------
USERS /ora10g/oradata/ora10g/users01.dbf
SYSAUX /ora10g/oradata/ora10g/sysaux01.dbf
UNDOTBS1 /ora10g/oradata/ora10g/undotbs01.dbf
SYSTEM /ora10g/oradata/ora10g/system01.dbf
EXAMPLE /ora10g/oradata/ora10g/example01.dbf
SQL
SQL
至此,该问题得到解决。
在正式生产环境,千万不要随便删除数据文件。如果遇到该问题,可能是数据文件的权限变动了,通过主机层面修改权限即可。
解决webstom failed to change read-only files 我百思不得其解的是,为何我的文件不让我更改,变成了只读模式,后来我仔细回忆了一下,原来是因为我使用了root权限,来安装thinkjs之后,webstom没有root权限,所以我使用root,在终端敲下如下命令,即可解决问题 chown -R ae6623 lv-node 我解释一下,如上的命令...
ORA-01189的完整解决过程(File is from a different RESETLOGS than previous files) 昨天用户报告数据库不能启动了,询问用户,用户也不清楚原因。在解决过程中遇到了ORA-01189的问题,查遍了网上,包括metalink,也没有找到合适的解决方案,差点就放弃了......还好,根据ORACLE的错误解释,终于摸索出了下面的解决方法。
相关文章
- ORA-00299: must use file-level media recovery on data file string ORACLE 报错 故障修复 远程处理
- ORA-01137: data file string is still in the middle of going offline ORACLE 报错 故障修复 远程处理
- ORA-01221: data file string is not the same file to a background process ORACLE 报错 故障修复 远程处理
- ORA-01276: Cannot add file string. File has an Oracle Managed Files file name. ORACLE 报错 故障修复 远程处理
- ORA-19627: cannot read backup pieces during control file application ORACLE 报错 故障修复 远程处理
- ORA-19810: Cannot create temporary control file string in DB_RECOVERY_FILE_DEST ORACLE 报错 故障修复 远程处理
- ORA-28141: error in creating audit index file ORACLE 报错 故障修复 远程处理
- ORA-39173: Encrypted data has been stored unencrypted in dump file set. ORACLE 报错 故障修复 远程处理
- ORA-41302: failed to read data from file ORACLE 报错 故障修复 远程处理
- ORA-56939: failed to unload the secondary time zone data file ORACLE 报错 故障修复 远程处理
- ORA-00357: too many members specified for log file, the maximum is string ORACLE 报错 故障修复 远程处理
- ORA-01251: Unknown File Header Version read for file number string ORACLE 报错 故障修复 远程处理
- ORA-01674: data file string is an old incarnation rather than current file ORACLE 报错 故障修复 远程处理
- ORA-02364: error writing to file: string ORACLE 报错 故障修复 远程处理
- MySQL Error number: MY-011406; Symbol: ER_KEYRING_ENCRYPTED_FILE_FAILED_TO_FLUSH_KEYRING; SQLSTATE: HY000 报错 故障修复 远程处理
- ORA-10567: Redo is inconsistent with data block (file# string, block# string, file offset is string bytes) ORACLE 报错 故障修复 远程处理