Maison base de données tutoriel mysql Oracle Db Rname datafile/redofile on ASM

Oracle Db Rname datafile/redofile on ASM

Jun 07, 2016 pm 04:37 PM
oracle

oracle db在omf自动管理文件下并在文件存放在ASM里,如果手工rename 一个文件OMF文件,oracle会自动删除原有文件,以下是测试 SQL SELECT file#,name FROM v$datafile; FILE# NAME---------- ----------------------------------------------------------------

oracle db在omf自动管理文件下并在文件存放在ASM里,如果手工rename 一个文件OMF文件,oracle会自动删除原有文件,以下是测试

SQL> SELECT file#,name FROM v$datafile;
 
     FILE# NAME
---------- --------------------------------------------------------------------------------
         1 +ASMDATA/racdb/datafile/system.256.814462679
         2 +ASMDATA/racdb/datafile/sysaux.257.814462681
         3 +ASMDATA/racdb/datafile/undotbs1.258.814462681
         4 +ASMDATA/racdb/datafile/users.259.814462681
         5 +ASMDATA/racdb/datafile/undotbs2.264.814462949
         6 +ASMDATA/racdb/datafile/test.268.815753637
         7 +ASMDATA/racdb/datafile/goldengate.341.820339679
         8 +ASMDATA/racdb/datafile/ccdata.375.844202017
         9 +ASMDATA/racdb/datafile/soe.460.844203543
        10 +ASMDATA/racdb/datafile/big_test.661.852999379
 
10 ROWS selected.
Copier après la connexion

这里先通过rman backup as copy 备份一个文件

[oracle@rac1 ~]$ rman target /
 
Recovery Manager: Release 11.2.0.3.0 - Production ON Fri Jul 18 11:59:24 2014
 
Copyright (c) 1982, 2011, Oracle AND/OR its affiliates.  ALL rights reserved.
 
connected TO target DATABASE: RACDB (DBID=812079559)
 
RMAN> backup AS copy datafile 10 format '+ASMDATA/racdb/datafile/big_test01.dbf';
 
Starting backup at 18-JUL-14
USING target DATABASE control file instead OF recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=76 instance=racdb1 device TYPE=DISK
channel ORA_DISK_1: starting datafile copy
INPUT datafile file NUMBER=00010 name=+ASMDATA/racdb/datafile/big_test.661.852999379
output file name=+ASMDATA/racdb/datafile/big_test01.dbf tag=TAG20140718T115951 RECID=4 STAMP=853243196
channel ORA_DISK_1: datafile copy complete, elapsed TIME: 00:00:08
Finished backup at 18-JUL-14
 
RMAN>
Copier après la connexion
[grid@rac1 ~]$ asmcmd
ls -lASMCMD>  
 
State    TYPE    Rebal  Name
MOUNTED  EXTERN  N      ASMDATA/
MOUNTED  EXTERN  N      DATA/
ASMCMD> ASMCMD> 
ASMCMD> ls -l +ASMDATA/racdb/datafile/big_test01.dbf
TYPE      Redund  Striped  TIME             Sys  Name
                                            N    big_test01.dbf => +ASMDATA/RACDB/DATAFILE/BIG_TEST.664.853243193
ASMCMD> ls -l +ASMDATA/racdb/datafile/big_test.661.852999379
TYPE      Redund  Striped  TIME             Sys  Name
DATAFILE  UNPROT  COARSE   JUL 18 11:00:00  Y    big_test.661.852999379
ASMCMD> ls -l +ASMDATA/racdb/datafile/big_test*
TYPE      Redund  Striped  TIME             Sys  Name
DATAFILE  UNPROT  COARSE   JUL 18 11:00:00  Y    BIG_TEST.661.852999379
DATAFILE  UNPROT  COARSE   JUL 18 11:00:00  Y    BIG_TEST.664.853243193
                                            N    big_test01.dbf => +ASMDATA/RACDB/DATAFILE/BIG_TEST.664.853243193
Copier après la connexion

这里直切swtich datafile 看下

RMAN> switch  datafile 10 TO copy;
 
USING target DATABASE control file instead OF recovery catalog
datafile 10 switched TO datafile copy "+ASMDATA/racdb/datafile/big_test01.dbf"
RMAN> recover datafile 10;
 
Starting recover at 18-JUL-14
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=80 instance=racdb1 device TYPE=DISK
 
starting media recovery
media recovery complete, elapsed TIME: 00:00:02
 
Finished recover at 18-JUL-14
 
RMAN> SQL 'alter database datafile 10 online';
 
SQL statement: ALTER DATABASE datafile 10 online
 
ASMCMD> ls -l +ASMDATA/racdb/datafile/big_test*
TYPE      Redund  Striped  TIME             Sys  Name
DATAFILE  UNPROT  COARSE   JUL 18 12:00:00  Y    BIG_TEST.661.852999379
DATAFILE  UNPROT  COARSE   JUL 18 12:00:00  Y    BIG_TEST.664.853243193
                                            N    big_test01.dbf => +ASMDATA/RACDB/DATAFILE/BIG_TEST.664.853243193
Copier après la connexion

从这里在看两个文件都存在,所以说在文件OMF命名格式下,rman的switch datafile 不会删除文件

下面看下在sqlplus下直接rename

SQL> ALTER DATABASE datafile 10 offline;
 
DATABASE altered.
 
SQL> 
SQL> ALTER DATABASE RENAME file '+ASMDATA/racdb/datafile/big_test01.dbf' TO '+ASMDATA/racdb/datafile/big_test.661.852999379';
 
DATABASE altered.
 
SQL> recover datafile 10;
Media recovery complete.
SQL> ALTER DATABASE datafile 10 online;
 
DATABASE altered.
 
 
Completed: ALTER DATABASE RENAME file '+ASMDATA/racdb/datafile/big_test01.dbf' TO '+ASMDATA/racdb/datafile/big_test.661.852999379'
Fri Jul 18 12:08:21 2014
ALTER DATABASE RECOVER  datafile 10  
Media Recovery START
Serial Media Recovery started
WARNING! Recovering DATA file 10 FROM a fuzzy backup. It might be an online
backup taken WITHOUT entering the BEGIN backup command.
Recovery OF Online Redo Log: Thread 1 GROUP 2 Seq 337 Reading mem 0
  Mem# 0: +ASMDATA/racdb/onlinelog/group_2.262.814462797
Media Recovery Complete (racdb1)
Completed: ALTER DATABASE RECOVER  datafile 10  
ALTER DATABASE datafile 10 online
Completed: ALTER DATABASE datafile 10 onlin
Copier après la connexion
ASMCMD> ls -l +ASMDATA/racdb/datafile/big_test*
Type      Redund  Striped  Time             Sys  Name
DATAFILE  UNPROT  COARSE   JUL 18 12:00:00  Y    BIG_TEST.661.852999379
DATAFILE  UNPROT  COARSE   JUL 18 12:00:00  Y    BIG_TEST.664.853243193
                                            N    big_test01.dbf => +ASMDATA/RACDB/DATAFILE/BIG_TEST.664.853243193
Copier après la connexion

这里看到从手工命令的文件切换到OMF命令的文件,原文件也没用被删除。

看下omf切换到手工命令文件

SQL> ALTER DATABASE datafile 10 offline;
 
DATABASE altered.
 
 
SQL> ALTER DATABASE RENAME file '+ASMDATA/racdb/datafile/big_test.661.852999379' TO '+ASMDATA/racdb/datafile/big_test01.dbf';
 
DATABASE altered.
 
SQL> recover datafile 10;
Media recovery complete.
SQL>  ALTER DATABASE datafile 10 online;
 
DATABASE altered.
Copier après la connexion

alter日志文件如下

alter database rename file '+ASMDATA/racdb/datafile/big_test.661.852999379' to '+ASMDATA/racdb/datafile/big_test01.dbf'
Deleted Oracle managed file +ASMDATA/racdb/datafile/big_test.661.852999379
Completed: alter database rename file '+ASMDATA/racdb/datafile/big_test.661.852999379' to '+ASMDATA/racdb/datafile/big_test01.dbf'
Fri Jul 18 12:12:35 2014
Copier après la connexion

明显看出文件被delete ,Deleted Oracle managed file

ASMCMD> ls -l +ASMDATA/racdb/datafile/big_test*
Type      Redund  Striped  Time             Sys  Name
DATAFILE  UNPROT  COARSE   JUL 18 12:00:00  Y    BIG_TEST.664.853243193
                                            N    big_test01.dbf => +ASMDATA/RACDB/DATAFILE/BIG_TEST.664.853243193
Copier après la connexion

从asmcmd看到只剩下一个文件

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment vérifier la taille de l'espace de table d'Oracle Comment vérifier la taille de l'espace de table d'Oracle Apr 11, 2025 pm 08:15 PM

Pour interroger la taille de l'espace de table Oracle, suivez les étapes suivantes: Déterminez le nom de l'espace de table en exécutant la requête: sélectionnez Tablespace_name dans dba_tablespaces; Requête la taille de l'espace de table en exécutant la requête: sélectionnez SUM (Bytes) comme total_size, sum (bytes_free) comme disponible_space, sum (bytes) - sum (bytes_free) comme used_space à partir de dba_data_files où tablespace_

Comment crypter Oracle View Comment crypter Oracle View Apr 11, 2025 pm 08:30 PM

Oracle View Encryption vous permet de crypter les données dans la vue, améliorant ainsi la sécurité des informations sensibles. Les étapes incluent: 1) la création de la clé de cryptage maître (MEK); 2) Création d'une vue cryptée, spécifiant la vue et MEK à crypter; 3) Autoriser les utilisateurs à accéder à la vue cryptée. Comment fonctionnent les vues cryptées: lorsqu'un utilisateur interroge pour une vue cryptée, Oracle utilise MEK pour décrypter les données, garantissant que seuls les utilisateurs autorisés peuvent accéder aux données lisibles.

Comment afficher le nom d'instance d'Oracle Comment afficher le nom d'instance d'Oracle Apr 11, 2025 pm 08:18 PM

Il existe trois façons d'afficher les noms d'instance dans Oracle: utilisez le "SQLPlus" et "SELECT INSTRESS_NAME FROM V $ INSTERNE;" Commandes sur la ligne de commande. Utilisez "Show instance_name;" Commande dans SQL * Plus. Vérifiez les variables d'environnement (Oracle_sid sur Linux) via le gestionnaire de tâches du système d'exploitation, Oracle Enterprise Manager ou via le système d'exploitation.

Comment importer une base de données Oracle Comment importer une base de données Oracle Apr 11, 2025 pm 08:06 PM

Méthode d'importation de données: 1. Utilisez l'utilitaire SqlLoader: Préparez les fichiers de données, créez des fichiers de contrôle et exécutez SqlLoader; 2. Utilisez l'outil IMP / EXP: les données d'exportation, les données d'importation. Astuce: 1. Chargeur SQL * recommandé pour les ensembles de Big Data; 2. La table cible doit exister et la définition de la colonne correspond; 3. Après l'importation, l'intégrité des données doit être vérifiée.

Comment désinstaller l'installation d'Oracle a échoué Comment désinstaller l'installation d'Oracle a échoué Apr 11, 2025 pm 08:24 PM

Désinstaller la méthode pour la défaillance de l'installation d'Oracle: Fermez le service Oracle, supprimez les fichiers du programme Oracle et les clés de registre, désinstallez les variables d'environnement Oracle et redémarrez l'ordinateur. Si la désinstallation échoue, vous pouvez désinstaller manuellement à l'aide de l'outil Oracle Universal Disinstal.

Comment obtenir du temps dans Oracle Comment obtenir du temps dans Oracle Apr 11, 2025 pm 08:09 PM

Il existe les méthodes suivantes pour obtenir du temps dans Oracle: current_timestamp: renvoie le temps du système actuel, précis en secondes. Systimestamp: plus précis que current_timestamp, aux nanosecondes. Sysdate: renvoie la date du système actuelle, à l'exclusion de la partie d'heure. To_char (sysdate, 'yyy-mm-dd hh24: mi: ss'): convertit la date et l'heure du système actuels en format spécifique. Extrait: extrait une partie spécifique d'une valeur temporelle, comme un an, un mois ou une heure.

Comment créer Oracle Dynamic SQL Comment créer Oracle Dynamic SQL Apr 12, 2025 am 06:06 AM

Les instructions SQL peuvent être créées et exécutées en fonction de l'entrée d'exécution en utilisant Dynamic SQL d'Oracle. Les étapes comprennent: la préparation d'une variable de chaîne vide pour stocker des instructions SQL générées dynamiquement. Utilisez l'instruction EXECUTER IMMÉDIATE OU PRÉPEPART pour compiler et exécuter les instructions SQL dynamiques. Utilisez la variable Bind pour passer l'entrée utilisateur ou d'autres valeurs dynamiques à Dynamic SQL. Utilisez EXECUTER immédiat ou exécuter pour exécuter des instructions SQL dynamiques.

Comment configurer les utilisateurs d'Oracle Comment configurer les utilisateurs d'Oracle Apr 11, 2025 pm 08:21 PM

Pour créer un utilisateur dans Oracle, suivez ces étapes: créez un nouvel utilisateur à l'aide de l'instruction Créer des utilisateurs. Accorder les autorisations nécessaires en utilisant la déclaration de subvention. Facultatif: utilisez l'instruction RESSOURCE pour définir le quota. Configurez d'autres options telles que les rôles par défaut et les espaces de table temporaires.

See all articles