怎么修改网站模版,一个旅游网站怎么做,科凡网站建设怎么样,洛阳做网站公司电话问题描述
在 Oracle RAC 环境中#xff0c;有时会误将数据文件创建在本地目录#xff0c;导致其他节点无法访问该数据文件#xff0c;从而报出 ORA-01157 和 ORA-01110 错误。
问题分析 错误日志 Mon Nov 16 19:02:38 2021
Errors in file /u01/app/oracle/diag/rdbms/orc…问题描述
在 Oracle RAC 环境中有时会误将数据文件创建在本地目录导致其他节点无法访问该数据文件从而报出 ORA-01157 和 ORA-01110 错误。
问题分析 错误日志 Mon Nov 16 19:02:38 2021
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_m000_27416.trc:
ORA-01157: cannot identify/lock data file 9 - see DBWR trace file
ORA-01110: data file 9: /u01/app/oracle/11.2.0/db1/dbs/testnew
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_m000_27416.trc:
ORA-01157: cannot identify/lock data file 10 - see DBWR trace file
ORA-01110: data file 10: /u01/app/oracle/11.2.0/db1/dbs/testfilenew查询数据文件路径 SQL SELECT file#, name FROM v$datafile;--输出示例FILE# NAME
---------- -------------------------------------------------1 DATA/orcl/datafile/system.259.8552443412 DATA/orcl/datafile/sysaux.260.8552443453 DATA/orcl/datafile/undotbs1.261.8552443454 DATA/orcl/datafile/undotbs2.263.8552443535 DATA/orcl/datafile/users.264.8552443556 DATA/orcl/datafile/egapp.293.8748592117 DATA/orcl/datafile/loop_test.294.8790933498 DATA/orcl/datafile/loop_file_test.295.87909 /u01/app/oracle/11.2.0/db1/dbs/testnew10 /u01/app/oracle/11.2.0/db1/dbs/testfilenew
解决方法
1. 确定数据文件的位置 确定数据文件在哪个节点上 -- 在节点2上执行
ls -l /u01/app/oracle/11.2.0/db/dbs/2. 将数据文件下线 登录到 SQL\Plus sqlplus / as sysdba将数据文件下线 SQL ALTER DATABASE DATAFILE 9 OFFLINE;
SQL ALTER DATABASE DATAFILE 10 OFFLINE;确认数据文件状态 SQL COL NAME FOR A45
SQL SET LINESIZE 234
SQL SELECT NAME, FILE#, STATUS FROM V$DATAFILE;3. 复制数据文件到共享目录 登录到 RMAN rman target /复制数据文件 RMAN COPY DATAFILE /u01/app/oracle/11.2.0/db/dbs/goa31new TO DATA;
RMAN COPY DATAFILE /u01/app/oracle/11.2.0/db/dbs/goafilenew TO DATA;4. 更改数据文件路径 重命名数据文件 SQL ALTER DATABASE RENAME FILE /u01/app/oracle/11.2.0/db1/dbs/testnew TO DATA/orcl/datafile/testnew.339.895952649;
SQL ALTER DATABASE RENAME FILE /u01/app/oracle/11.2.0/db1/dbs/testfilenew TO DATA/orcl/datafile/testfilenew.340.895952749;确认数据文件状态 SQL SELECT NAME, FILE#, STATUS FROM V$DATAFILE;5. 恢复数据文件 恢复数据文件 SQL RECOVER DATAFILE DATA/orcl/datafile/testnew.339.895952649;
SQL RECOVER DATAFILE DATA/orcl/datafile/testfilenew.340.895952749;确认数据文件状态 SQL SELECT NAME, FILE#, STATUS FROM V$DATAFILE;6. 将数据文件上线 将数据文件上线 SQL ALTER DATABASE DATAFILE 9 ONLINE;
SQL ALTER DATABASE DATAFILE 10 ONLINE;确认数据文件状态 SQL SELECT NAME, FILE#, STATUS FROM V$DATAFILE;特殊情况系统表空间数据文件创建在本地
1. 模拟创建 在节点一上创建系统表空间数据文件 SQL ALTER TABLESPACE SYSTEM ADD DATAFILE /u02/app/oracle/datafile/system02.dbf SIZE 10M AUTOEXTEND OFF;检查数据文件 SQL COL TABLESPACE_NAME FOR A20
SQL COL FILE_NAME FOR A50
SQL SELECT FILE_NAME, FILE_ID, ONLINE_STATUS, TABLESPACE_NAME FROM DBA_DATA_FILES;
SQL SELECT FILE#, NAME FROM V$DATAFILE;FILE# NAME
---------- -------------------------------------------------4 DATA/orcl/datafile/users.257.9013336873 DATA/orcl/datafile/undotbs1.264.9013336872 DATA/orcl/datafile/sysaux.256.9013336851 DATA/orcl/datafile/system.265.9013336855 DATA/orcl/datafile/undotbs2.266.9013339436 DATA/orcl/datafile/testdb.dbf7 /u02/app/oracle/datafile/system02.dbf2. 处理系统表空间数据文件 将数据文件下线 SQL ALTER DATABASE DATAFILE 7 OFFLINE;注意系统表空间数据文件无法下线需要停机时间。 ORA-01541: system tablespace cannot be brought offline; shut down if necessary关闭问题节点 SQL SHUTDOWN IMMEDIATE;在另一个节点上检查数据文件状态 SQL SELECT OPEN_MODE FROM GV$DATABASE;使用 ASM 命令将本地文件移动到 ASM ASMCMD [data/orcl/datafile] CP /u02/app/oracle/datafile/system02.dbf ./
copying /u02/app/oracle/datafile/system02.dbf - data/orcl/datafile/system02.dbf启动节点一数据库到 mount 状态 SQL STARTUP MOUNT;修改数据文件路径 SQL ALTER DATABASE RENAME FILE /u02/app/oracle/datafile/system02.dbf TO data/orcl/datafile/system02.dbf;启动数据库 SQL ALTER DATABASE OPEN;在另一个节点上检查数据文件状态 SQL SELECT FILE_NAME, FILE_ID, ONLINE_STATUS, TABLESPACE_NAME FROM DBA_DATA_FILES;重启另一个节点 SQL SHUTDOWN IMMEDIATE;
SQL STARTUP;确认数据文件状态 SQL SELECT FILE_NAME, FILE_ID, ONLINE_STATUS, TABLESPACE_NAME FROM DBA_DATA_FILES;总结
通过上述步骤可以有效地解决 Oracle RAC 环境中数据文件误建在本地目录的问题特别是系统表空间的数据文件。