bonjour;
C'est utile de modifier nom d'une base de donnees c'est pour ca j'ai pense a decrire comment le faire.
voici check list pour renommer une base de donnees:
tout d'abord il faut que tu soit un administrateur.
1. pour savoir le nom de la base
Code :
SQL> SELECT name FROM v$database;
2. pour faire sortir la trace de la base de donnees
note:on supprime tous les fichier trace de C:\oracle\admin\nom_de_la_base\udump si tu n'as pas besoin d'eux.
Code :
1 2
| SQL> ALTER system switch logfile;
SQL> ALTER DATABASE backup controlfile TO trace; |
le fichier trace a cette structure
Code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
| Dump file c:\oracle\admin\test\udump\test_ora_4460.trc
Thu Oct 25 10:20:56 2007
ORACLE V9.2.0.1.0 - Production vsnsta=0
vsnsql=12 vsnxtr=3
Windows 2000 Version 5.1 Service Pack 2, CPU type 586
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
WITH the Partitioning, OLAP AND Oracle DATA Mining options
JServer Release 9.2.0.1.0 - Production
Windows 2000 Version 5.1 Service Pack 2, CPU type 586
Instance name: test
Redo thread mounted BY this instance: 1
Oracle process number: 10
Windows thread id: 4460, image: ORACLE.EXE
*** SESSION ID:(7.3) 2007-10-25 10:20:56.000
*** 2007-10-25 10:20:56.000
# The following are current System-scope REDO Log Archival related
# parameters and can be included in the database initialization file.
#
# LOG_ARCHIVE_DEST=''
# LOG_ARCHIVE_DUPLEX_DEST=''
#
# LOG_ARCHIVE_FORMAT=ARC%S.%T
# REMOTE_ARCHIVE_ENABLE=TRUE
# LOG_ARCHIVE_MAX_PROCESSES=2
# STANDBY_FILE_MANAGEMENT=MANUAL
# STANDBY_ARCHIVE_DEST=%ORACLE_HOME%\RDBMS
# FAL_CLIENT=''
# FAL_SERVER=''
#
# LOG_ARCHIVE_DEST_1='LOCATION=c:\oracle\RDBMS'
# LOG_ARCHIVE_DEST_1='MANDATORY NOREOPEN NODELAY'
# LOG_ARCHIVE_DEST_1='ARCH NOAFFIRM SYNC'
# LOG_ARCHIVE_DEST_1='NOREGISTER NOALTERNATE NODEPENDENCY'
# LOG_ARCHIVE_DEST_1='NOMAX_FAILURE NOQUOTA_SIZE NOQUOTA_USED'
# LOG_ARCHIVE_DEST_STATE_1=ENABLE
#
# Below are two sets of SQL statements, each of which creates a new
# control file and uses it to open the database. The first set opens
# the database with the NORESETLOGS option and should be used only if
# the current versions of all online logs are available. The second
# set opens the database with the RESETLOGS option and should be used
# if online logs are unavailable.
# The appropriate set of statements can be copied from the trace into
# a script file, edited as necessary, and executed when there is a
# need to re-create the control file.
#
# Set #1. NORESETLOGS case
#
# The following commands will create a new control file and use it
# to open the database.
# Data used by the recovery manager will be lost. Additional logs may
# be required for media recovery of offline data files. Use this
# only if the current version of all online logs are available.
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "TEST" NORESETLOGS NOARCHIVELOG
-- SET STANDBY TO MAXIMIZE PERFORMANCE
MAXLOGFILES 5
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 'C:\ORACLE\ORADATA\TEST\REDO01.LOG' SIZE 100M,
GROUP 2 'C:\ORACLE\ORADATA\TEST\REDO02.LOG' SIZE 100M,
GROUP 3 'C:\ORACLE\ORADATA\TEST\REDO03.LOG' SIZE 100M
-- STANDBY LOGFILE
DATAFILE
'C:\ORACLE\ORADATA\TEST\SYSTEM01.DBF',
'C:\ORACLE\ORADATA\TEST\UNDOTBS01.DBF',
'C:\ORACLE\ORADATA\TEST\DRSYS01.DBF',
'C:\ORACLE\ORADATA\TEST\INDX01.DBF',
'C:\ORACLE\ORADATA\TEST\TOOLS01.DBF',
'C:\ORACLE\ORADATA\TEST\USERS01.DBF',
'C:\ORACLE\ORADATA\TEST\XDB01.DBF'
CHARACTER SET WE8MSWIN1252
;
# Recovery is required if any of the datafiles are restored backups,
# or if the last shutdown was not normal or immediate.
RECOVER DATABASE
# Database can now be opened normally.
ALTER DATABASE OPEN;
# Commands to add tempfiles to temporary tablespaces.
# Online tempfiles have complete space information.
# Other tempfiles may require adjustment.
ALTER TABLESPACE TEMP ADD TEMPFILE 'C:\ORACLE\ORADATA\TEST\TEMP01.DBF'
SIZE 41943040 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
# End of tempfile additions.
#
# Set #2. RESETLOGS case
#
# The following commands will create a new control file and use it
# to open the database.
# The contents of online logs will be lost and all backups will
# be invalidated. Use this only if online logs are damaged.
STARTUP NOMOUNT
CREATE CONTROLFILE SET DATABASE "dpt5" RESETLOGS NOARCHIVELOG
-- SET STANDBY TO MAXIMIZE PERFORMANCE
MAXLOGFILES 5
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 'C:\ORACLE\ORADATA\TEST\REDO01.LOG' SIZE 100M,
GROUP 2 'C:\ORACLE\ORADATA\TEST\REDO02.LOG' SIZE 100M,
GROUP 3 'C:\ORACLE\ORADATA\TEST\REDO03.LOG' SIZE 100M
-- STANDBY LOGFILE
DATAFILE
'C:\ORACLE\ORADATA\TEST\SYSTEM01.DBF',
'C:\ORACLE\ORADATA\TEST\UNDOTBS01.DBF',
'C:\ORACLE\ORADATA\TEST\DRSYS01.DBF',
'C:\ORACLE\ORADATA\TEST\INDX01.DBF',
'C:\ORACLE\ORADATA\TEST\TOOLS01.DBF',
'C:\ORACLE\ORADATA\TEST\USERS01.DBF',
'C:\ORACLE\ORADATA\TEST\XDB01.DBF'
CHARACTER SET WE8MSWIN1252;
ALTER DATABASE OPEN RESETLOGS;
ALTER TABLESPACE TEMP ADD TEMPFILE 'C:\ORACLE\ORADATA\TEST\TEMP01.DBF'
SIZE 41943040 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
# End of tempfile additions.
# |
3. voyons la derniere partie!
Code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "old_db" RESETLOGS NOARCHIVELOG
-- SET STANDBY TO MAXIMIZE PERFORMANCE
MAXLOGFILES 5
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 'C:\ORACLE\ORADATA\TEST\REDO01.LOG' SIZE 100M,
GROUP 2 'C:\ORACLE\ORADATA\TEST\REDO02.LOG' SIZE 100M,
GROUP 3 'C:\ORACLE\ORADATA\TEST\REDO03.LOG' SIZE 100M
-- STANDBY LOGFILE
DATAFILE
'C:\ORACLE\ORADATA\TEST\SYSTEM01.DBF',
'C:\ORACLE\ORADATA\TEST\UNDOTBS01.DBF',
'C:\ORACLE\ORADATA\TEST\DRSYS01.DBF',
'C:\ORACLE\ORADATA\TEST\INDX01.DBF',
'C:\ORACLE\ORADATA\TEST\TOOLS01.DBF',
'C:\ORACLE\ORADATA\TEST\USERS01.DBF',
'C:\ORACLE\ORADATA\TEST\XDB01.DBF'
CHARACTER SET WE8MSWIN1252;
RECOVER DATABASE USING BACKUP CONTROLFILE
ALTER DATABASE OPEN RESETLOGS;
ALTER TABLESPACE TEMP ADD TEMPFILE 'C:\ORACLE\ORADATA\TEST\TEMP01.DBF'
SIZE 41943040 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
# End of tempfile additions.
# |
4. On remplace pour executer le nouveau script
Code :
CREATE CONTROLFILE REUSE DATABASE "old_db_name" RESETLOGS NOARCHIVELOG
par
[CODE]CREATE CONTROLFILE SET DATABASE "
New_db_name" RESETLOGS NOARCHIVELOG
et on supprime laligne
Code :
RECOVER DATABASE USING BACKUP CONTROLFILE
et toutes les lignes de comentaire qui commence par
#
5. on obtiendra.....
Code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| STARTUP NOMOUNT
CREATE CONTROLFILE SET DATABASE "New_db_name" RESETLOGS NOARCHIVELOG
-- SET STANDBY TO MAXIMIZE PERFORMANCE
MAXLOGFILES 5
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 'C:\ORACLE\ORADATA\TEST\REDO01.LOG' SIZE 100M,
GROUP 2 'C:\ORACLE\ORADATA\TEST\REDO02.LOG' SIZE 100M,
GROUP 3 'C:\ORACLE\ORADATA\TEST\REDO03.LOG' SIZE 100M
-- STANDBY LOGFILE
DATAFILE
'C:\ORACLE\ORADATA\TEST\SYSTEM01.DBF',
'C:\ORACLE\ORADATA\TEST\UNDOTBS01.DBF',
'C:\ORACLE\ORADATA\TEST\DRSYS01.DBF',
'C:\ORACLE\ORADATA\TEST\INDX01.DBF',
'C:\ORACLE\ORADATA\TEST\TOOLS01.DBF',
'C:\ORACLE\ORADATA\TEST\USERS01.DBF',
'C:\ORACLE\ORADATA\TEST\XDB01.DBF'
CHARACTER SET WE8MSWIN1252;
ALTER DATABASE OPEN RESETLOGS;
ALTER TABLESPACE TEMP ADD TEMPFILE 'C:\ORACLE\ORADATA\old_name_db\TEMP01.DBF'
SIZE 41943040 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M; |
note:
on ne change aucun chemin.
6. on arrete la base de donnees
7. on supprime les fichier de control de la base.
8. on change le nom de la base de donnees dans le PFILE et/ou SPFILE
9. on lance le script qu'on a prepare.
10. on verifie le nom de la table
Code :
SQL> SELECT name FROM v$database;
Zoheir BOUSSAFI
Bon courage