28.04.2008 17:46
Stels
 
ковырятся сегодня не дают, буду завтра/послезавтра
28.04.2008 22:19
vdm
 
Цитата:
reddevil Не верно. Если файл существует то можно и переименовать.
Неа, не дает. По крайней мере для 9i и 'Locally managed temporary tablespaces' (которые делаются по умолчанию)
29.04.2008 06:16
reddevil
 
Цитата:
vdm Неа, не дает. По крайней мере для 9i и 'Locally managed temporary tablespaces' (которые делаются по умолчанию)
Да, извиняюсь, девятку не учел. Спасибо за тычек носом в доку. :)
03.05.2008 23:53
Stels
 
Всем спасибо! Все получилось.
Но были допущены неточности...
Я опишу что в итоге делал

Цитата:
Mike Вообщем делаешь так:
1) останавливаешь сервис базы, копируешь файлы базы в нужное место
2) меняешь в файле init.ora путь к файлам, допустим если только поменялась буква диска то меняешь e:\ на d:\ (файл init.ora лежит в \oracle\имя_базы\admin\pfile\), запускаешь сервис базы.
3) затем запускаешь cmd.exe и пишешь:
set oracle_sid=имя_базы
set nls_lang=american_america.cl8mswin1251
sqlplus /nolog
connect sys/пароль_sys as sysdba
4)startup pfile='d:\oracle\admin\имя_базы\pfile\init.ora';
тут он мне ругнулся что-то ...
5) вместо datafile нужно было file .Т.е. :
переименовываешь файлики как писал Олег:
alter database rename FILE 'старый путь' to 'новый путь';
6) дропаем темпы
ALTER DATABASE TEMPFILE 'tempfilename' DROP;
7) добавляем темп
ALTER TABLESPACE TEMP ADD TEMPFILE 'tempfilename';
8)открываем базу
ALTER DATABASE OPEN;
9)пересоздаем файл инициализации
create spfile from pfile='D:\oracle\admin\имя_базы\pfile\init.ora';
Иначе при следующем старте база не стартует. Как я понял, будет искать все по старым путям.

Ну вот примерно так.
Ещё раз Всем Огромный Спасиб!
24.02.2009 12:45
Atari
 
Цитата:
Stels Всем спасибо! Все получилось.
Но были допущены неточности...
Я опишу что в итоге делал


4)startup pfile='d:\oracle\admin\имя_базы\pfile\init.ora';
тут он мне ругнулся что-то ...
5) вместо datafile нужно было file .Т.е. :
переименовываешь файлики как писал Олег:
alter database rename FILE 'старый путь' to 'новый путь';
6) дропаем темпы
ALTER DATABASE TEMPFILE 'tempfilename' DROP;
7) добавляем темп
ALTER TABLESPACE TEMP ADD TEMPFILE 'tempfilename';
8)открываем базу
ALTER DATABASE OPEN;
9)пересоздаем файл инициализации
create spfile from pfile='D:\oracle\admin\имя_базы\pfile\init.ora';
Иначе при следующем старте база не стартует. Как я понял, будет искать все по старым путям.

Ну вот примерно так.
Ещё раз Всем Огромный Спасиб!
Здравствуйте. Делаю все по инструкции. Оракл 9. Переношу базу с диска С:\ на D:\ . Вылазиет следующее:

C:\Documents and Settings\Администратор>set oracle_sid=ApeksCO

C:\Documents and Settings\Администратор>set nls_lang=american_america.cl8mswin12
51

C:\Documents and Settings\Администратор>sqlplus /nolog

SQL*Plus: Release 9.2.0.7.0 - Production on Tue Feb 24 12:41:32 2009

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

SQL> connect sys/qqq as sysdba
Connected to an idle instance.
SQL> startup pfile='D:\oracle\admin\ApeksCO\pfile\init.ora';
ORACLE instance started.

Total System Global Area 822682768 bytes
Fixed Size 455824 bytes
Variable Size 192937984 bytes
Database Buffers 629145600 bytes
Redo Buffers 143360 bytes
Database mounted.
ORA-01122: database file 1 failed verification check
ORA-01110: data file 1: 'C:\ORACLE\ORADATA\APEKSCO\SYSTEM01.DBF'
ORA-01207: file is more recent than controlfile - old controlfile


Что я делал не так?
24.02.2009 13:08
OlegON
 
Какой-то из файлов *.ctl взял не оттуда.
24.02.2009 14:47
Atari
 
Цитата:
OlegON Какой-то из файлов *.ctl взял не оттуда.
Спасибо, но в чем было дело так и не понял. Просто скопировал второй раз те же файлы и все запустилось.

А что это значит? И нужно ли это делать, если база запустилась?

SQL> startup mount pfile='D:\oracle\admin\ApeksCO\pfile\init.ora';
ORACLE instance started.

Total System Global Area 822682768 bytes
Fixed Size 455824 bytes
Variable Size 192937984 bytes
Database Buffers 629145600 bytes
Redo Buffers 143360 bytes
Database mounted.
SQL> alter database rename file 'C:\oracle\oradata\ApeksCO' to 'D:\oracle\oradata\ApeksCO';
alter database rename file 'C:\oracle\oradata\ApeksCO' to 'D:\oracle\oradata\ApeksCO'
*
ERROR at line 1:
ORA-01511: error in renaming log/data files
ORA-01516: nonexistent log file, datafile, or tempfile
"C:\oracle\oradata\ApeksCO"
24.02.2009 14:50
Mtirt
 
Расширение у файла куда делось?
Да и имя вызывает подозрение...
Цель этого действа (alter database file) показать что старый файл с данными теперь лежит на другом месте. Вот и надо указывать имена перенесенных файлов, а не имя базы.
24.02.2009 14:53
Atari
 
А можно как-нибудь указать список файлов, а не по одному?
24.02.2009 14:57
Mtirt
 
Нельзя.
Можно только создать заранее скрипт, в котором последовательно прописать команды для каждого файла.
Часовой пояс GMT +3, время: 15:46.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.