Привет всем.
Столкнулся со следующей проблемой: есть Linux Suse 9, есть под ним работающий Oracle 9.2.0.1, с базой. Базу хотелось перетащить на Windows 2003. Поставил Oracle 9.2.0.1, проапгрейдил до 9.2.0.4, создал инстанс, но столкнулся со следующей проблемой: при попытке монтировать БД (она лежит по другим путям, в пфайле поправил путь до контролфайлов и т.д., но до alter database rename datafile еще не дошло), получил следующую ругань:
ora |
SQL> startup mount pfile="C:\oracle\ora92\network\admin\initMAIN.ora" ORACLE instance started.
Total System Global Area 429375680 bytes Fixed Size 454848 bytes Variable Size 159383552 bytes Database Buffers 268435456 bytes Redo Buffers 1101824 bytes ORA-00205: error in identifying controlfile, check alert log for more info
|
соответственно, в алерт-логе вот что:
алерт |
Thu Jun 01 18:28:40 2006 Starting ORACLE instance (normal) LICENSE_MAX_SESSION = 0 LICENSE_SESSIONS_WARNING = 0 SCN scheme 2 LICENSE_MAX_USERS = 0 SYS auditing is disabled Starting up ORACLE RDBMS Version: 9.2.0.4.0. System parameters with non-default values: resource_limit = FALSE shared_pool_size = 100663296 dbwr_io_slaves = 1 control_files = E:/OraDATA/Control/control1.ora, E:/OraDATA/Control/control2.ora db_block_size = 4096 db_cache_size = 268435456 compatible = 9.2.0.1.0 log_archive_start = TRUE log_archive_dest = e:/OraDATA/Arch/ log_archive_format = MAIN_%S.arc log_buffer = 1025024 log_checkpoint_timeout = 900 db_file_multiblock_read_count= 256 dml_locks = 100 rollback_segments = rbs01, rbs02, rbs03, rbs04, rbs05, rbs_big undo_retention = 12800 O7_DICTIONARY_ACCESSIBILITY= TRUE remote_login_passwordfile= SHARED db_domain = world global_names = TRUE instance_name = ORCL service_names = ORCL max_dump_file_size = 10240 sort_area_size = 1048576 sort_area_retained_size = 1048576 db_name = MAIN open_cursors = 300 parallel_threads_per_cpu = 3 parallel_automatic_tuning= TRUE PMON started with pid=2 DBW0 started with pid=3 LGWR started with pid=4 CKPT started with pid=5 SMON started with pid=6 RECO started with pid=7 Thu Jun 01 18:28:42 2006 ARCH: STARTING ARCH PROCESSES ARC0 started with pid=8 ARC0: Archival started ARC1 started with pid=9 ARC1: Archival started Thu Jun 01 18:28:43 2006 ARCH: STARTING ARCH PROCESSES COMPLETE Thu Jun 01 18:28:43 2006 ARC0: Thread not mounted Thu Jun 01 18:28:43 2006 ALTER DATABASE MOUNT Thu Jun 01 18:28:44 2006 ARC1: Thread not mounted Thu Jun 01 18:28:44 2006
ORA-00202: controlfile: 'E:/OraDATA/Control/control1.ora' ORA-27046: file size is not a multiple of logical block size OSD-04012: file size mismatch (OS 41013248)
Thu Jun 01 18:28:46 2006 ORA-205 signalled during: ALTER DATABASE MOUNT...
|
Что удивительно, контролфайл имеет размеры 41 013 248, что, если поделить на размер блока 4096, вполне оказывается кратным (10013 раз). Таким образом, ругань не совсем понятна.
Подозреваю, что дело может быть либо в различиях 9.2.0.1 и 9.2.0.4 (зря апгрейдил?) либо в невозможности переноса базы "напрямую" с linux на windows-платформу, и, как следствие, необходимостью делать это через export/migration и т.д.
Хотелось бы выслушать мнения насчет справедливости моих догадок.. и, если они верны, кто бы ткнул носом, как делать migration? к сожалению, таким заниматься еще не приходилось (да еще и под linux). Спасибо!