
KOT
26.04.2017
16:27:57

VITALIY
26.04.2017
16:42:32
Хай всем! Есть у кого успешный опыт миграции данных бд с MySQL на oracle

Vladislav
26.04.2017
17:17:49
А в чем проблема?

VITALIY
26.04.2017
17:47:48
Статью подробную профану )))

Google

Vladislav
26.04.2017
18:18:56
берешь и переганяешь данные...

KOT
26.04.2017
18:26:11
У оракла нету тулзы для такого?

Al
26.04.2017
19:33:52

Vladislav
26.04.2017
19:34:46
У оракла есть dblink

KOT
27.04.2017
01:41:31
Есть тут кто-нибудь, кто innodb_flush_log_at_trx_commit = 2 юзает в конфиге?

Nick
27.04.2017
03:54:19
мы где-то так делаем

KOT
27.04.2017
03:55:14

Nick
27.04.2017
03:55:28
где-то так было быстрее

KOT
27.04.2017
03:55:56
А как решается вопрос "возможной потери данных"?
И возникали ли уже такие случаи?

Nick
27.04.2017
03:56:29
а, мы чуть ли не везде так делаем
innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT # or O_DSYNC
innodb_lock_wait_timeout = 50
у нас опенвз и я уже не помню почему (можно нагуглить) но в этом случае потерь вроде не должно быть
потери будут при =0

Google

Nick
27.04.2017
03:59:24
если важно - ссд с батарейкой, а в дц все хорошо с питанием

KOT
27.04.2017
04:10:12

Yevhen
27.04.2017
06:16:37
2 сбрасывает лог в кеш операционной системы (т.е. не происходит flush после каждой операции). лог пишется на диск с задержкой в несколько секунд, что весьма безопасно с точки зрения сохранности данных
0 - самый производительный и самый рискованый

Alexandr
27.04.2017
06:40:31
Доброго времени суток, посоветуйте докладчиков по базам данных на DevConf'17 https://devconf.ru/ru/offers

Fike
27.04.2017
09:12:10

Yevhen
27.04.2017
09:17:31

Fike
27.04.2017
10:02:41

lost
27.04.2017
12:07:08
обычно если ты проёбываешься с данными в сложносвязанных структурах - это перелив слейва сразу
А как решается вопрос "возможной потери данных"?

Dmitry
27.04.2017
16:04:46

zerc
27.04.2017
17:08:44
aws s3 юзает кто нибудь?

KOT
27.04.2017
17:10:43
Совсем чуток
http://mysqlhighavailability.com/performance-evaluation-mysql-5-7-group-replication/

Ivan
28.04.2017
06:57:20
пункт меню Migration
еще хацкеры пишут про Tungsten Replicator как Golden Gate for free
но сам не пробовал пока

Bo0oM
28.04.2017
08:19:47
Граждане DBA и соболезнующие!
Чем проиндексировать 500 - 1000 гб текстовых данных, чтобы быстро искать по ним (вхождение строки)?
Одиночный импорт больших пачек данных, по структуре данных от 2 до ~10 колонок текста. Сейчас тестим прототип с малым количеством данных на elasticsearch (90 гигов ща).


Roman
28.04.2017
14:06:33
Mysql
Привет всем!!!
Прошу помощи у более опытных товарищей
Есть запрос:
UPDATE shop_items, cc_desc_db2
SET shop_items.text = cc_desc_db2.product_desc
WHERE
shop_items.guid = cc_desc_db2.tov_id_ext AND
shop_items.database_num = 2
Он должен обновлять колонку text в таблице shop_items из колонки product_desc таблицы cc_desc_db2 сравнивая их по shop_items.guid и cc_desc_db2.tov_id_ext.
Но он не обновляет.
Хотя если сделать SELECT c тем условием в WHERE, то строки выводятся. Те их находит и сопоставляет.
Вот он сам:
SELECT * FROM shop_items, cc_desc_db2 WHERE shop_items.guid = cc_desc_db2.tov_id_ext AND shop_items.database_num = 2
P.S.:
Вeрсия сервера: 5.6.32-78.0-log - Percona Server (GPL), Release 78.0, Revision 8a8e016
Типы столбцов:
cc_desc_db2.tov_id_ext - varchar(80) - utf8_general_ci
shop_items.guid - varchar(100) - utf8_general_ci
shop_items.text - mediumtext - utf8_general_ci
cc_desc_db2.product_desc - text - utf8_general_ci
В чём может быть дело? Почему может не проходить обновление?

Google

Dmitry
28.04.2017
14:10:56
пунтаксис неверен. update table1 t1 join table2 t2 on t1.key=t2.key set t1.value=t2.value where ....

Roman
28.04.2017
14:14:55
Пунтаксис пробовал менять
UPDATE shop_items
JOIN cc_desc_db2 ON cc_desc_db2.tov_id_ext = shop_items.guid AND shop_items.database_num = 2
SET shop_items.text = cc_desc_db2.product_desc
UPDATE shop_items
INNER JOIN cc_desc_db2 ON cc_desc_db2.tov_id_ext = shop_items.guid AND shop_items.database_num = 2
SET shop_items.text = cc_desc_db2.product_desc
UPDATE shop_items
SET shop_items.text = cc_desc_db2.product_desc
FROM shop_items, cc_desc_db2
WHERE
shop_items.guid = cc_desc_db2.tov_id_ext AND
shop_items.database_num = 2
Вот три варианта
Результат один
0 строк обновлено

lost
28.04.2017
14:27:35
выполни SELECT @sql_mode и пришли результат

Dmitry
28.04.2017
20:12:50
Да, и мускл не различает иннер кстати. Там все жойн

Vladislav
28.04.2017
20:18:58
Это как?
http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt
If a <qualified join> is specified and a <join type> is not specified, then INNER is implicit.
Не различает ?

Dmitry
28.04.2017
21:16:54
Выборка одна и та же будет. Хоть иннер, хоть овтер
А там да, написано что если нет иннера, то он подразумевается. А если вдруг написать овтер, то получаешь сейм шит ?

lost
28.04.2017
21:24:51
энжой ё мскл

KOT
29.04.2017
00:10:39

Admin
ERROR: S client not available

lost
29.04.2017
00:10:56
умеем умеем

Fike
29.04.2017
05:30:35


Artem
01.05.2017
07:43:00
Доброго утра коллеги !
Посоветовали обратиться к Вам
может кто сталкивался с oracle 12c клиент на win2012r2
по умолчанию charset
AMERICAN_AMERICA.WE8MSWIN1252
забыли про него
все было ок
заметил в приложении в одном месте (может и еще где) что текст отображается как "?????????????????"
ну фигня
заменил charset на AMERICAN_AMERICA.CL8MSWIN1251 (как на сервере бд (там 2008r2 и 10oracle))
вроде все ок ! обрадовался !
а оказалось рано !
при создании пользователя или там еще каких действий в приложении валится ошибка
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at "DBOX.APPLICATIONCONTEXT", line 83
ORA-06512: at line 1
главное что при быстром разворачивании всей фигни на win2008r2 и любой оракловый клиент
этих проблем нет
может какие настройки в iis нужно сделать на 2012r2 сервере (хотя на вид все одинаково)
3 дня в поисках по интернетам и толку 0

Google

Al
01.05.2017
07:48:45


Artem
01.05.2017
07:51:53
такого рода статей много видел
но тут есть проблема что авторство приложения и бд в целом принадлежит "зеленой" компании
если я вмешаюсь в бд то может оно и поможет но дальшейшее обслуживание будет под большим вопросом

Al
01.05.2017
07:52:12

Artem
01.05.2017
07:54:26
есть вариант что завтра они исправят конечно
если доказать
а могут и сказать просто что надо использовать старый win сервер если там проблем нет
что бдедовенько
может в 2012р2 сервере и 12 клиенте oracle фишка какая есть с передачей запроса
проблема то только в такой связке

Al
01.05.2017
08:06:05

Artem
01.05.2017
08:12:30
Ну я тоже так думаю
Но
Странно что фишка проявляется только на server 2012r2

Al
01.05.2017
08:16:01
База не причем.

Artem
01.05.2017
08:16:32

Al
01.05.2017
08:16:39
Угу

Artem
01.05.2017
08:16:53
Да там негде особо
За 3 дня уже везде натыркал....
Эххх
Жесть

Al
01.05.2017
08:21:54
Жесть
Ну так поставь ему utf8

Fike
01.05.2017
08:53:05
Натыркал
Как же я люблю местных профессионалов

Artem
01.05.2017
09:45:26
Как же я люблю местных профессионалов
Вы о ком ?
Я не представлял себя как профессионала ?
Но я хотя бы пытался исправить то что меня не особо касается
В отличии от тех (из зеленой компании) кому платят ;)
Странно же да ? ?
P.s так же
я зашел меньше 8 часов назад :)
Я не "местный" профессионал ;)

Google

KOT
01.05.2017
15:52:56
Кстати, как сделать такую феньку....
У меня большая часть данные это инсерты чистой воды, и примерно 0,1% апдейты. Но вот может произойти такая фишка, что на ноду может апдейт на запись прелитеть раньше чем её инсерт, пытаюсь на гуглить "mysql update if not exists error", но он упорно подсовывает мне "IF EXISTS UPDATE ELSE INSERT Syntax"
Как провернуть мою задачу? Мне нужно, чтобы скрипт получил звоночек о том, что записи нету на том сервере, где он хочет её обновить, и ломился бы на другой сервак.


Al
01.05.2017
16:27:40
Кстати, как сделать такую феньку....
У меня большая часть данные это инсерты чистой воды, и примерно 0,1% апдейты. Но вот может произойти такая фишка, что на ноду может апдейт на запись прелитеть раньше чем её инсерт, пытаюсь на гуглить "mysql update if not exists error", но он упорно подсовывает мне "IF EXISTS UPDATE ELSE INSERT Syntax"
Как провернуть мою задачу? Мне нужно, чтобы скрипт получил звоночек о том, что записи нету на том сервере, где он хочет её обновить, и ломился бы на другой сервак.
Так прежде чем накатывать апдейт сделай проверк. Есди нет такого. Типа нуль вернуло тогда на другой сервак