Результаты поиска
Существует ли система контроля версий для изменения структуры базы данных?
Я часто сталкиваюсь со следующей проблемой.
Я работаю над некоторыми изменениями в проекте, которые требуют новых таблиц или столбцов в базе данных. Я делаю изменения в базе данных и продолжаю свою работу. Обычно я не забываю записать изменения, чтобы они могли быть воспроизведены в живой системе. Однако я не всегда помню, что я изменил, и не всегда помню, чтобы записать это.
Итак, я делаю толчок к живой системе и получаю большую, очевидную ошибку , что нет NewColumnX, тьфу.
Независимо от того, что это может быть не лучшим решением для данной ситуации, существует ли система контроля версий для баз данных? Меня не волнует конкретная технология баз данных. Я просто хочу знать, существует ли он. Если это случится работать с сервером MS SQL, то отлично.
cx_Oracle: Как выполнить итерацию по результирующему набору?
Существует несколько способов перебора результирующего набора. Каков компромисс каждого из них?
Что мне нужно избежать при отправке запроса?
При выполнении запроса SQL необходимо очистить строки, иначе пользователи могут выполнить вредоносный запрос SQL на вашем веб-сайте.
У меня обычно просто есть функция escape_string(бла), которая:
- Заменяет escapes (
\) на двойные escapes (\\). - Заменяет одинарные кавычки (
') на экранированные одинарные кавычки (\').
Достаточно ли этого? Есть ли дыра в моем коде? Есть ли библиотека, которая может сделать это быстро и надежно для меня?
Я хотел бы видеть изящные решения в Perl, Java и PHP.
Насколько велика будет такая база данных?
Я пытаюсь выяснить, насколько большой будет определенная база данных (она еще не создана). Я знаю, сколько строк и какие таблицы будут. Есть ли функция в Oracle, которая скажет мне размер такой теоретической базы данных? Есть ли известная математическая формула, которую я могу использовать? Я знаю, что есть функция для определения размера существующей базы данных, но я хочу знать, насколько она будет большой, прежде чем я ее создам.
Насколько велика будет такая база данных?
Я пытаюсь выяснить, насколько большой будет определенная база данных (она еще не создана). Я знаю, сколько строк и какие таблицы будут. Есть ли функция в Oracle, которая скажет мне размер такой теоретической базы данных? Есть ли известная математическая формула, которую я могу использовать? Я знаю, что есть функция для определения размера существующей базы данных, но я хочу знать, насколько она будет большой, прежде чем я ее создам.
Списки контроля доступа и объекты контроля доступа, хороший учебник?
мы разрабатываем веб-приложение, чтобы охватить все аспекты деятельности полиграфической компании: от финансов до расчета заработной платы и калькуляции стоимости работ. Важно иметь возможность контролировать, кто может получить доступ к каким частям этих приложений. Не хочу, чтобы линейный сотрудник давал себе повышение и т. д...
Я слышал о концепции ACL & ACO, но не нашел хорошего примера, который мы могли бы адаптировать к нашему проекту.
Кто-нибудь знает, где я могу найти хорошую информацию для работы?
Индекс Базы Данных Без Учета Регистра?
У меня есть запрос, в котором я ищу по строке:
SELECT county FROM city WHERE UPPER(name) = 'SAN FRANCISCO';
Теперь это работает нормально, но масштабируется не очень хорошо, и мне нужно его оптимизировать. Я нашел вариант создания сгенерированного представления или что-то в этом роде, но я надеялся на более простое решение с использованием индекса.
Мы используем DB2 , и я действительно хочу использовать выражение в индексе, но эта опция, кажется, доступна только на z/OS,, однако мы запускаем Linux. Я все равно попробовал индекс выражения:
CREATE INDEX city_upper_name_idx
ON city UPPER(name) ALLOW REVERSE SCANS;
Но, конечно, он давится на UPPER(имя).
Есть ли другой способ создать индекс или что-то подобное таким образом, чтобы мне не нужно было перестраивать существующие запросы для использования нового сгенерированного представления, изменять существующие столбцы или любые другие подобные навязчивые изменения?
EDIT: я готов выслушать решения для других баз данных... он может перейти на DB2...
Oracle SQL разработчик не реагирует при попытке просмотра таблиц (или предложить Oracle Mac-клиент)
Я просто получаю пляжный мяч весь день (он уже несколько часов ничего не делает). Он не берет CPU, не читает с диска, не использует сеть.
Я использую Java 1.6 на Mac OS X 10.5.4 . Когда-то это работало, теперь даже перезагрузка компьютера не поможет. Монитор активности говорит, что это "(не отвечает)". Единственное, что я могу сделать, это убить этого сосунка.
Когда я пробую процесс я вижу это:
mach_msg_trap 16620
read 831
semaphore_wait_trap 831
Приемлемый ответ, который не исправит это, включал бы url для приличного бесплатного клиента Oracle для Mac.
Редактировать: @Mark Харрисон к сожалению, это происходит каждый раз, когда я запускаю его, это не старая связь. Я хотел бы избежать запуска Windows на моем ноутбуке. Я даю некоторые плагины для моего IDE вихря, но все еще нет решения для меня. @Matthew Schinckel Navicat, похоже, имеет только некоммерческий Oracle product...I нужен коммерческий дружественный (даже если это стоит денег).
Как заставить Pro*C справиться с #warning директивами?
Когда я пытаюсь предварительной компиляции *.файл pc, содержащий директиву #warning, я получаю следующую ошибку:
PCC-S-02014, столкнулся с символом "warning", когда ожидал одного из следующих действий: (бла-бла-бла).
Могу ли я каким-то образом убедить Pro*C игнорировать эту вещь, если она не знает, что с ней делать? Я не могу удалить директиву #warning , поскольку она используется в заголовочном файле, который я не могу изменить и должен включить.
Как выбрать N-ю строку в таблице базы данных SQL?
Мне интересно изучить некоторые (в идеале) агностические способы выбора n-й строки из таблицы базы данных. Было бы также интересно посмотреть, как это может быть достигнуто с помощью собственных функциональных возможностей следующих баз данных:
- SQL сервер
- MySQL
- PostgreSQL
- SQLite
- Oracle
В настоящее время я делаю что-то вроде следующего в SQL Server 2005, но мне было бы интересно увидеть другие более агностические подходы:
WITH Ordered AS (
SELECT ROW_NUMBER() OVER (ORDER BY OrderID) AS RowNumber, OrderID, OrderDate
FROM Orders)
SELECT *
FROM Ordered
WHERE RowNumber = 1000000
Кредит за вышеизложенное SQL: веб- блог Фироза Ансари
Update: смотрите ответ Troels Arvin относительно стандарта SQL. Троэльс, у тебя есть какие-нибудь ссылки, которые мы можем привести?
SQL / инструменты запроса?
Я действительно не делал тонну работы с базами данных в течение нескольких лет и стал непривычен к имеющимся инструментам. Несколько лет назад я работал с базами данных oracle и использовал в основном TOAD с небольшим количеством MS Access в качестве моих инструментов выбора для прототипирования запросов, которые я использовал в своих приложениях. Мне очень понравился TOAD в том, что он был супер интуитивно понятным и очень простым в использовании, и я надеюсь найти что-то подобное для MS SQL Server. Что-то с открытым исходным кодом или бесплатно предпочтительнее, так как я сомневаюсь, что мой клиент захочет платить за что-либо, но я готов услышать предложения о том, что стоит денег, если они далеко и далеко лучший в своем классе инструмент, доступный.
ярлык для создания карты из списка в groovy?
Я бы хотел немного сортанд для этого:
Map rowToMap(row) {
def rowMap = [:];
row.columns.each{ rowMap[it.name] = it.val }
return rowMap;
}
учитывая то, как обстоят дела с GDK, я бы ожидал, что смогу сделать что - то вроде:
Map rowToMap(row) {
row.columns.collectMap{ [it.name,it.val] }
}
но я ничего не видел в документах... я что-то упустил? или я просто слишком ленив?
Действительно ли внешние ключи необходимы при проектировании базы данных?
Насколько мне известно, внешние ключи (FK) используются для того, чтобы помочь программисту правильно манипулировать данными. Предположим, что программист уже делает это правильно, тогда действительно ли нам нужна концепция внешних ключей?
Существуют ли другие способы использования внешних ключей? Может быть, я что-то упустил?
В чем разница между маской даты oracle 'yy' и 'rr'?
Пример:
select ename from emp where hiredate = todate('01/05/81','dd/mm/yy')
и
select ename from emp where hiredate = todate('01/05/81','dd/mm/rr')
возвращать разные результаты
SQL / инструменты запроса?
Я действительно не делал тонну работы с базами данных в течение нескольких лет и стал непривычен к имеющимся инструментам. Несколько лет назад я работал с базами данных oracle и использовал в основном TOAD с небольшим количеством MS Access в качестве моих инструментов выбора для прототипирования запросов, которые я использовал в своих приложениях. Мне очень понравился TOAD в том, что он был супер интуитивно понятным и очень простым в использовании, и я надеюсь найти что-то подобное для MS SQL Server. Что-то с открытым исходным кодом или бесплатно предпочтительнее, так как я сомневаюсь, что мой клиент захочет платить за что-либо, но я готов услышать предложения о том, что стоит денег, если они далеко и далеко лучший в своем классе инструмент, доступный.
Лучший способ инкапсулировать сложную логику курсора Oracle PL/SQL в виде представления?
Я написал код PL/SQL для денормализации таблицы в форму much-easer-to-query. Код использует временную таблицу для выполнения некоторой части своей работы, объединяя некоторые строки из исходной таблицы вместе.
Логика записывается как конвейерная табличная функция, следуя шаблону из связанной статьи. Табличная функция использует объявление PRAGMA AUTONOMOUS_TRANSACTION для разрешения временного манипулирования таблицей, а также принимает входной параметр курсора, чтобы ограничить денормализацию определенными значениями ID.
Затем я создал представление для запроса табличной функции, передавая все возможные значения ID в качестве курсора (другие варианты использования функции будут более ограничительными).
Мой вопрос: действительно ли все это необходимо? Неужели я совершенно упустил из виду гораздо более простой способ сделать то же самое?
Каждый раз, когда я касаюсь PL / SQL, у меня создается впечатление, что я печатаю слишком много.
Обновление: я добавлю эскиз таблицы, с которой имею дело, чтобы дать всем представление о денормализации, о которой я говорю. В таблице хранится история заданий сотрудников, каждое из которых содержит строку активации и (возможно) строку завершения. У сотрудника может быть несколько одновременных заданий, а также одна и та же работа снова и снова в несмежных диапазонах дат. Например:
| EMP_ID | JOB_ID | STATUS | EFF_DATE | other columns...
| 1 | 10 | A | 10-JAN-2008 |
| 2 | 11 | A | 13-JAN-2008 |
| 1 | 12 | A | 20-JAN-2008 |
| 2 | 11 | T | 01-FEB-2008 |
| 1 | 10 | T | 02-FEB-2008 |
| 2 | 11 | A | 20-FEB-2008 |
Запрос на то, чтобы выяснить, кто работает, когда в какой работе, является нетривиальным. Итак, моя функция денормализации заполняет временную таблицу только диапазонами дат для каждого задания, для любого EMP_ID s, переданного через курсор. Прохождение через EMP_ID с 1 и 2 приведет к следующим результатам:
| EMP_ID | JOB_ID | START_DATE | END_DATE |
| 1 | 10 | 10-JAN-2008 | 02-FEB-2008 |
| 2 | 11 | 13-JAN-2008 | 01-FEB-2008 |
| 1 | 12 | 20-JAN-2008 | |
| 2 | 11 | 20-FEB-2008 | |
( END_DATE позволяет NULL s для заданий,которые не имеют заранее определенной даты окончания.)
Как вы можете себе представить, эта денормализованная форма намного проще для запроса, но для ее создания-насколько я могу судить-требуется временная таблица для хранения промежуточных результатов (например, записей заданий, для которых была найдена строка активации, но не termination...yet). Использование конвейерной табличной функции для заполнения временной таблицы и последующего возврата ее строк-это единственный способ, который я понял, как это сделать.
Автоматизируйте Синхронизацию Oracle Таблиц С MySQL Таблицами
Университет, в котором я работаю, использует Oracle для системы баз данных. В настоящее время у нас есть программы, которые мы запускаем ночью, чтобы загрузить то, что нам нужно, в некоторые локальные таблицы доступа для наших потребностей тестирования. Доступ становится маленьким для этого сейчас, и нам нужно что-то большее. Кроме того, ночные задания требуют постоянного обслуживания, чтобы продолжать работать (из-за проблем с сетью, изменений таблиц, плохого кода:)), и я хотел бы устранить их, чтобы освободить нас для более важных вещей.
Я больше всего знаком с MySQL, поэтому я настраиваю тестовый сервер MySQL. Как лучше всего автоматизировать копирование необходимых таблиц из Oracle в MySQL?
Редактировать: я принял ответ. Мне не нравится ответ, но он кажется правильным на основе дальнейших исследований и отсутствия других ответов. Спасибо всем, кто обдумал мой вопрос и ответил на него.
Какие стратегии вы использовали для повышения производительности веб-приложений?
- Есть ли у вас личный опыт преодоления препятствий в работе веб-приложений?
- Какие-либо рекомендуемые стратегии повышения производительности управляемого данными веб-приложения?
Моя команда разработчиков работает над веб-приложением (JSP reports, HTML, JavaScript), которое использует базу данных Oracle (PL/SQL). ключевая функциональность приложения заключается в создании отчетов, где пользователь может получить PDFs отчетов на высоком уровне и детализировать их до более низких уровней вспомогательных сведений.
Поскольку число вспомогательных подробных записей выросло до миллионов, производительность системы значительно снизилась. Основываясь на нашем текущем анализе метрик, узкое место, по-видимому, находится в логике, поражающей производительность DB и DB. В настоящее время изучается изменение модели DB и повторное выполнение некоторых логических операций на стороне сервера.
Разбиение на разделы, индексация, объяснение планов и запуск статистики-это вещи, которые были сделаны на стороне DB, чтобы попытаться помочь улучшить производительность. Хотя они и помогли, они не решили проблему удовлетворительно. Самая сложная часть анализа данных о производительности заключается в том, что база данных и веб-серверы удаленно управляются другой частью организации IT, поэтому разработчики не имеют регулярного, полного доступа, чтобы увидеть, что происходит (особенно в производственной среде, которая не зеркально отражена точно в любой другой среде разработки/тестирования).
Ресурсы для новичка Oracle
Может ли кто-нибудь порекомендовать некоторые хорошие ресурсы, которые подчеркивают различия между базой данных Oracle и AS/400?
Я пытаюсь помочь кому-то с большим опытом AS/400 реализовать установку Oracle, и им нужно некоторое руководство.
Книга или интернет-ресурс были бы идеальны.
Разработка на локальном экземпляре Oracle
Я хочу, чтобы наша команда работала с локальными экземплярами базы данных Oracle. С MS SQL я могу использовать SQL Express Edition. Какие у меня есть варианты?
MS SQL Server 2008 "linked server" to Oracle: схема не отображается
У меня есть сервер Windows 2008 (x64) под управлением Microsoft SQL 2008 (x64), и я создаю соединение связанного сервера с сервером Oracle. Я могу установить соединение, но не вижу никакой информации о том, к какой схеме принадлежит таблица.
В SQL 2005 мои связанные серверы показывают информацию о схеме, как я и ожидал.
Кто-нибудь знает, как решить эту проблему? Это проблема с поставщиком, OraOLEDB.Oracle?
Любая помощь или указания будут оценены по достоинству.
Oracle запись в файл
Я запускаю oracle и у меня есть запрос, который извлекает некоторые результаты из базы данных. Я хотел бы записать результаты в виде текстового файла. Как бы я это сделал?
Мой предпочтительный способ - использовать UTL_FILE. Может быть, у кого-то есть пример того, как это сделать?
Когда вы используете табличные кластеры?
Как определить, когда следует использовать табличные кластеры ? Существует два типа, index и hash, которые можно использовать для разных случаев. По вашему опыту, окупилось ли внедрение и использование табличных кластеров?
Если ни одна из ваших таблиц не настроена таким образом, изменение их для использования табличных кластеров увеличит сложность настройки. Но перевесят ли ожидаемые эксплуатационные преимущества затраты на повышение сложности будущих работ по техническому обслуживанию?
Есть ли у вас любимые онлайн-ссылки или книги, которые хорошо описывают кластеризацию таблиц и дают хорошие примеры реализации?
//Oracle советы очень ценятся.
SQLServer Получает Результаты, Где Значение Равно Null
У меня есть база данных сервера SQL, которую я запрашиваю, и я только хочу получить информацию, когда определенная строка равна null. Я использовал оператор where, такой как:
WHERE database.foobar = NULL
и он ничего не возвращает. Однако я знаю, что есть по крайней мере один результат, потому что я создал экземпляр в базе данных, где 'foobar' равно null. Если я вынимаю оператор where, он показывает данные, поэтому я знаю, что это не rest запроса.
Кто-нибудь может мне помочь?
Как мне работать с котировками ' в SQL
У меня есть база данных с именами в ней, такими как Джон Доу и т. д. К сожалению, некоторые из этих имен содержат цитаты, такие как Кейран О'Киф. Теперь когда я пытаюсь и ищу такие имена следующим образом:
SELECT * FROM PEOPLE WHERE SURNAME='O'Keefe'
Я (понятно) получаю ошибку.
Как я могу предотвратить возникновение этой ошибки? Я использую Oracle и PLSQL.
Как управлять обновлением схемы в рабочей базе данных?
Это, кажется, забытая область,которая действительно может использовать некоторое понимание. Каковы ваши лучшие практики для:
- выполнение процедуры обновления
- резервное копирование в случае ошибок
- синхронизация изменений кода и базы данных
- тестирование до deployment
- механика изменения таблицы
и т.д...
Хорошие книги по Oracle (DBA, PL/SQL) судя по вашему опыту?
Интересует список литературы по которым учились Ораклисты. На данный момент есть огромное количество как бумажной, так и электронной литературы и из этой массы очень тяжело выбрать действительно хороший материал. Посоветуйте хорошие по вашему мнению и опыту книги по DBA (Ora 10g) и PL/SQL
Ещё советуют посмотреть видеокурсы по Oracle от Пушкашу и Мирончика.
Asus Eee PC 1001 PX выдержит ли Oracle9i (10g) ?
Хотел бы спросить у знатоков. Asus Eee PC 1001 PX выдержит ли Oracle9i (10g)? Ситуация в том, что всегда под рукой необходима база данных и для этих целей я задумываюсь прикупить нетбук. Не будет ли глючить/тормозить данная СУБД на этом нетбуке
З.Ы. Уцепился за 1001PX так как устраивает цена.
Asus Eee PC 1001 PX выдержит ли Oracle9i (10g) ?
Хотел бы спросить у знатоков. Asus Eee PC 1001 PX выдержит ли Oracle9i (10g)? Ситуация в том, что всегда под рукой необходима база данных и для этих целей я задумываюсь прикупить нетбук. Не будет ли глючить/тормозить данная СУБД на этом нетбуке
З.Ы. Уцепился за 1001PX так как устраивает цена.
а kenai.com вообще уже всё или можно надеяться, что оживёт?
собственно вчера пытался там зарегистрироваться, но так и не получилось :(
з.ы. а какие ещё есть подобные сервисы и чтобы полностью поддерживались NetBeans'ом, как kenai.com?
343   1   11:21, 23rd August, 2020
Fail Over кластер на Windows Server 2008r2 и Oracle Fail Safe Manager
Встала задача установки проекта на Fail Safe кластер на следующем инструментарии: Windows Server 2008 (уже настроен Fail Over кластер из двух узлов) и Oracle 11g2 Standard Edition One.
Насколько понимаю, Fail Over уровня ОС должен сам разбираться с пуском и остановом необходимых сервисов. Зачем тогда Oracle предоставляет специальную утилиту Fail Safe Manager? требуется ли ставить утилиту для БД?
Строго говоря, утилиту на узлы я уже поставил, но немного не понял, зачем указывать дополнительный слой абстракций над кластером ОС: виртуальные адреса и прочее.
Буду благодарен за советы по установке оракла на такой кластер в целом.
Причина ошибки ORA-04030: out of process memory?
Добрый день.
Вопрос не так прост, как может показаться с первого вгляда. Имеем окружение Solaris x64. Стоит один (по крайней мере должен стоять один) инстанс Оракла.
RAM: 132Gb
Пытаемся выставить вот такие параметры:
DB_CACHE_ADVICE = 'OFF'
NLS_LENGTH_SEMANTICS = CHAR
MEMORY_MAX_TARGET = 0
MEMORY_TARGET = 0
SGA_MAX_SIZE = 10G
SGA_TARGET = 10G
PGA_AGGREGATE_TARGET = 4GB
DB_CACHE_SIZE = 5G
SHARED_POOL_SIZE = 1G
SHARED_POOL_RESERVED_SIZE = 35M
RESULT_CACHE_MAX_SIZE = 25M
DB_KEEP_CACHE_SIZE = 100M
Но после перезапуска сервер не стартует, падая с ошибкой ORA-04030: out of process memory when trying to allocate 256 bytes (Heap0: KGL,kglob).
То, что гуглилось, сразу проверили:
oracle@server1 $ prctl -n project.max-shm-memory -i project default
project: 3: default
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
project.max-shm-memory
privileged 31.4GB — deny —
system 16.0EB max deny
ROOT@server1 [UAT Active] /root# swap -l
swapfile dev swaplo blocks free
/dev/swap 0,0 16 76523504 76523504
ROOT@server1 [UAT Active] /root# prtconf |grep -i mem
prtconf:
Memory size: 131072 Megabytes
ROOT@server1 [UAT Active] /root# cat /etc/system
set noexec_user_stack=1
set noexec_user_stack_log=1
Лимиты проверили:
server1 [UAT Active] /root# ulimit -H -a
time(seconds) unlimited
file(blocks) unlimited
data(kbytes) unlimited
stack(kbytes) unlimited
coredump(blocks) unlimited
nofiles(descriptors) 65536
vmemory(kbytes) unlimited
Подскажите путь куда копать! Совсем ступор.
NLS_LENGTH_SEMANTICS = CHAR
MEMORY_MAX_TARGET = 0
MEMORY_TARGET = 0
SGA_MAX_SIZE = 10G
SGA_TARGET = 10G
PGA_AGGREGATE_TARGET = 4GB
DB_CACHE_SIZE = 5G
SHARED_POOL_SIZE = 1G
SHARED_POOL_RESERVED_SIZE = 35M
RESULT_CACHE_MAX_SIZE = 25M
DB_KEEP_CACHE_SIZE = 100M
project: 3: default
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
project.max-shm-memory
privileged 31.4GB — deny —
system 16.0EB max deny
ROOT@server1 [UAT Active] /root# swap -l
swapfile dev swaplo blocks free
/dev/swap 0,0 16 76523504 76523504
ROOT@server1 [UAT Active] /root# prtconf |grep -i mem
prtconf:
Memory size: 131072 Megabytes
ROOT@server1 [UAT Active] /root# cat /etc/system
set noexec_user_stack=1
set noexec_user_stack_log=1
time(seconds) unlimited
file(blocks) unlimited
data(kbytes) unlimited
stack(kbytes) unlimited
coredump(blocks) unlimited
nofiles(descriptors) 65536
vmemory(kbytes) unlimited
Oracle, .NET и ошибка The provider is not compatible with the version of Oracle client
На девелоперской машине стоит VS2010 и Oracle Developer Tools. На тестовой только .net framework.
Библиотека Oracle.DataAccess.dll из ODT добавлена в референсы и копируется вместе со скомпилированным приложением на тестовую машину. Если библиотеку не копировать, происходит ожидаемый эксепшен:
System.IO.FileLoadException: Could not load file or assembl
y 'Oracle.DataAccess, Version=4.112.1.2, Culture=neutral, PublicKeyToken=89b483f
429c47342' or one of its dependencies. The located assembly's manifest definitio
n does not match the assembly reference. (Exception from HRESULT: 0x80131040)
at ConsoleApplication1.Program.Main(String[] args)
Но при копировании Oracle.DataAccess.dll в папку с приложением происходит другая ошибка:
System.TypeInitializationException: The type initializer fo
r 'Oracle.DataAccess.Client.OracleConnection' threw an exception. ---> Oracle.Da
taAccess.Client.OracleException: The provider is not compatible with the version
of Oracle client
at Oracle.DataAccess.Client.OracleInit.Initialize()
at Oracle.DataAccess.Client.OracleConnection..cctor()
--- End of inner exception stack trace ---
at Oracle.DataAccess.Client.OracleConnection..ctor()
at Test.Program.Main(String[] args)
Да, если установить на клиентскую машину Oracle client из ODT, то всё работает, но не хотелось бы увеличивать размер дистрибутива на ~300Mb.
Как можно решить проблему без установки дополнительного софта?
y 'Oracle.DataAccess, Version=4.112.1.2, Culture=neutral, PublicKeyToken=89b483f
429c47342' or one of its dependencies. The located assembly's manifest definitio
n does not match the assembly reference. (Exception from HRESULT: 0x80131040)
at ConsoleApplication1.Program.Main(String[] args)
r 'Oracle.DataAccess.Client.OracleConnection' threw an exception. ---> Oracle.Da
taAccess.Client.OracleException: The provider is not compatible with the version
of Oracle client
at Oracle.DataAccess.Client.OracleInit.Initialize()
at Oracle.DataAccess.Client.OracleConnection..cctor()
--- End of inner exception stack trace ---
at Oracle.DataAccess.Client.OracleConnection..ctor()
at Test.Program.Main(String[] args)
Расположение частей распределённой базы данных
Расскажите, пожалуйста, как производят оптимизацию расположения частей распределённой базы данных? Интересуют более-менее готовые программные продукты и примеры решения задач.
Т.е., например:
есть несколько соединённых серверов под распределённую БД по всей стране, которые одновременно являются и клиентами этой БД.
В базе данных есть множество таблиц.
Есть статистика по запросам с клиентов к конкретным таблицам.
Есть некоторая цена хранения данных на определённом сервере.
Есть некоторая цена передачи, известная для каждой пары сервер-клиент.
Задача: разнести таблицы (или части таблиц) по серверам самым оптимальным образом.
Для решения задачи можно применять различные эвристические алгоритмы: генетические алгоритмы, эволюционные стратегии, муравьиные алгоритмы и т.д.
Но мне не удалось найти каких-либо более-менее готовых программных средств, которые реализовывали бы эти алгоритмы.
Существуют ли такие средства для решения этой задачи применительно к каким-нибудь БД (Oracle или другие)?
Или под каждую систему реализуется узкоспециализированное средство?
Или никто просто не парится с решением этой задачи, а данные раскидываются на глазок?
И может быть у кого-нибудь есть примеры систем с распределённой базой данных, которые были оптимизированы таким путём?
Спасибо!
397   1   14:09, 8th August, 2020