По долгу службы пришлось столкнуться во следующими задачами (по сути независимых) по проекту, использующему базу данных Oracle:
1. Создать новый инстанс в нужной кодировке на машине с уже существующим инстансом Oracle
2. Создать базу данных на новом инстансе
3. Восстановить backup в новую базу данных
4. Добавить некоторые таблицы в новую базу данных новый инстанс из базы данных старого инстанса
5. Создать бекап определенных таблиц из нового инстанса в нужной кодировке для передачи заказчикам.
Решения:
1. Новый инстанс удобно создавать с помощью стандартной утилиты DataBase Configuration Assistan, её настройки интуитивно понятны, для выбора кодировки БД будет
Для удобства будем считать, что новый инстанс доступен как smile/newOracle .
2. Для создания БД (в терминологии MS SQL) нужно создать полльзователя, по имени которого создастся схема и наделить его достаточными правами для работы. Считаем, что мы создали пользователя mordor с паролем frodo.
3. Восстановить бекап внужную схему можно из командной строки с помощью команды imp mordor/frodo@smile/newOracle . Вам будет предложено ввести название файла с дампом, если файла с названием по умолчанию не существует, после этого будет так же предложено ввести имя пользователя, которое и отвечает в какую схему именно будет проведено импортирование.
4. Чтобы создать бекап таблиц из старого инстанса используем команду exp hobbit/lord@smile/oldOracle tables=table1, table2 , где hobbit - пользователь на старом инстансе, lord - его пароль, smile/oldOracle - старый инстанс, table1, table2 - названия таблиц, которые нужно экспортировать.
5. Импортирование таблиц старого инстанса в новый инстанс делается командой imp аналогично пункту 3. Чтобы создатьбекап в нужной кодировке, в командной строке выполняем set NLS_LANG = CHARSET, гдеCHARSET - нужная нам кодировка, к примеру AL32UTF8. После чего делаем экспорт аналогично пункту , только указав новый инстанс: exp mordor/frodo@smile/newOracle.