Цитата: Andrew_Konev ➤ ну дак если проще - опиши и выложи в ту же ветку.
еще кому-нить пригодится.
у меня было так
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.
C:\>set nls_lang=american_america.cl8mswin1251
C:\>svrmgrl
Oracle Server Manager Release 3.1.6.0.0 - Production
Copyright (c) 1997, 1999, Oracle Corporation. All Rights Reserved.
Oracle8i Enterprise Edition Release 8.1.6.3.0 - Production
JServer Release 8.1.6.3.0 - Production
SVRMGR> connect internal/ORACLE@DBREN
ORA-12154: TNS:could not resolve service name
SVRMGR> connect internal/ORACLE@DBREN
Connected.
SVRMGR> ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
Statement processed.
SVRMGR> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SVRMGR>
-----------------------------------------------------------------
Останавливаем сервис *DBREN
-----------------------------------------------------------------
В initdbren.ora меняем все dbren на dbren2
Переименовываем все каталоги dbren на dbren2 (где pfile и где сами
файлы базы данных)
В C:\ORACLE\admin\dbren2\udump\ берем созданный .trc
Пример того, что идет в начале этого файла:
--------------------------------
Dump file C:\ORACLE\admin\dbren\udump\ORA01580.TRC
Mon Jul 29 13:39:22 2002
ORACLE V8.1.6.3.0 - Production vsnsta=0
vsnsql=e vsnxtr=3
Windows 2000 Version 5.0 Service Pack 2, CPU type 586
Oracle8i Enterprise Edition Release 8.1.6.3.0 - Production
JServer Release 8.1.6.3.0 - Production
Windows 2000 Version 5.0 Service Pack 2, CPU type 586
Instance name: dbren
--------------------------------
и стираем все до
startup nomount
Меняем все dbren в этом файле на dbren2
Меняем строку Startup nomount на
STARTUP NOMOUNT PFILE=%ORACLE_HOME%\DATABASE\INITdbren2.ORA
Меняем Reuse DataBase на Set Database
(пробуем менять опцию ResetLogs на NoResetLogs)
Убираем строку RECOVER DATABASE
Сохраняем файлик и меняем его имя на CHNAME.SQL
В итоге должно получиться что-то вроде такого :
--------------------------------
STARTUP NOMOUNT PFILE=C:\ORACLE\admin\dbren2\pfile\initdbren.ora
CREATE CONTROLFILE SET DATABASE "dbren2" RESETLOGS NOARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXDATAFILES 254
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 'C:\ORACLE\ORADATA\dbren2\REDO01.LOG' SIZE 1M,
GROUP 2 'C:\ORACLE\ORADATA\dbren2\REDO02.LOG' SIZE 1M,
GROUP 3 'C:\ORACLE\ORADATA\dbren2\REDO03.LOG' SIZE 1M
DATAFILE
'C:\ORACLE\ORADATA\dbren2\SYSTEM01.DBF',
'C:\ORACLE\ORADATA\dbren2\RBS01.DBF',
'C:\ORACLE\ORADATA\dbren2\USERS01.DBF',
'C:\ORACLE\ORADATA\dbren2\TEMP01.DBF',
'C:\ORACLE\ORADATA\dbren2\TOOLS01.DBF',
'C:\ORACLE\ORADATA\dbren2\INDX01.DBF'
CHARACTER SET CL8MSWIN1251
;
# Recovery is required if any of the datafiles are restored backups,
# or if the last shutdown was not normal or immediate.
# Database can now be opened normally.
ALTER DATABASE OPEN;
# No tempfile entries found to add.
#
--------------------------------
Удаляем
CONTROL01.CTL
CONTROL02.CTL
CONTROL03.CTL
из ORADATA\DBREN2
и запускаем @chname.sql из srvmgrl
Вот, как у меня это было (с самого начала
-----> мои комментарии к предыдущей строке):
-----------------------------------------------------------------
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.
C:\>set nls_lang=american_america.cl8mswin1251
C:\>svrmgrl
Oracle Server Manager Release 3.1.6.0.0 - Production
Copyright (c) 1997, 1999, Oracle Corporation. All Rights Reserved.
Oracle8i Enterprise Edition Release 8.1.6.3.0 - Production
JServer Release 8.1.6.3.0 - Production
SVRMGR> connect internal/ORACLE@DBREN
ORA-12154: TNS:could not resolve service name
--------> Не был запущен сервис
SVRMGR> connect internal/ORACLE@DBREN
Connected.
SVRMGR> ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
Statement processed.
SVRMGR> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SVRMGR> connect internal/oracle@dbren2
ORA-12154: TNS:could not resolve service name
--------> Не были прописаны в tnsnames.ora
SVRMGR> connect internal/oracle@dbren2
Connected.
SVRMGR> @c:\chname.sql
ORA-01081: cannot start already-running ORACLE - shut it down first
CREATE CONTROLFILE SET DATABASE "dbren2" RESETLOGS NOARCHIVELOG
*
ORA-01503: CREATE CONTROLFILE failed
ORA-00200: controlfile could not be created
ORA-00202: controlfile: 'C:\ORACLE\oradata\dbren2\control01.ctl'
ORA-27038: skgfrcre: file exists
OSD-04010: zpwp}p ~3x <8~wtp>, p :py{ vu 8u8ru
ALTER DATABASE OPEN
*
ORA-01507: database not mounted
--------> Не были удалены control*.ctl
SVRMGR> shutdown immediate;
ORA-01507: database not mounted
ORACLE instance shut down.
SVRMGR> @c:\chname.sql
ORACLE instance started.
Total System Global Area 155001780 bytes
Fixed Size 70580 bytes
Variable Size 43057152 bytes
Database Buffers 111796224 bytes
Redo Buffers 77824 bytes
CREATE CONTROLFILE SET DATABASE "dbren2" RESETLOGS NOARCHIVELOG
*
ORA-01503: CREATE CONTROLFILE failed
ORA-00200: controlfile could not be created
ORA-00202: controlfile: 'C:\ORACLE\oradata\dbren2\control01.ctl'
ORA-27038: skgfrcre: file exists
OSD-04010: zpwp}p ~3x <8~wtp>, p :py{ vu 8u8ru
ALTER DATABASE OPEN
*
ORA-01507: database not mounted
SVRMGR> @c:\chname.sql
ORA-01081: cannot start already-running ORACLE - shut it down first
Statement processed.
ALTER DATABASE OPEN
*
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
-----------------------------------------------------------------
После этого можно спокойно коннектиться на вновь созданную базу.