GNU/Linux >> Linux Esercitazione >  >> Linux

Posso cambiare il SID di un database Oracle?

Devi ricreare il file di controllo

Questo post di Kaunain Ahmed descrive i passaggi necessari:

  1. fai:modifica il file di controllo del backup del database da tracciare;
  2. estrarre il comando "crea file di controllo" dal file di traccia di destinazione del dump in background.
  3. chiudere il DB.
  4. Cambia il DB-Name nel tuo init.ora e cambia init.ora
  5. Cambia il SID in /etc/oratab o /var/opt/oracle/oratab
  6. Cambiare il SID nel proprio ambiente e procurarselo
  7. Avvia il database su mount-statusstartup
  8. Ricrea il file di controllo con l'istruzione dalla posizione 2.
  9. Alter database rinomina global_name in 10. Modifica la configurazione TNS di conseguenza $ORACLE_HOME/network/admin/*.ora Cerca SID e GLOBAL_NAME

Ci sono altri strumenti a cui si fa riferimento nel thread.

Ecco un post di AskTom che fa riferimento al processo in modo più dettagliato. Sebbene sia per 10 g, dovrebbe comunque funzionare.


Dal momento che l'utility 9i dbnewid (nid) può essere utilizzata per modificare il nome del database (e DBID se richiesto). Se viene modificato solo il nome del database, non è necessario resetlogs:

  • 1 database di avvio in modalità montaggio

    shutdown immediate
    startup mount
    
  • 2 eseguire nid per modificare il nome del database:

    nid target=sys/[email protected] dbname=newname setname=YES
    
  • 3 arrestare e avviare il database in modalità di montaggio:

    shutdown immediate
    startup mount
    
  • 4 cambia db_name in spfile (o in pfile modificando il file):

    alter system set db_name=newname scope=spfile;
    
  • 5 ricrea il file della password:

    orapwd file=orapwnewname password=syspassword
    
  • 6 avviare il database

    startup
    
  • 7 passaggi per rinominare i post:

    change SID in listener.ora
    correct tnsnames.ora
    remove old trace directories
    change /etc/oratab (UNIX) or rename windows service using oradim
    

Sì, puoi ed è anche abbastanza facile.

In Oracle, ORACLE_SID è solo il nome dell'istanza Oracle e non ha molto a che fare con DBNAME. Un database con il nome PROD può essere servito utilizzando istanze con qualsiasi nome valido. Non esiste una connessione diretta tra il SID e il DBNAME. Questa connessione viene effettuata utilizzando i parametri.

Il file dei parametri è identificato come init${ORACLE_SID}.ora o spfile${ORACLE_SID}.ora Nel file dei parametri è presente il parametro db_name. Qui è dove viene effettuata la connessione tra l'istanza Oracle e il database.

Quindi, non è necessario ricreare un file di controllo, non è necessario utilizzare nid, assicurati solo che il tuo file di parametri abbia il nome corretto, abbatti la vecchia istanza Oracle e avvia la nuova istanza Oracle dopo aver impostato ORACLE_SID al nuovo nome dell'istanza Oracle. Il file dei parametri e il file delle password vengono entrambi trovati utilizzando ${ORACLE_SID} come parte del loro nome.

La ricreazione del file di controllo è necessaria solo quando il DBNAME deve essere modificato. Il nid è necessario dopo un'operazione di clonazione in cui è necessario modificare il DBID per evitare incidenti che potrebbero danneggiare i backup del database di origine.


Linux
  1. Modifica le autorizzazioni di un file

  2. Come cambiare il nome host su Ubuntu

  3. GDB può modificare il codice assembly di un programma in esecuzione?

  4. Come posso modificare l'ora prima che il sistema si blocchi?

  5. Come posso modificare gli indirizzi IP e gateway in modo permanente?

Come modificare il nome del sito Web in WordPress

Come posso modificare una password del database su cPanel?

Posso cambiare il dominio principale dell'account di hosting?

Modifica la password del cPanel

Posso cambiare il nome di un'esportazione NFS

Puoi cambiare la versione dei metadati su un array esistente?