Решение для разделения R/W в Oracle с Data Guard
Наша компания использует базу данных Oracle11g и Data Guard. Наш администратор базы данных сказал нам, что вторичная база данных (резервная копия Data Guard) доступна только для чтения.
Проблема в том, что у нас есть некоторые отчеты, которые требуют записи данных во временную таблицу, поэтому наш администратор БД сказал нам, что мы не можем разрешить запуск отчетов на вторичной базе данных, поскольку вторичная база данных доступна только для чтения. Но мы не хотим, чтобы отчеты запускались в первичной базе данных, потому что у нас есть некоторые онлайн-транзакции. Отчеты будут влиять на нашу производительность OLTP.
Мы просто хотим разделить R/W на базе данных Oracle, есть ли решения?
2 ответа
Ваш администратор базы данных правильный, с Active Data Guard резервная база данных может использоваться только для доступа только для чтения.
Есть решения для активно-активной высокой доступности. Одним из них является Золотые Ворота, информация здесь.
Вы можете переключать соединения БД на стороне клиента. В зависимости от технологии, которую вы используете, существует много способов сделать это, но, по крайней мере, есть простой способ, с помощью которого вы можете подключиться к ведущему и подчиненному устройствам с помощью своего кода.
dblinks. Создайте dblinks в подчиненной БД, после чего вы сможете получить доступ к главной БД в подчиненной БД. Таким образом, ваш код подключается к подчиненной БД для чтения и записывает в основную БД, если вы используете dblinks, например: вставьте ... в [email protected]