Преобразование базы данных Oracle 11g с 32 бит на 64 бит
Я переместил базу данных из 32-битной версии Oracle 11g под Linux в 64-битную среду. Тем не менее, у меня возникли проблемы в новой среде (также Linux).
Есть ли способ обновления базы данных до 64 бит
Одна вещь, которую я забыл упомянуть, это то, что база данных была обновлена с более ранней версии, оригинал и обновленная версия были 32-битными.
3 ответа
После некоторых проб и ошибок я обнаружил, что следующие проблемы решают большинство проблем, которые я испытывал
#Shutdown and restart instance in upgrade mode.
Shutdown immediate;
Startup upgrade;
#now invalidate the existing packages
@$ORACLE_HOME/rdbms/admin/utlirp.sql
#As i have already patched the system to DST V10 i needed to do the following
@$ORACLE_HOME/rdbms/admin/utlu111i.sql
#now i started to convert/upgrade the database, i started with the upgrade catalog
# as it resolve a lot of issues i experienced.
@$ORACLE_HOME/rdbms/admin/catupgrd.sql
#Then the more standard catalog procs were applied.
@$ORACLE_HOME/rdbms/admin/catalog.sql
@$ORACLE_HOME/rdbms/admin/catproc.sql
#Finally, get all of the procs recompiled.
@$ORACLE_HOME/rdbms/admin/utlrp.sql
shutdown immediate;
startup;
#then check for any outstanding issues
select * from sys_objects where Status != 'VALID';
Теперь у меня было несколько недопустимых объектов, но они специфичны для приложения и довольно легко решаются.
У меня больше не было проблем с конверсией. Однако, если есть какие-либо упущения или другие проблемы с этим подходом, я буду рад услышать об этом.
Если у вас достаточно дискового пространства, проще всего установить новый 64-битный экземпляр Oracle 11g, экспортировать 32-битные данные, а затем импортировать в 64-битный Oracle. Это также позволит вам немного поработать рядом, чтобы убедиться, что оба экземпляра идентичны и работают как положено.
В основном это должно быть: экспортировать схему, обновить, импортировать схему. Не могли бы вы рассказать о проблемах, которые у вас были?