oracle rac将datafile创建到本地文件系统导致orastar

57次阅读
没有评论

共计 8426 个字符,预计需要花费 22 分钟才能阅读完成。

行业资讯    
数据库    
关系型数据库    
oracle rac 将 datafile 创建到本地文件系统导致 orastar-20170924 错误怎么办

这篇文章主要介绍 oracle rac 将 datafile 创建到本地文件系统导致 orastar-20170924 错误怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1、问题描述

将 oracle rac 环境的数据库创建到本地文件系统,造成部分应用间歇性访问异常。

2、处理方法

问题处理思路
1、删除新添加的本地 datafile, 从新添加 datafile 到共享存储中
2、迁移问题 datafile,到共享存储 datafile

删除数据文件的限制:
以下是删除数据文件和临时文件的限制:

点击 (此处) 折叠或打开

数据库必须打开。

如果数据文件不为空,则不能删除。

如果必须删除不为空且不能通过删除模式对象而变空的数据文件,则必须删除包含数据文件的表空间。

您不能删除表空间中的第一个或唯一的数据文件。(这意味着 DROP DATAFILE 不能与 bigfile 表空间一起使用。)

您不能在只读表空间中删除数据文件。

您不能在 SYSTEM 表空间中删除数据文件。— 特别注意

如果本地管理表空间中的数据文件脱机,则无法删除。

                                       | 方法一 (非 system drop)、move dba_extents 中数据,删除 datafile
              | 非 system 表空间 -|
              |                      | 方法二 (非 system rename)、datafile offline,cp datafile ,rename
datafile—|
              |
             |system 表空间 -| 方法三 (system rename)、stop instance,startup mount,cp datafile to new location,rename,recover datafile,instance open            

3、方法一   非 system drop 实验

SQL col file_name for a40
set line 200
select file_id,tablespace_name,file_name,bytes/1024/1024 from dba_data_files;SQL SQL  

   FILE_ID TABLESPACE_NAME                FILE_NAME                                BYTES/1024/1024
———- —————————— —————————————- —————
         4 USERS                          /dev/rlvusers_1G                                       5
         3 SYSAUX                         /dev/rlvsysaux_512                                   360
         2 UNDOTBS1                       /dev/rlvundotbs_512                                   35
         1 SYSTEM                         /dev/rlvsystem_512                                   490
         5 TT_TEST                        /oracle/oradata/test/tt_test01.dbf                   100
         6 TT_TEST                        /oracle/oradata/test/tt_test02.dbf                   100      – 删除该数据文件
         7 SYSTEM                         /dev/rlvsystem_512_2                                 100

7 rows selected.
SQL select owner,segment_name,tablespace_name from dba_extents where file_id=6;

no rows selected

SQL alter tablespace TT_TEST drop datafile 6;

Tablespace altered.

注:
如果数据文件中有数据,需要先迁移,重建索引。
1、检查是否有数据:SQL select owner,segment_name,tablespace_name from dba_extents where file_id=6;
2、ALTER TABLE table_name MOVE TABLESPACE tablespace_name;
3、index_rebuild
4、 alter tablespace TT_TEST drop datafile 6;

select file_id,tablespace_name,file_name,bytes/1024/1024 from dba_data_files;SQL SQL  

   FILE_ID TABLESPACE_NAME                FILE_NAME                                BYTES/1024/1024
———- —————————— —————————————- —————
         4 USERS                          /dev/rlvusers_1G                                       5
         3 SYSAUX                         /dev/rlvsysaux_512                                   360
         2 UNDOTBS1                       /dev/rlvundotbs_512                                   35
         1 SYSTEM                         /dev/rlvsystem_512                                   490
         5 TT_TEST                        /oracle/oradata/test/tt_test01.dbf                   100
         7 SYSTEM                         /dev/rlvsystem_512_2                                 100

6 rows selected.

SQL  

4、方法二 非 system drop rename

说明: 
SQL select file_id,tablespace_name,file_name,bytes/1024/1024,ONLINE_STATUS from dba_data_files;

   FILE_ID TABLESPACE_NAME      FILE_NAME                                BYTES/1024/1024 ONLINE_
———- ——————– —————————————- ————— ——-
         4 USERS                /dev/rlvusers_1G                                       5 ONLINE
         3 SYSAUX               /dev/rlvsysaux_512                                   360 ONLINE
         2 UNDOTBS1             /dev/rlvundotbs_512                                   35 ONLINE
         1 SYSTEM               /dev/rlvsystem_512                                   490 SYSTEM
         5 TT_TEST              /oracle/oradata/test2/tt_test01.dbf                  100 ONLINE
         7 SYSTEM               /dev/rlvsystem_512_2                                 100 SYSTEM

6 rows selected.

SQL alter database datafile 5 offline;

Database altered.

SQL select file_id,tablespace_name,file_name,bytes/1024/1024,ONLINE_STATUS from dba_data_files;

   FILE_ID TABLESPACE_NAME      FILE_NAME                                BYTES/1024/1024 ONLINE_
———- ——————– —————————————- ————— ——-
         4 USERS                /dev/rlvusers_1G                                       5 ONLINE
         3 SYSAUX               /dev/rlvsysaux_512                                   360 ONLINE
         2 UNDOTBS1             /dev/rlvundotbs_512                                   35 ONLINE
         1 SYSTEM               /dev/rlvsystem_512                                   490 SYSTEM
         5 TT_TEST              /oracle/oradata/test2/tt_test01.dbf                      RECOVER
         7 SYSTEM               /dev/rlvsystem_512_2                                 100 SYSTEM

6 rows selected.

SQL !cp /oracle/oradata/test2/tt_test01.dbf /oracle/oradata/test/tt_test02.dbf

SQL alter database rename file /oracle/oradata/test2/tt_test01.dbf to /oracle/oradata/test/tt_test02.dbf

Database altered.

SQL select file_id,tablespace_name,file_name,bytes/1024/1024,ONLINE_STATUS from dba_data_files;

   FILE_ID TABLESPACE_NAME      FILE_NAME                                BYTES/1024/1024 ONLINE_
———- ——————– —————————————- ————— ——-
         4 USERS                /dev/rlvusers_1G                                       5 ONLINE
         3 SYSAUX               /dev/rlvsysaux_512                                   360 ONLINE
         2 UNDOTBS1             /dev/rlvundotbs_512                                   35 ONLINE
         1 SYSTEM               /dev/rlvsystem_512                                   490 SYSTEM
         5 TT_TEST              /oracle/oradata/test/tt_test02.dbf                       RECOVER
         7 SYSTEM               /dev/rlvsystem_512_2                                 100 SYSTEM

6 rows selected.

SQL recover datafile 5;
Media recovery complete.
SQL alter database datafile 5 online;

Database altered.

SQL select file_id,tablespace_name,file_name,bytes/1024/1024,ONLINE_STATUS from dba_data_files;

   FILE_ID TABLESPACE_NAME      FILE_NAME                                BYTES/1024/1024 ONLINE_
———- ——————– —————————————- ————— ——-
         4 USERS                /dev/rlvusers_1G                                       5 ONLINE
         3 SYSAUX               /dev/rlvsysaux_512                                   360 ONLINE
         2 UNDOTBS1             /dev/rlvundotbs_512                                   35 ONLINE
         1 SYSTEM               /dev/rlvsystem_512                                   490 SYSTEM
         5 TT_TEST              /oracle/oradata/test/tt_test02.dbf                   100 ONLINE
         7 SYSTEM               /dev/rlvsystem_512_2                                 100 SYSTEM

6 rows selected.

5、方法三  system rename

SQL /

   FILE_ID TABLESPACE_NAME                FILE_NAME                                BYTES/1024/1024
———- —————————— —————————————- —————
         4 USERS                          /dev/rlvusers_1G                                       5
         3 SYSAUX                         /dev/rlvsysaux_512                                   360
         2 UNDOTBS1                       /dev/rlvundotbs_512                                   35
         1 SYSTEM                         /dev/rlvsystem_512                                   490
         5 TT_TEST                        /oracle/oradata/test/tt_test01.dbf                   100
         6 TT_TEST                        /oracle/oradata/test/tt_test02.dbf                   100
         7 SYSTEM                         /oracle/oradata/test/system02.dbf                    100   – 迁移该文件到裸设备

7 rows selected.

SQL alter system checkpoint;

System altered.

SQL shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL startup mount
ORACLE instance started.

Total System Global Area 1610612736 bytes
Fixed Size                  2084400 bytes
Variable Size             419430864 bytes
Database Buffers         1174405120 bytes
Redo Buffers               14692352 bytes
Database mounted.
SQL exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 – 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
$ export ORACLE_SID=test
$ rman target /

Recovery Manager: Release 10.2.0.4.0 – Production on Sun Sep 24 10:45:59 2017

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

connected to target database: TEST (DBID=2245579828, not open)

RMAN copy datafile /oracle/oradata/test/system02.dbf to /dev/rlvsystem_512_2

Starting backup at 24-SEP-17
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=156 devtype=DISK
channel ORA_DISK_1: starting datafile copy
input datafile fno=00007 name=/oracle/oradata/test/system02.dbf
output filename=/dev/rlvsystem_512_2 tag=TAG20170924T104619 recid=1 stamp=955536380
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 24-SEP-17

$ export ORACLE_SID=test
$ sqlplus / as sysdba

SQL alter database rename file /oracle/oradata/test/system02.dbf to /dev/rlvsystem_512_2

Database altered.

SQL alter database open;

Database altered.

SQL select file_id,tablespace_name,file_name,bytes/1024/1024,ONLINE_STATUS from dba_data_files;

   FILE_ID TABLESPACE_NAME      FILE_NAME                                BYTES/1024/1024 ONLINE_
———- ——————– —————————————- ————— ——-
         4 USERS                /dev/rlvusers_1G                                       5 ONLINE
         3 SYSAUX               /dev/rlvsysaux_512                                   360 ONLINE
         2 UNDOTBS1             /dev/rlvundotbs_512                                   35 ONLINE
         1 SYSTEM               /dev/rlvsystem_512                                   490 SYSTEM
         5 TT_TEST              /oracle/oradata/test/tt_test01.dbf                  100 ONLINE
         7 SYSTEM               /dev/rlvsystem_512_2                                 100 SYSTEM

6 rows selected.

6、注意事项

使用裸设备创建 oracle datafile,裸设备需要比 oracle datafiles 大。

以上是“oracle rac 将 datafile 创建到本地文件系统导致 orastar-20170924 错误怎么办”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-24发表,共计8426字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)