Új hozzászólás Aktív témák
-
kem
addikt
Sziasztok!
Adott egy Oracle TimesTen memoriaban futo DB amirol szeretnek ERD-t kesziteni, mert egyszeruen nem latom at igy nyersen. Tudtok erre valami megoldast?
Koszi elore is!
kem
Köszi!
-
kem
addikt
Sziasztok.
Van 2 db TimesTen SQL querym, es arra lennek kivancsi, hogy hogyan lehetne kiiratni a ketto eredmenyenek a kulonbseget?
select a.id as account, s.id subscription
from subscription s, account a
where s.OWNING_ACCOUNT_UID = a."UID"
order by a.id, s.id;select a.id as account, s.id subscription
from subscription_attribute sa, subscription s, domain_parameter dp, account a
where s."UID" = sa.SUBSCRIPTION_UID
and s.OWNING_ACCOUNT_UID = a."UID"
and sa.DOMAIN_PARAMETER_UID = dp."UID"
and dp.ID like 'ActualParameter'
order by a.id, s.id;Elore is koszonom a segitdeget!
Ha jol gondolom nem kell erteni a teljes adatbazist ahhoz, hogy ki lehessen iratni ezt az eredmenyt, de az is lehet, hogy hatalmasat tevedek.[ Szerkesztve ]
Köszi!
-
kem
addikt
Sziasztok!
A kerdesem az lenne, hogy hogyan tudnek megvaltoztatni egy mezo tipusat de az erteket nem? Nekem ugy tunik, hogy a tipus is az ertek "string" resze pl: <s>2</s> vagy <int>2</int>. Nagyon sok ertek rosszul van definialva, ami miatt a logokat telef*ssa az applikacio, de mukodik. Jelenleg ertekenkent mgyek rajta vegig, de igy nagyon lassan tudok majd vegezni, kb 400 change kellene hozza (8platform, 500k+ user, 50+ attributum).
A filter amit most hasznalok:
update subscription_attribute sa
set sa.VALUE = '<int>2</int>'
...
and sa.value LIKE '<s>2</s>'Ez egyebkent TimesTen DB, es a DBAnk nyugdijba ment
Koszi a segitseget elore is.
[ Szerkesztve ]
Köszi!
-
kem
addikt
Pl az egyik platformnak, ez az egyik attributuma, amit roszul provisioningeltek sokaig:
< <int>3</int>, 150328 >
< <int>5</int>, 2093 >
< <s>3</s>, 288405 >
< <s>5</s>, 6370 >Az osszes stringet itt at kellene nevezni integerre. A bal oldali az ertek, a jobb oldali az a number of subscribtioins amihez az az ertek van rendelve. Valahogy egyszerre szeretnem az osszes 5-os, es 3-ast is feldolgozni. Van ahol ebbol tobb mint 10 ertek van, nem csak ez a ketto.
Szoval a kerdesem valoszinuleg alap SQL whitecard tema amivel nem vagyok tisztaba. Mukodne az ugy pl, hogy <s>*</s> van a filterben, es <int>*</int> az update oldalon? Gondolom nem ilyen egyszeru a tema.
Köszi!
-
kem
addikt
Leteszteltem az elobb, es kis modositassal mukodik. 1-nel tobb szamjeggyel is, ami nekem fontos. Itt egy masik pelda, amiben nem sok elteres van, szoval elvileg erre at tudom irni.
< <boolean>false</boolean>, 152312 >
< <boolean>true</boolean>, 176 >
< <s>false</s>, 271636 >
< <s>true</s>, 1338 >Itt ugye csak annyi valtozik, hogy az int-bol boolean lesz, tehat:
update subscription_attribute sa
set sa.VALUE = '<boolean>'||SUBSTR(sa.VALUE,4,LENGTH(sa.VALUE)-7)||'</boolean>'
...
where sa.VALUE LIKE '<s>%</s>'Viszont ha megforditjuk a helyzetet, es boolean-bol kell mast csinalni, akkor mar a szamokat is at kell irni a SUBSTR utan. Ezt a reszt nem tudtam ertelmezni, csak kapisgalom:
SUBSTR(column_value,4,LENGTH(sa.VALUE)-7)
A column_value helyett sa.VALUE-val mukodik, a 4-es gondolom az elso karakter amit megovunk, de azt ami utana van nem ertem.Köszi!
-
kem
addikt
-
kem
addikt
Sziasztok!
Ismet egy kis segitsegre lenne szuksegem TimesTen adatbazissal kapcsolatban, Van nekem egy nyakatekert SQL querym aminek az eredmenyet szeretnem insertalni egy tablaba, a kovetkezo keppen:
INSERT INTO subscription_attribute VALUES(<ide szeretnem belistazni a kovetkezo kimenetet>, 167463909189556, 1, '<null/>');
select s."UID"
from subscription s
join SUBSCRIPTION_RESOLVE_KEY srk on s."UID" = srk.SUBSCRIPTION_UID
join account a on s.OWNING_ACCOUNT_UID = a."UID"
left outer join boostGainEnabled ml on s."UID" = ml.SUBSCRIPTION_UID
where
ml.SUBSCRIPTION_UID is null
and srk.DOMAIN_RESOLVE_KEY_UID = (
select drk."UID" from DOMAIN_RESOLVE_KEY drk
where drk.ID like 'guestPIN')
and a.id like '%xy007%'
and s.id like '%xy%'
order by s."UID";A boostGainEnabled egy view-t takar, amit igy hoztam letre:
create view boostGainEnabled as
select s."UID" as SUBSCRIPTION_UID
from subscription s
join subscription_attribute sa on s."UID" = sa.SUBSCRIPTION_UID
join account a on s.OWNING_ACCOUNT_UID = a."UID"
join domain_parameter dp on sa.DOMAIN_PARAMETER_UID = dp."UID"
where dp.ID like 'boostGainEnabled';Szoval a kerdesem az lenne, hogy hogyan agyazok be az INSERT-em egyik Value helyere egy subqueryt?
Elore is koszonom szepen a segitseget!
Köszi!
-
kem
addikt
Sikerult felig.
INSERT INTO subscription_attribute
select
s."UID", 167463909189556, 1, '<null/>'
from subscription s
join SUBSCRIPTION_RESOLVE_KEY srk on s."UID" = srk.SUBSCRIPTION_UID
join account a on s.OWNING_ACCOUNT_UID = a."UID"
left outer join boostGainEnabled ml on s."UID" = ml.SUBSCRIPTION_UID
where
ml.SUBSCRIPTION_UID is null
and srk.DOMAIN_RESOLVE_KEY_UID = (
select drk."UID" from DOMAIN_RESOLVE_KEY drk
where drk.ID like 'guestPIN')
and a.id like '%xy007%'
and s.id like '%xy%'
order by s."UID";Most mar csak azt szeretnem, ha a 167463909189556 helyett tudnam hasznalni a parameter nevet. Erre egy masikat irtam, a kettot kene valahogy osszegyurni.
INSERT INTO subscription_attribute
select
168504837876601, dp."UID", 1, '<null/>'
from DOMAIN_PARAMETER dp where ID like 'boostGainEnabled';Szerk, meg is van:
INSERT INTO subscription_attribute
select
s."UID", dpa."UID", 1, '<null/>'
from DOMAIN_PARAMETER dpa, subscription s
join SUBSCRIPTION_RESOLVE_KEY srk on s."UID" = srk.SUBSCRIPTION_UID
join account a on s.OWNING_ACCOUNT_UID = a."UID"
left outer join boostGainEnabled ml on s."UID" = ml.SUBSCRIPTION_UID
where
ml.SUBSCRIPTION_UID is null
and srk.DOMAIN_RESOLVE_KEY_UID = (
select drk."UID" from DOMAIN_RESOLVE_KEY drk
where drk.ID like 'guestPIN')
and a.id like '%xy007%'
and s.id like '%xy%'
and dpa.ID like 'boostGainEnabled'
order by s."UID";Bocs, hogy ideszemeteltem, de reggel meg biztos voltam benne, hogy nem fog sikerulni
[ Szerkesztve ]
Köszi!
-
kem
addikt
Sziasztok ismet!
TimesTen DB-ben szeretnem limitalni a sorok szamat amit kiir egy SQL Query. Valakinek van erre otlete? Se a LIMIT 200; se a ROWNUM <= 200; nem mukodik.
Elore is koszonom a valaszokat!
kem
Köszi!
-
-
kem
addikt
Sziasztok!
TimesTen DB-ben kuzdok egy queryvel ami valamiert egy fele parameternel forditva fut le, igy a left outer join nem excludal adatokat, hanem pont az ellenkezo oldalt mutatja meg(amit ki kene vonni)
Rakukkantana valaki?
select count(s.id)
from subscription s
join SUBSCRIPTION_RESOLVE_KEY srk on s."UID" = srk.SUBSCRIPTION_UID
join account a on s.OWNING_ACCOUNT_UID = a."UID"
left outer join waitRoomEnabled ml on s."UID" = ml.SUBSCRIPTION_UID
where
ml.SUBSCRIPTION_UID is null
and
srk.DOMAIN_RESOLVE_KEY_UID = (
select drk."UID" from DOMAIN_RESOLVE_KEY drk
where drk.ID like 'guestPIN');Köszi!
-
kem
addikt
válasz Zalanius #3848 üzenetére
Koszi a valaszt. Nekem az SQL meg elegge uj ezt is segitseggel raktam ossze kollegaval aki mar elment nyugdijba. Az adatbazis eleg komplikalt (legalabb is nekem ) A feladat pedig az, hogy a waitRoomEnabled view-kent letrejovo tablaban talalhato subscription-oket kell megkulmboztetni azoktol az osszes subscription-tol ahol ez a waitRoomEnabled parameter nincsen definialva, igy annak erteket nem lehet megvaltoztatni. Ezert valasztjuk ki az is null erteket, tehat balra azt tartjuk meg ahol az nincsen definialva. Ez eddig mukodott mindegyik rendszeren de most azt latom, hogy nehol forditva mukodik mint ahogy eddig es 0 erteket ad. Az uj modszer pedig megmutatja, hogy majdnem 400.000 ilyen Subscription wan ebben az adathalmazban. Ez egyebkent egy 1 evvel ez elotti feladat amiben ezek az SQL-ek nem megfeleloen futottak le es probalom kideriteni miert. altalaban 3 illetve 6-bol egyszer nem futott le rendesen. Mindenhol ugyan ez a waitRoomEnabled parameter.
Köszi!
-
kem
addikt
Koszonom a valaszokat megprobalok valaszolni mindegyikre:
Ketto fele Subscription van. az egyikhez van pin rendelve a masikhoz meg csak teloszam. Ebbol csak az egyik variacioval kell foglalkoznunk azert szurjuk ezt itt. Atirom =re koszonom.
#3856 sztanozs:
ez alapján kellene excludolnia?
Igen ez az utolso filter amivel az osszes subscriptionbol kivonom azokat ahol deffinialva van a parameter. az erteke mindegy a lenyeg, hogy lehessen valtoztatni. Egyebkent ahol nincs deffinialva ott amutomatikusan orokli es mivel a hierarhiat kell valtoztatnom a nagyobb feladat soran ezert kell mindenkeppen fixalni ezen a szinten az ertekeket. Viszont ha nincs deffinialva akkor nem tudom atallitani.
itt egyenlőségjel helyett nem IN kellene?
Nem. Itt csak 1 ertekre van szuksegunk es azzal szurni.Kozben a tobbiek arra gondolnak, hogy valoszinuleg a tul nagy adathalmaz miatt kifut a memoriabol az egyebkent is memoriaban futo adatbazik csak valamiert ezt nem reportalja az OS logba vagy a Timesten logba szoval ez a kovetkezo dolog aminek utana nezek.
szerk:
Mrgvan a megoldas. a CREATE VIEW-ban kicsereltem a LIKE-ot =ra
create view waitRoomEnabled as
select s."UID" as SUBSCRIPTION_UID
from subscription s
join subscription_attribute sa on s."UID" = sa.SUBSCRIPTION_UID
join account a on s.OWNING_ACCOUNT_UID = a."UID"
join domain_parameter dp on sa.DOMAIN_PARAMETER_UID = dp."UID"
where dp.ID = 'waitRoomEnabled'
;[ Szerkesztve ]
Köszi!
-
kem
addikt
Sziasztok!
Meg mindig nem vagyok valami nagy DBA de ugy tunik a jelenlegi feladatom kicsit segiteni fog ebben RDS MySQL 5.6-ot frissitunk 5.7-re, es az Amazon szerint az uzemkiesest drasztikusan le lehet csokkenteni ha a kovetkezo alteraciot vegigtolom az adatbazisokon. A gond csak annyi, hogy nekem ez nagyon magas. Ha valaki csinalta mar vagy erti mirol van szo es nem banja kifejthetne nekem Elore is koszonom a valaszokat!
Upgrades to MySQL Version 5.7 Might Be Slow:
MySQL version 5.6.4 introduced a new date and time format for the datetime, time, and timestamp columns that allows fractional components in date and time values. When upgrading a DB instance to MySQL version 5.7, MySQL forces the conversion of all date and time column types to the new format.
...
To find all tables in your database that have datetime, time, or timestamp columns and create an ALTER TABLE <table_name> FORCE; command for each table, use the following query.Query:
SELECT DISTINCT CONCAT('ALTER TABLE `',
REPLACE(is_tables.TABLE_SCHEMA, '`', '``'), '`.`',
REPLACE(is_tables.TABLE_NAME, '`', '``'), '` FORCE;')
FROM information_schema.TABLES is_tables
INNER JOIN information_schema.COLUMNS col ON col.TABLE_SCHEMA = is_tables.TABLE_SCHEMA
AND col.TABLE_NAME = is_tables.TABLE_NAME
LEFT OUTER JOIN information_schema.INNODB_SYS_TABLES systables ON
SUBSTRING_INDEX(systables.NAME, '#', 1) = CONCAT(is_tables.TABLE_SCHEMA,'/',is_tables.TABLE_NAME)
LEFT OUTER JOIN information_schema.INNODB_SYS_COLUMNS syscolumns ON
syscolumns.TABLE_ID = systables.TABLE_ID AND syscolumns.NAME = col.COLUMN_NAME
WHERE col.COLUMN_TYPE IN ('time','timestamp','datetime')
AND is_tables.TABLE_TYPE = 'BASE TABLE'
AND is_tables.TABLE_SCHEMA NOT IN ('mysql','information_schema','performance_schema')
AND (is_tables.ENGINE = 'InnoDB' AND syscolumns.MTYPE = 6);Köszi!
-
kem
addikt
Sziasztok!
RDS MySQL 5.7-et probalok migralni epp titkositott RDS-re, es a kovetkezo ket problemaba futottam:
longtest and mediumtext partially-supported. Fogalmam sincs, hogy ez mit jelent. Gondolom bizonyos mezo tul nagy a migraciot vegzo alkalmazasnak (ASW DMS). Valaki ismer erre valamilyen mogoldast illetve dolgoztatok mar Amazon Database Migration Service-el? Esetleg mas migracio kozben kitalalt megoldas is erdekelhet, gondolom van akinek ez rogton ismeros.Elore is koszonom a valaszokat!
Köszi!
-
kem
addikt
Sziasztok!
Szeretnek importalni egy SQL dumpot AWS Aurora-MyAQL DB-be:
source dump: 5.7.26
linux agent: mysql Ver 14.14 Distrib 5.7.30
target rds: 5.7.mysql_aurora.2.08.1Amikor importalni probalom, ezt a hibauzenetet kaupjuk:
ERROR 1064 (42000) at line 25: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'COMMENT='Stored indicator calculations'' at line 14
A dump erre vonatkozo szakasza:-- MySQL dump 10.13 Distrib 5.7.26, for Linux (x86_64)
--
-- Host: localhost Database: <removed>
-- ------------------------------------------------------
-- Server version 5.7.26-enterprise-commercial-advanced-log
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table `<removed>`
--
DROP TABLE IF EXISTS `<removed>`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `<removed>` (
`id` bigint(10) NOT NULL AUTO_INCREMENT,
`starttime` bigint(10) NOT NULL,
`endtime` bigint(10) NOT NULL,
`contextid` bigint(10) NOT NULL,
`sampleorigin` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`sampleid` bigint(10) NOT NULL,
`indicator` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`value` decimal(10,2) DEFAULT NULL,
`timecreated` bigint(10) NOT NULL,
PRIMARY KEY (`id`),
KEY `<removed>_staendcon_ix` (`starttime`,`endtime`,`contextid`),
KEY `<removed>_con_ix` (`contextid`)
) ENGINE=InnoDB AUTO_INCREMENT=54076 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=COMPRESSED COMMENT='Stored indicator calculations';
/*!40101 SET character_set_client = @saved_cs_client */;
Ez pedig a parancs amivel probaljuk importalni.
Korabban a heten mukodott a dump elozo verziojaval ami 10x ekkora volt mert tele volt logokkal.cat dbdump.sql | sed 's/ROW_FORMAT=COMPRESSED/ROW_FORMAT=/g' | sed 's/user_b/user_a/g' | time mysql -p -h aurora-mysql-cluster.cluster-<removed>.eu-east-x.rds.amazonaws.com -u user_a dbname --max-allowed-packet=1073741824
A DBt pedig ezzel krealtam:
CREATE DATABASE dbname CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Probalunk rajonni mi lehet a baj, de minden jonak tunik szintaktikailag.
A dump 26GB.Elore is koszonok barmilyen otletet.
szerk: elnezesd de akarhogy szerkesztem szanaszet hullik a formazas
[ Szerkesztve ]
Köszi!
-