Scripts d'optimisation d'une instance Oracle pour le stockage XML ArcSDE
ArcSDE pour Oracle comporte deux scripts se trouvant dans le répertoire SDEHOME > Tools > oracle qui vous permettent de configurer votre instance Oracle pour obtenir des performances de stockage de données XML ArcSDE optimales. Ces scripts sont xml_lob_block_distribution.sql et xml_lob_cache_size.sql.
xml_lob_block_distribution
Ce script indique la répartition des données XML dans une table. Saisissez le nom de la table avec la colonne XML et le script renvoie la répartition des données XML dans les blocs suivants :
- Données inférieures à 8 Ko
- Données comprises entre 8 et 16 Ko
- Données supérieures à 16 Ko
Grâce à ces informations, vous pouvez déterminer la taille de la majorité de vos données XML. Si la plupart de vos données XML sont inférieures à 8 Ko, mais que vous utilisez une taille de bloc de 16 Ko, il se peut que vous perdiez de l'espace dans la base de données et que chaque réponse requière deux fois plus de mémoire, dont la moitié est inutilisée. Si au contraire vous utilisez une taille de bloc de 8 Ko, vous serez en mesure de compresser deux fois plus de données dans chaque réponse et dans le cache et peut-être d'obtenir moins de lectures de la base de données pour une requête renvoyant le même nombre d'enregistrements. Toutefois, si la taille de la majorité de vos données XML dépasse 16 Ko et si vous utilisez une taille de bloc de 8 Ko, il se peut que vous disposiez de deux fois plus de blocs contenant vos données que si vous utilisiez une taille de bloc de 16 Ko. Cela signifie que chaque réponse doit effectuer deux fois plus de lectures du disque pour le même nombre d'enregistrements dans la table métier, ce qui risque de ralentir les performances de requête.
xml_lob_cache_size
Le script xml_lob_cache_size permet d'évaluer les besoins en cache des données XML d'une taille de bloc spécifiée. Comme avec le script xml_lob_block_distribution, vous devez saisir le nom de la table avec la colonne XML. Vous devez en outre spécifier une taille de bloc. Si aucune taille de bloc n'est spécifiée, le script db_block_size en cours est utilisé pour l'évaluation.
Les informations renvoyées par ce script vous indiquent la taille idéale du cache LOB pour optimiser les performances de requête.
Vous ne pouvez pas modifier la taille de bloc d'une base de données Oracle existante. Si ces scripts indiquent que vous avez besoin d'une taille de bloc différente pour optimiser les requêtes XML, vous devez effectuer une sauvegarde de votre base de données existante, créer une nouvelle base de données avec la taille de bloc correcte et transférer les données dans la nouvelle base.