Lundi 9 octobre 2006
2 méthodes : base arrêtée ou base démarrée, au choix ! On parle de déplacement de fichiers de données, mais les même procédures s'appliquent dans le cadre d'un renommage ...

1- Base arrêtée
- la base étant arrêtée, copier les datafiles avec la commande correspondant à l'OS
$ cp /u02/oradata/orcltst/users01.dbf /u03/oradata/orcltst/user01.dbf

- se connecter à la base en 'sys'
$sqlplus '/ as sysdba'

- démarrer la base sans l'ouvrir :
> startup mount;

- faire connaitre à la base le déplacement de fichier
> alter database rename file '/u02/oradata/orcltst/users01.dbf' to '/u03/oradata/orcltst/user01.dbf';

- ouvrir la base
> alter database open;

- vérifier la prise en compte des changements
> select name from dba_data_files;

- supprimer les fichiers avec la commande OS appropriée
$ rm -f /u02/oradata/orcltst/users01.dbf

2- Base ouverte
Afin de réaliser le déplacement de datafile 'base ouverte', le tablespace doit doit être passé en 'READ-ONLY', ce qui implique que les l'accès aux données de ce tablespace ne sera plus possible q'en 'SELECT' exclusivement. D'autre part, le temps de passage en mode 'READ-ONLY' peut être assez long, en fonction du volume, et éventuellement des transactions en cours.

- mettre le tablespace en READ-ONLY
> alter tablespace USERS read only;

- s'assurer que le tablespace est bien en READ-ONLY (!)
> select tablespace_name, status from dba_tablespaces where tablespace_name='USERS';

- copier les datafiles avec la commande correspondant à l'OS
$ cp /u02/oradata/orcltst/users01.dbf /u03/oradata/orcltst/user01.dbf

- mettre le tablespace offline
> alter tablespace users offline;
- faire connaitre à la base le déplacement de fichier
> alter database rename file '/u02/oradata/orcltst/users01.dbf' to '/u03/oradata/orcltst/user01.dbf';

- mettre le tablespace online
> alter tablespace users online;

- mettre le tablespace en mode READ-WRITE
> alter tablespace users read write;

- vérifier que tout est ok, en récupérant la trace dans $ORACLE_BASE/admin/bdump/XXXX.trc
> alter database backup controlfile to trace;

- supprimer les fichiers avec la commande OS appropriée
$ rm -f /u02/oradata/orcltst/users01.dbf
par Ora-Linux publié dans : Oracle DB 9i-10g
ajouter un commentaire commentaires (0)    recommander
Retour à l'accueil
Blog : Sport sur over-blog.com - Contact - C.G.U. - Rémunération en droits d'auteur avec TF1 Network - Signaler un abus