Avatar billede stig3 Mester
06. september 2006 - 14:34 Der er 8 kommentarer og
1 løsning

create controlfile

Hej

Jeg har lavet trace fil med følgende statement.
alter database backup controlfile to trace;

Den har genereret noget SQL:

CREATE CONTROLFILE REUSE DATABASE "RESTORDB" RESETLOGS  NOARCHIVELOG
    MAXLOGFILES 50
    MAXLOGMEMBERS 5
    MAXDATAFILES 100
    MAXINSTANCES 1
    MAXLOGHISTORY 226
LOGFILE
  GROUP 1 'D:\ORACLE\ORADATA\RESTORDB\REDO01.LOG'  SIZE 100M,
  GROUP 2 'D:\ORACLE\ORADATA\RESTORDB\REDO02.LOG'  SIZE 100M,
  GROUP 3 'D:\ORACLE\ORADATA\RESTORDB\REDO03.LOG'  SIZE 100M

DATAFILE
  'D:\ORACLE\ORADATA\RESTORDB\SYSTEM01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\UNDOTBS01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\CWMLITE01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\DRSYS01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\EXAMPLE01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\INDX01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\ODM01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\TOOLS01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\USERS01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\XDB01.DBF'
CHARACTER SET WE8MSWIN1252
;

Problemet er at når jeg kører denne sql på følgende måde får jeg en fejl:
SQL> @c:\tracefil1


Fejl:
=========================================================
SQL> @c:\tracefil1
SP2-0042: Ukendt kommando "DATAFILE" - resten af linien er ignoreret.
SP2-0734: ukendt kommando starter "'D:\ORACLE..." - resten af linjen ignoreres.
SP2-0734: ukendt kommando starter "'D:\ORACLE..." - resten af linjen ignoreres.
SP2-0734: ukendt kommando starter "'D:\ORACLE..." - resten af linjen ignoreres.
SP2-0044: Angiv HELP for at fσ en oversigt over kommandoer
og EXIT for at afslutte.
SP2-0734: ukendt kommando starter "'D:\ORACLE..." - resten af linjen ignoreres.
SP2-0734: ukendt kommando starter "'D:\ORACLE..." - resten af linjen ignoreres.
SP2-0734: ukendt kommando starter "'D:\ORACLE..." - resten af linjen ignoreres.
SP2-0734: ukendt kommando starter "'D:\ORACLE..." - resten af linjen ignoreres.
SP2-0044: Angiv HELP for at fσ en oversigt over kommandoer
og EXIT for at afslutte.
SP2-0734: ukendt kommando starter "'D:\ORACLE..." - resten af linjen ignoreres.
SP2-0734: ukendt kommando starter "'D:\ORACLE..." - resten af linjen ignoreres.
SP2-0734: ukendt kommando starter "'D:\ORACLE..." - resten af linjen ignoreres.
SP2-0734: ukendt kommando starter "CHARACTER ..." - resten af linjen ignoreres.
SP2-0044: Angiv HELP for at fσ en oversigt over kommandoer
og EXIT for at afslutte.
  1  CREATE CONTROLFILE REUSE DATABASE "RESTORDB" RESETLOGS  NOARCHIVELOG
  2      MAXLOGFILES 50
  3      MAXLOGMEMBERS 5
  4      MAXDATAFILES 100
  5      MAXINSTANCES 1
  6      MAXLOGHISTORY 226
  7  LOGFILE
  8    GROUP 1 'D:\ORACLE\ORADATA\RESTORDB\REDO01.LOG'  SIZE 100M,
  9    GROUP 2 'D:\ORACLE\ORADATA\RESTORDB\REDO02.LOG'  SIZE 100M,
10*  GROUP 3 'D:\ORACLE\ORADATA\RESTORDB\REDO03.LOG'  SIZE 100M
SQL>
============================================================



Hvad gør jeg forkert ?
Jeg skal bruge det til at give databasen et nyt dbid. nid er ikke en mulighed da det er version 8.1.7
Avatar billede pnielsen Nybegynder
06. september 2006 - 14:43 #1
Er det pga. RMAN at du vil ændre din dbid ?

Det tyder på at der er sket en fejl i din tilretning af trace filen.
Hvilken editor har du benyttet ?

alter database backup controlfile to trace; giver dig en masse junk tekst som du også skal fjerne. Evt kan du sende filen direkte til mig, så skal jeg rette den til for dig...
Bruger du svrmgrl til at lave den nye controlfile ?
Avatar billede holdam Nybegynder
06. september 2006 - 15:00 #2
Jeg tror såmænd bare det er den blanke linje mellem "SIZE 100M" og "DATAFILE" der får SQL*Plus til at gå i selvsving. Prøv at fjerne den og så køre igen.
Avatar billede stig3 Mester
06. september 2006 - 15:16 #3
Kanont - næsten

Fejlen var i hvert fald i første omgang mellemrummet.
Nu får jeg en ny fejl.

SQL> @c:\tracefil1
CREATE CONTROLFILE REUSE DATABASE "RESTORDB" RESETLOGS  NOARCHIVELOG
*
FEJL i linie 1:
ORA-01503: CREATE CONTROLFILE fejlede
ORA-01227: log  stemmer ikke overens med andre logge

Ja, det er pga. RMAN dbid skal ændres. Vi har 2 med samme dbid som skal registreres i samme catalog. Jeg har brugt notepad til at redigere, men måske har jeg taget det forkerte.


# 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 "RESTORDB" NORESETLOGS  NOARCHIVELOG
--  SET STANDBY TO MAXIMIZE PERFORMANCE
    MAXLOGFILES 50
    MAXLOGMEMBERS 5
    MAXDATAFILES 100
    MAXINSTANCES 1
    MAXLOGHISTORY 226
LOGFILE
  GROUP 1 'D:\ORACLE\ORADATA\RESTORDB\REDO01.LOG'  SIZE 100M,
  GROUP 2 'D:\ORACLE\ORADATA\RESTORDB\REDO02.LOG'  SIZE 100M,
  GROUP 3 'D:\ORACLE\ORADATA\RESTORDB\REDO03.LOG'  SIZE 100M
-- STANDBY LOGFILE

DATAFILE
  'D:\ORACLE\ORADATA\RESTORDB\SYSTEM01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\UNDOTBS01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\CWMLITE01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\DRSYS01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\EXAMPLE01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\INDX01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\ODM01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\TOOLS01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\USERS01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\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 'D:\ORACLE\ORADATA\RESTORDB\TEMP01.DBF' REUSE;
# 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 REUSE DATABASE "RESTORDB" RESETLOGS  NOARCHIVELOG
--  SET STANDBY TO MAXIMIZE PERFORMANCE
    MAXLOGFILES 50
    MAXLOGMEMBERS 5
    MAXDATAFILES 100
    MAXINSTANCES 1
    MAXLOGHISTORY 226
LOGFILE
  GROUP 1 'D:\ORACLE\ORADATA\RESTORDB\REDO01.LOG'  SIZE 100M,
  GROUP 2 'D:\ORACLE\ORADATA\RESTORDB\REDO02.LOG'  SIZE 100M,
  GROUP 3 'D:\ORACLE\ORADATA\RESTORDB\REDO03.LOG'  SIZE 100M
-- STANDBY LOGFILE

DATAFILE
  'D:\ORACLE\ORADATA\RESTORDB\SYSTEM01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\UNDOTBS01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\CWMLITE01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\DRSYS01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\EXAMPLE01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\INDX01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\ODM01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\TOOLS01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\USERS01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\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 USING BACKUP CONTROLFILE

# Database can now be opened zeroing the online logs.
ALTER DATABASE OPEN RESETLOGS;

# Commands to add tempfiles to temporary tablespaces.
# Online tempfiles have complete space information.
# Other tempfiles may require adjustment.
ALTER TABLESPACE TEMP ADD TEMPFILE 'D:\ORACLE\ORADATA\RESTORDB\TEMP01.DBF' REUSE;
# End of tempfile additions.
#
Avatar billede stig3 Mester
06. september 2006 - 15:30 #4
Tror jeg fandt ud af det. Jeg ændrede første linie til:
CREATE CONTROLFILE SET DATABASE "RESTORDB" RESETLOGS  NOARCHIVELOG

SET i stedet for REUSE

Nu er controlfilerne i hvert fald lavet. Så må jeg se om den har fået et nyt DBID
Avatar billede pnielsen Nybegynder
06. september 2006 - 15:32 #5
Det ser meget fint ud faktisk...

Et par enkelte ting - hedder databasen RESTORDB og har den været startet?
Ellers skal du lige sætte en "SET" ind i:
CREATE CONTROLFILE REUSE SET DATABASE "RESTORDB" RESETLOGS  NOARCHIVELOG...

Ellers ser det ud til den brokker sig over dine redolog files.
Hvad størrelse har de nu? ligger de der overhovedet?
Eksistere de alle 3?


STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "RESTORDB" RESETLOGS  NOARCHIVELOG
    MAXLOGFILES 50
    MAXLOGMEMBERS 5
    MAXDATAFILES 100
    MAXINSTANCES 1
    MAXLOGHISTORY 226
LOGFILE
  GROUP 1 'D:\ORACLE\ORADATA\RESTORDB\REDO01.LOG'  SIZE 100M,
  GROUP 2 'D:\ORACLE\ORADATA\RESTORDB\REDO02.LOG'  SIZE 100M,
  GROUP 3 'D:\ORACLE\ORADATA\RESTORDB\REDO03.LOG'  SIZE 100M
DATAFILE
  'D:\ORACLE\ORADATA\RESTORDB\SYSTEM01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\UNDOTBS01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\CWMLITE01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\DRSYS01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\EXAMPLE01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\INDX01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\ODM01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\TOOLS01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\USERS01.DBF',
  'D:\ORACLE\ORADATA\RESTORDB\XDB01.DBF'
CHARACTER SET WE8MSWIN1252
;
Avatar billede pnielsen Nybegynder
06. september 2006 - 15:34 #6
nå ok :-) Så først dit svar nu...

Ja DBID kan godt drille lidt - men for det meste går det godt hvis du bruger dublicate via RMAN. Så slipper du for besværet..

Good luck.
Avatar billede stig3 Mester
06. september 2006 - 15:40 #7
Det lykkedes faktisk at få ændret DBID - I hvert fald i test
Nu må vi se i morgen om det går lige så godt i produktion :-)

holdam>>
Smid lige et svar. Det var vist dit forslag der løste det.
Avatar billede holdam Nybegynder
06. september 2006 - 15:45 #8
Her er et svar
Avatar billede stig3 Mester
06. september 2006 - 15:51 #9
Tak for indsatsen til begge 2.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester