Рабочая база продолжает работать. На тестовой машине поднял копию БД из холодного бекапа, там и провожу свои эксперименты (от одной только мысли, что завалю рабочую БД жутко).
Операционная система:
lsb_release -a
LSB Version: core-2.0-noarch:core-3.2-noarch:core-4.0-noarch:core-2.0-ia32:core-3.2-ia32:core-4.0-ia32:desktop-4.0-ia32:desktop-4.0-noarch:graphics-2.0-ia32:graphics-2.0-noarch:graphics-3.2-ia32:graphics-3.2-noarch:graphics-4.0-ia32:graphics-4.0-noarch
Distributor ID: SUSE LINUX
Description: SUSE Linux Enterprise Server 11 (i586)
Release: 11
Codename: n/a
Вот такие переменные установлены:
env | grep ORA
ORA_CRS_HOME=/ora/product/10/crs
ORA_ASM_HOME=/ora/product/10/asm
ORACLE_SID=odb
ORA_NLS10=/ora/product/10/nls/data
ORACLE_BASE=/ora
ORACLE_HOME=/ora/product/10
Что делал
1. Изменил переменную ORACLE_HOME на /ora/product/11
2. Проинсталлировал 11 оракл (software only)
3. Сменил ORACLE_HOME на /ora/product/10 и выполнил преапгрейд скрипт из 11 оракла.
Скрипт поругался на недостаточные параметры (shared_pool_size) и устаревшие параметры в initodb.ora, а так же на compatible
Привел все в кошерный вид (скрипт больше не ругается)
4. На 10 оракле
SQL> create pfile from spfile;
5. Копирию pfile
cp /ora/product/10/dbs/pfileodb.ora /ora/product/11/dbs/pfileodb.ora
6. на 10 оракле
SQL>startup upgrade
7. Запускаю DBUA
/ora/product/11/bin/dbua
Траблы
dbua ругается на параметр nls_numeric_characters. Говорит, что не верное значение.
В initodb.ora nls_numeric_characters=". "
После запуска dbua магеческое преобразование: nls_numeric_characters="." (т.е. без пробела)
Я даже так делал:
unset ORACLE_HOME
export ORACLE_HOME=/ora/product/11
unset PATH
export PATH=/ora/product/11/bin
lsnrctl start
sqlplus / as sysdba
SQL>create spfile from pfile;
SQL>create pfile from spfile;
Т.е. сделал pfile непосредственно на 11 оракле. Если посмотреть, то внутри initodb.ora nls_numeric_characters=". "
Запускаем dbua...неверный параметр nls_numeric_characters="."