université ibm i 2019 - volubis db2.pdf · université ibm i 2019 22 et 23 mai ibm client center...
TRANSCRIPT
Université IBM i 201922 et 23 maiIBM Client Center Paris
Christian Massé[email protected]
S01 – Nouveautés DB2 2018 - 2019
Université IBM i 201922 et 23 maiIBM Client Center Paris
Volubis.fr
Conseil et formation sur OS/400, I5/OS puis IBM i depuis 1994 !
Dans nos locaux, vos locaux ou par Internet
Nouveautés DB2 2017 - 2018 Nouvelles options « Schémas » et
« SQL performance Center »
3
Nous nous étions quitté l’année dernière sur lesnouveautés d’ACS …
Nouveautés DB2 2017 - 2018 ACS est passé ensuite en version 1.1.8.1, puis en Avril
en 1.1.8.2
4
Nouveautés DB2 2018 - 2019
Performance Center
5
Inclusion, permet de filtrer les moniteurs• Sur le nom• Sur la date
Nouveautés DB2 2018 - 2019 Schémas
• Choix de l’ASP lors de la création d’un schéma
6
Nouveautés DB2 2018 - 2019 Schémas
• Modificationdes Alias,des droitsRCAC
7
Nouveautés DB2 2018 - 2019
Gestionnaire de scripts 1.1.8.1
8
Nouveautés DB2 2018 - 2019
Gestionnaire de scripts 1.1.8.1
• Avec « for update » la liste est modifiable
9
Nouveautés DB2 2018 - 2019 Version 1.1.8.2
lancez l’option de votre choix depuis la liste des systèmes
10
Nouveautés DB2 2018 - 2019 Le formatage (Ctrl+Maj+F) entièrement revu
intègre un contrôle de synatxe
réalise aussi un contrôle de syntaxe
11
Nouveautés DB2 2018 - 2019 Et surtout
12
Nouveautés DB2 2018 - 2019 Et surtout
13
Nouveautés DB2 2018 - 2019 Et surtout
14
Nouveautés DB2 2018 - 2019 Et surtout
15
Syntaxe SQL
16
Nouveautés DB2 2018 - 2019 Nom de corrélation facultatif avec les fonctions table
17
ici "as t" devient optionnel
Nouveautés DB2 2018 - 2019 fonctions et services améliorés
18
NOW() admet maintenant une précision (entre 0 et 12) sur le timestamp en cours
VARCHAR_FORMAT (ou TO_CHAR) qui transforme • caractère vers varchar• numérique vers varchar
Timestamp vers varchar
dans ce dernier cas, ont été ajoutésMs pour millisecondesUs pour microsecondes
Nouveautés DB2 2018 - 2019 fonctions et services améliorés
19
EXTRACT (qui extrait une partie d'une date), admet plus d'options, dont :
• EPOCH retourne le nbr de secondes depuis 1970-01-01 00:00:00.00• MILLENNIUM retourne le millénaire (2 pour 2018)• CENTURY retourne le siècle (20 pour 2018)• DECADE retourne le nombre de décades (201 pour 2018)• WEEK le n° de semaine• DOW le jour de la semaine (1=Dimanche)• DOY le jour dans l'année
Nouveautés DB2 2018 - 2019 le compilateur SQLRPGLE devient plus "bavard" quand une variable ou une DS
n'est pas utilisable dans une instruction SQL
20
IBM i services
21
Nouveautés DB2 2018 - 2019 SET_PASE_SHELL_INFO
22
SET_PASE_SHELL_INFO, procédure pour définir le shell par défaut sous PASE
CALL QSYS2.SET_PASE_SHELL_INFO('*CURRENT’, '/QOpenSys/QIBM/ProdData/OPS/tools/bin/bash’);
CALL QSYS2.SET_PASE_SHELL_INFO('*DEFAULT’, '/QOpenSys/usr/bin/ksh');
Nouveautés DB2 2018 - 2019
23
USER_INFO, modifiéAjout de SUPPLEMENTAL_GROUP_COUNT et SUPPLEMENTAL_GROUP_LIST
Ajout de PASE_SHELL_PATH
LICENSE_INFO, modifiéAjout de INSTALLED (YES / NO)
Nouvelle procédure LICENSE_EXPIRATION_CHECKEnvoi un message dans QSYSOPR pour tous les produits :
arrivés à expiration (sans paramètre) arrivant à expiration dans n jours (n étant le paramètre, numérique)
Nouveautés DB2 2018 - 2019 nouvelle vue JOB_DESCRIPTION_INFO
retournant des infos sur une JOBD
24
Nouveautés DB2 2018 - 2019 nouvelle vue OUPUT_QUEUE_ENTRIES_BASIC
retournant des infos sur tous le spools du système
25
TR6 (V7R3)
26
Petit retour en arrière...OnDemand Tracking System Limits (résumé des épisodes précédents )
●But du jeu, fournir des alertes sur les événements base de donnéespouvant impacter les limites du système, plutôt que de subirun arrêt de traitement ou des lenteurs
●les limites DB2 sont aussi fournies dans le fichier du catalogue SQL_SIZING
●Les limites sont suffisamment lointaines pour la plupart d'entre nousmais le dépassement d'un seuil peut être une indication intéressante,voire le signe d'une activité anormale,
System Limits
OnDemand Tracking System Limits
● Aux fonctions pouvant présenter une limite, on va associer :
● un Seuil-> la première fois que le seuil est dépassé on le signale
● un Incrément-> quand un incrément, par rapport au seuil précédent est ensuite
dépassé, on le signale également.
les événements sont notifiés dans un fichier du catalogue système : SYSLMTTBL
System Limits
●Les nouveautés de la 7.3 TR6
●Taille maxi d’une table (15003)et Un message SQL7062 de gravité 80 est envoyé à QSYSOPR.
System Limits
●Les limites ainsi que la plupart des services sont accessibles depuisDB2 Web Query.
Nouveautés DB2 2018 - 2019 CREATE INDEX
Nous pouvions déjà (dans un but d’utilisation par pgm) Faire des clefs complexes : Upper(nom) ou (QTE * PRIX)
Indiquer un nom de format
Indiquer la liste des zones du format
Nous pouvons désormais,
renommer les zones
31
Nouveautés DB2 2018 - 2019 INSERT .. DEFAULT VALUES
afin de
« réserver » une ligne (assignation d’un champ Identity, puis mis à jour plus tard ?)
ou de
Tester un trigger INSERT
INSERT INTO <table> DEFAULT VALUES
32
TR6 : IBM i services
33
Nouveautés TR6 SYSTOOLS.SPLIT(liste d’éléments, ‘séparateur’)
systools.split(‘A,B,C,D’ , ‘,’)
->34
Fonction TABLE qui retourne un ligne par élément rencontré
ORDINAL ELEMENT
1 A
2 B
3 C
4 D
Nouveautés TR6 QSYS2.DATA_AREA_INFO()
• DATA_AREA_LIBRARY VARCHAR(10)• DATA_AREA_NAME VARCHAR(10)• DATA_AREA_TYPE VARCHAR(5) *LGL , *CHAR , *DEC• LENGTH INTEGER• DECIMAL_POSISITONS INTEGER• DATA_AREA_VALUE VARCHAR(2000) valeur sous forme d’une chaîne• DATA_AREA8BINARY_VALUE VARBINARY(2000) valeur sous forme binaire
35
Fonction TABLE qui retourne des informations sur une *DTAARA
Nouveautés TR6 QSYS2.DATA_AREA_INFO
• DATA_AREA_LIBRARY VARCHAR(10)• DATA_AREA_NAME VARCHAR(10)• DATA_AREA_TYPE VARCHAR(5) *LGL , *CHAR , *DEC• LENGTH INTEGER• DECIMAL_POSISITONS INTEGER• DATA_AREA_VALUE VARCHAR(2000) valeur sous forme d’une chaîne• DATA_AREA8BINARY_VALUE VARBINARY(2000) valeur sous forme binaire• SQL_SEQUENCE VARCHAR(3) est-ce une séquence SQL ? (YES/NO)• TEXT_DESCRIPTION VARCHAR(50) Texte
36
Vue qui retourne des informations sur les *DTAARA
Nouveautés TR6 SYSTOOLS.FIRMWARE_CURRENCY
• FW_CURRENCY VARCHAR(28) Niveau actuel• FW_CURRENT_FIXPACK VARCHAR(20) service pack• FW_RELASE_DATE DATE date du niveau actuel• FW_MACHINE_TYPE_MODEL VARCHAR(20) type et modèle• FW_RECOMMENDED_UPDATE VARCHAR(20) niveau de mise à jour recommandé (même version)• FW_RECOMMENDED_UPGRADE VARCHAR(20) version recommandée
37
Vue qui retourne des informations sur le firmware et le niveau disponible Sur le net
Nouveautés TR6 QSYS2.MESSAGE_FILE_DATA
• MESSAGE_FILE_LIBRARY VARCHAR(10)• MESSAGE-FILE VARCHAR(10)• MESSAGE_ID CHAR(7) ID message• MESSAGE_TEXT VARGRAPHIC(132) texte en unicode (UTF-16)• SEVERITY INTEGER gravité• Etc…
38
Vue qui retourne la liste des messages dans un *MSGF
Nouveautés TR6 QSYS2.ASP_JOB_INFO
• IASP_NAME VARCHAR(10)• IASP_NUMBER INTEGER• JOB_NAME CHAR(10)• JOB_STATUS VARCHAR(4)• JOB_TYPE VARCHAR(3) ASP, BCH, INT, WTR, ….• AUTHORIZATION_NAME VARCHAR(10) profil• SUBSYSTEM_NAME VARCHAR(10)• SQL_STATEMENT_STATUS VARCHAR(8) instruction SQL : ACTIVE / COMPLETE ou null• SQL_STATEMENT_TEXT VARCHAR(10000)• SQL_STATEMENT_START_TIMESTAMP• ASP_TYPE VARCHAR(9) Type d’ASP : PRIAMRY, SECONDARY, UDFS• RDB_NAME VARCHAR(18) nom de remote database (WRKRDBDIRE)
39
Vue qui retourne la liste des jobs qui utilisent un iASP
Nouveautés TR6 SYSTOOLS.SPOOLED_FILE_DATA
• Paramètres en entrée– JOB_NAME CHAR(26)– SPOOLED_FILE_NAME CHAR(10)– SPOOLED_FILE_NUMBER INTEGER
• Retourne– ORDINAL_POSITION INTEGER– SPOOLED_DATA VARCHAR(200)
Utilise la commande CPYSPLF
40
Fonction TABLE qui retourne les données d’un spool
Nouveautés TR6
41
GET_JOB_INFO, modifiéAjout de V_ACTIVE_JOB_TYPE (ASJ, BCH, INT, WTR, ….)
Ajout de V_AUTHORIZATION_NAME profil utilisateur en cours
OBJECT_PRIVILEGES (vue) , modifiéeAjout de AUTHORIZATION_LIST
ASP_INFO (vue) , modifiéeAjout de RDB_NAME (si Asp_Type = *SYSTEM)
Nouveautés TR6
42
Driver ODBC, pour IBMi, sur IBM i en tant que module open source
Va permettre un accès à DB2 for i depuis de nombreux modules Open source (PHP par ex.),
dont le nouveau langage R
Nouveautés TR6
43
Enfin, le serveur de web services (IWS) admet directement des ordres SQL
V7R4
44
Nouveautés 7.4
45
La fonction HASH (retourne le N° de partition dans le cadre de DB2 multi-system) est renommée HASH_VALUE
Nouvelles fonctions de hachage :
HASH_MD5(expression)HASH_SHA1(expression)HASH_SHA256(expression)HASH_SHA512(expression)
HASH(expression, 0(md5) | 1(sha1) | 2(sha256) | 3(sha512) )
exemple VALUES HEX(HASH_SHA256('ABCDEFGHIJKLMNOPQRSTUVWXYZ'))-> 011F7AD1ECD8E5A4CC8533D1ECD497DC5D95E848B14F8BCFD56A73D7F41843E2
Nouveautés 7.4
46
NTP (serveur de temps)
ProcéduresADD_TIME_SERVER -> ajoute un serveur à la liste des serveurs NTPREMOVE_TIME_SERVER -> retire un serveur NTP à la liste précédente
VueTIME_PROTOCOLE_INFO -> retourne la liste des serveurs NTP
Nouveautés 7.4
47
AUTCOL
La collecte de droits pouvait être lancée par utilisateur (nouveauté 7.3) par STRAUTCOL
Elle peut désormais être pilotée par objet : CHGAUTCOL
Nouvelles vues associées
QSYS2.AUTHORITY_COLLECTION_LIBRARIES tous les objets d’une bibliothèqueQSYS2.AUTHORITY_COLLECTION_OBJECT recherche par objetQSYS2.AUTHORITY_COLLECTION_FSOBJ IFSQSYS2.AUTHORITY_COLLECTION_DLO QDLS…
Nouveautés 7.4
48
Le compilateur RPG propose des tableaux à taille variable
DIM(*AUTO:max) -> tableau incrémenté automatiquement
DIM(*VAR:max) -> tableau ajustable par %ELEM( ) = taille
Ces deux nouveautés sont comprises par le pré-compilateur SQL
DCL-DS DATA QUALIFIED DIM(*VAR:5000);FLD1 CHAR(10);FLD2 INT(5);
END-DS;
Nblignes = 400;%ELEM(DATA) = Nblignes;EXEC SQL
INSERT into fichier :Nblignes ROWS VALUES(:DATA);
DB2 Mirror for i
49
Nouveau produit 5770DBM
Power 8 ou 9
Stockage externe
Utilise RDMA over Converged Ethernet (Roce)
Éloignement de 100m maxi
50
DB2 Mirror 5770DBM
1ère option
51
DB2 Mirror 5770DBM
2ème option
52
DB2 Mirror 5770DBM
2ème option
53
DB2 Mirror Objets répliqués
54
DB2 Mirror Objets répliqués
55Pour l’IFS, voyez POWERHA
DB2 Mirror Actif/Actif Avec un client Web :
pensez aux nouveautésdu driver JDBC
56
DB2 Mirror Actif/Actif Avec un client Web :
pensez aux nouveautésdu driver JDBC
ici avec ACS 1.1.8.2
57
DB2 Mirror Actif/passif Interface 5250
58
Les Data sont répliquées, pas
les JOB !
Utilisez DB2 Web Query sur des données à
jour !
DB2 Mirror GUI Interface web d’administration intégrée au produit
59
DB2 Mirror GUI Interface web d’administration intégrée au produit
-> Déjà prévue dans la liste des interfacespossibles depuis ACS
60
DB2 Mirror GUI Interface web d’administration intégrée au produit
61
DB2 Mirror GUI Quelques accès possibles aussi en mode SQL
62
DB2 Mirror GUI Déjà intégrés à ACS (insertion à partir d’exemples)
63
DB2 Mirror Voir
• Les sessions de Steve Will @Steve_Will_IBMi
- Jeudi 23 à 13h30 : S33 - Nouveautés réplication DB2 for i - Partie 1- Jeudi 23 à 14h45 : S41 - Nouveautés réplication DB2 for i - Partie 2
• Knowledge Center disponible en 7.4
https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_74/rzahg/welcome.htm
64
65