Suite

Le script échoue lorsqu'il est exécuté à partir de la boîte à outils mais pas dans la fenêtre de commande (MakeFeatureLayer)

Le script échoue lorsqu'il est exécuté à partir de la boîte à outils mais pas dans la fenêtre de commande (MakeFeatureLayer)


Je peux exécuter le code ci-dessous dans la fenêtre de commande Python dans ArcMap 10.2.1 sans problème. Cependant, lorsque je l'exécute en tant que script de boîte à outils, il échoue à la ligne 15 :

newLyr = arcpy.mapping.ListLayers(mxd, "Nouvelle couche d'entités", df)[0]

IndexError : index de la liste hors limites

Il me semble que la couche d'entités n'est pas générée à la ligne 14, ce qui provoque l'erreur à la ligne suivante. Mais je ne suis pas sur. Quelqu'un a-t-il une idée de la raison pour laquelle le traitement échouerait lorsqu'il était exécuté en tant que script, mais pas lorsqu'il était exécuté dans la fenêtre de commande ?

import arcpy mxd = arcpy.mapping.MapDocument("CURRENT") df = arcpy.mapping.ListDataFrames(mxd)[0] arcpy.Delete_management("New Feature Layer") #efface toute instance antérieure de la mémoire attrLyr = arcpy.mapping. ListLayers(mxd, "SELECTIONNER LES CARACTERISTIQUES PAR COUCHE ATTR", df)[0] locLyr = arcpy.mapping.ListLayers(mxd, "SELECTIONNER LES CARACTERISTIQUES PAR COUCHE D'EMPLACEMENT", df)[0] srcLyr = arcpy.mapping.ListLayers(mxd, "SRC SYMBOLOGY LAYER", df)[0] expression = "SELECTION EXPRESSION" arcpy.SelectLayerByAttribute_management(attrLyr,"NEW_SELECTION",expression) #sélectionner les entités de attrLyr selon l'expression arcpy.SelectLayerByLocation_management(locLyr, "INTERSECT", attrLyr) # sélectionner les entités de locLyr qui croisent attrLyr arcpy.MakeFeatureLayer_management(locLyr, "New Feature Layer") #créer une couche d'entités à partir des entités sélectionnées dans locLyr newLyr = arcpy.mapping.ListLayers(mxd, "New Feature Layer", df)[0] #assigner un nouveau calque à la variable "newLyr" arcpy.mapping.UpdateLayer(df, newLyr, srcLyr, True) #apply srcLyr sym bologie à newLyr

La clé ici est d'affecter la couche d'entités à une variable (addLayer), puis d'utiliser AddLayer() pour l'ajouter au bloc de données. À partir de là, je pourrais le transmettre en tant que newLyr à la méthode UpdateLayer().

arcpy.MakeFeatureLayer_management(locLyr, "Nouvelle couche d'entités") addLayer = arcpy.mapping.Layer("Nouvelle couche d'entités") arcpy.mapping.AddLayer(df,addLayer, "AUTO_ARRANGE") newLyr = arcpy.mapping.ListLayers(mxd, "Nouvelle couche d'entités", df)[0] arcpy.mapping.UpdateLayer(df, newLyr, srcLyr, True)

Je noterai (grippe) que l'exécution de MakeFeatureLayer dans la fenêtre de commande ajoutera automatiquement la couche au bloc de données. Par conséquent, le test de la réponse ci-dessus dans la fenêtre de commande entraîne en fait l'ajout de deux couches à la carte : la couche d'entités de la ligne 1 et le calque de la ligne 2.


Vous ne faites que créer une nouvelle couche en mémoire, sans l'ajouter réellement à la table des matières. Pour ajouter cette couche à votre table des matières, utilisez AddLayer(), puis RefreshTOC() et alors seulement elle apparaîtra dans une liste générée par une fonction ListLayers().


C'est un comportement documenté. La page de manuel bash(1) dit, pour définir -e ,

Le shell ne se ferme pas si la commande qui échoue fait partie de la liste de commandes suivant immédiatement un mot-clé while ou until, une partie du test suivant les mots réservés if ou elif, partie de toute commande exécutée dans un && ou || liste sauf la commande suivant le && final ou || , toute commande dans un pipeline sauf la dernière, ou si la valeur de retour de la commande est inversée avec ! .
[Je souligne.]

Et le POSIX Langage de commande Shell La spécification confirme qu'il s'agit du comportement correct :

Le paramètre -e doit être ignoré lors de l'exécution de la liste composée suivant le while , jusqu'à , if ou le mot réservé elif , un pipeline commençant par le ! mot réservé, ou toute commande d'une liste ET-OU autre que la dernière.

et Section 2.9.3 Listes de ce document définit

Une liste AND-OR est une séquence d'un ou plusieurs pipelines séparés par les opérateurs " && " et " || " .


Paramètres

La classe d'entités ou la couche à traiter.

Spécifie si les entités avec des géométries nulles seront supprimées.

  • Coché : les entités avec une géométrie nulle seront supprimées de l'entrée. C'est la valeur par défaut.
  • Non coché : les entités avec une géométrie nulle ne seront pas supprimées de l'entrée.

Spécifie la méthode de validation de la géométrie qui sera utilisée pour identifier les problèmes de géométrie.

  • Esri — La méthode de validation de géométrie Esri sera utilisée. C'est la valeur par défaut.
  • OGC — La méthode de validation de la géométrie OGC sera utilisée.

Sortie dérivée

Les caractéristiques d'entrée mises à jour.

La classe d'entités ou la couche à traiter.

Spécifie si les entités avec des géométries nulles seront supprimées.

  • DELETE_NULL — Les entités avec une géométrie nulle seront supprimées de l'entrée. C'est la valeur par défaut.
  • KEEP_NULL — Les entités avec une géométrie nulle ne seront pas supprimées de l'entrée.

Spécifie la méthode de validation de la géométrie qui sera utilisée pour identifier les problèmes de géométrie.

  • ESRI — La méthode de validation de géométrie Esri sera utilisée. C'est la valeur par défaut.
  • OGC — La méthode de validation de la géométrie OGC sera utilisée.

Sortie dérivée

Les caractéristiques d'entrée mises à jour.

Exemple de code

Le script de fenêtre Python suivant montre comment utiliser la fonction RepairGeometry en mode immédiat sur un fichier de formes.

Le script autonome suivant est un exemple d'application de la fonction RepairGeometry dans un script.


11 réponses 11

Vous pouvez l'exécuter silencieusement en utilisant un fichier de script Windows à la place. La méthode Run vous permet d'exécuter un script en mode invisible. Créez un fichier .vbs comme celui-ci

et le programmer. Le deuxième argument de cet exemple définit le style de la fenêtre. 0 signifie "cacher la fenêtre".

  • objet : objet WshShell.
  • strCommand : valeur de chaîne indiquant la ligne de commande que vous souhaitez exécuter. Vous devez inclure tous les paramètres que vous souhaitez transmettre au fichier exécutable.
  • intWindowStyle : facultatif. Valeur entière indiquant l'apparence de la fenêtre du programme. Notez que tous les programmes n'utilisent pas ces informations.
  • bWaitOnReturn : facultatif. Valeur booléenne indiquant si le script doit attendre la fin de l'exécution du programme avant de passer à l'instruction suivante de votre script. S'il est défini sur true, l'exécution du script s'arrête jusqu'à la fin du programme et Run renvoie tout code d'erreur renvoyé par le programme. Si elle est définie sur false (valeur par défaut), la méthode Run retourne immédiatement après le démarrage du programme, renvoyant automatiquement 0 (à ne pas interpréter comme un code d'erreur).

L'exécutez-vous en tant que tâche planifiée ? Si c'est le cas, configurez-le pour qu'il s'exécute en tant que compte d'utilisateur différent, il ne sera pas visible pour l'utilisateur connecté. Si le script n'a pas besoin d'accéder au réseau aux éléments nécessitant une authentification Windows (comme les partages de fichiers ou les imprimantes), vous pouvez l'exécuter en tant que "nt Authoritysystem" et laisser le mot de passe vide. Sous Windows 7, définissez simplement l'utilisateur sur SYSTÈME et appuyez sur OK.

(Vous devez probablement utiliser un utilisateur réel si vous utilisez robocopy.)

Configurez simplement la tâche planifiée comme "Exécuter que l'utilisateur soit connecté ou non".

Vous pouvez également essayer CHP (Créer un processus caché), fait exactement ce que vous pensez.

Fonctionne sans fenêtre de commande. Parfait! Fabriqué par les mêmes personnes que CMDOW, mais c'est plus approprié.

CMDOW est un outil génial qui vous permet de faire beaucoup, beaucoup de choses sur Windows à partir de la ligne de commande.

L'une des choses les plus simples à faire est de masquer la fenêtre actuelle (généralement comme première ligne dans le fichier bat) avec :

ou démarrer un nouveau processus caché avec

Vous pouvez créer un raccourci vers le fichier batch, définir le raccourci pour démarrer réduit (dans les propriétés du raccourci, onglet « Raccourci »), puis définir le travail pour démarrer le raccourci.

Important: Vous devrez spécifier le chemin d'accès au raccourci manuellement en le tapant dans le champ de texte Exécuter, avec l'extension '.lnk' si vous essayez simplement d'y accéder, il sera utilement se rediriger vers ce que pointe le raccourci.

Essayez d'appeler le script avec

Je me rends compte que cette question a déjà reçu une réponse avec une résolution parfaitement bonne qui est native de Windows et devrait donc être la plus compatible, et je suis tout à fait d'accord.

Je voulais également dire que je ne suis pas d'accord avec le commentaire de @splattne (mais pas sa réponse réelle) - que la résolution dans l'autre fil référencé mérite le crédit. Cette réponse implique d'exécuter le script en tant qu'utilisateur différent (SYSTEM), ce qui équivaut à peu près à donner au script un accès root. Il échouera également pour les tâches telles que ROBOCOPY (comme référencé par John Rennie), qui nécessitent un accès au réseau.

Je n'ai jamais essayé CMDOW auparavant, mais j'aimerais proposer une autre résolution similaire, qui [bien qu'elle ne soit pas installée nativement sur Windows] est toujours hautement portable pour la plupart des versions, et est disponible en versions 32 et 64 bits, et cela est NirCmd.

NirCmd est un outil très puissant qui possède une myriade d'options, dont la plus utile, je trouve personnellement sa capacité à lancer des fenêtres de commande cachées en exécutant simplement ce qui suit :

Exécute une application et spécifie éventuellement un ou plusieurs paramètres de ligne de commande pour l'application exécutée. Le spectacle/cacherparamètre /min/max] spécifie si l'application en cours d'exécution sera visible ou non. Si « masquer » est spécifié, l'application en cours d'exécution ne sera pas visible pour l'utilisateur. Si 'max' est spécifié, la fenêtre de l'application en cours sera maximisée. Si 'min' est spécifié, la fenêtre de l'application en cours d'exécution sera minimisée.

ÉDITER: J'essayais d'exécuter un travail ROBOCOPY et j'essayais la méthode de cette réponse, et cela n'a pas fonctionné, même après avoir modifié les privilèges d'accès au réseau. J'ai essayé de double-cliquer sur le script et je n'ai pas pu le faire fonctionner, mais je n'ai pu le faire fonctionner que sous une invite de commande élevée. J'ai créé un raccourci vers le fichier batch et je l'ai exécuté en tant qu'administrateur et j'ai pu le faire exécuter en double-cliquant dessus, mais la méthode avec laquelle j'ai fini par utiliser était de l'exécuter masqué en tant que SYSTEM (je sais, je sais) -- mais cela fonctionne avec ROBOCOPY , pour ce que ça vaut, tant que le fichier batch a les autorisations correctes.

EDIT 2: Pour une raison quelconque, cela ne fonctionnerait pas en tant que SYSTEM (probablement la chose d'accès au réseau référencée plus tôt) - je ne l'ai remarqué qu'après avoir réellement exécuté ROBOCOPY sans le drapeau /L, qui n'est fondamentalement qu'une simulation et [apparemment] ne se connecte pas réellement sur le système distant, mais lorsque j'exécute le fichier batch avec les privilèges les plus élevés et que je coche la case masquée, je peux toujours l'exécuter en tant qu'utilisateur connecté en arrière-plan sans qu'une fenêtre de commande ne s'affiche, quelle que soit la valeur que cela vaut pour quiconque.


Environnement

Vous pouvez définir la valeur par défaut d'un paramètre sur la valeur d'un paramètre d'environnement en cliquant avec le bouton droit sur la cellule en regard de Environnement et en choisissant le nom du paramètre d'environnement. Une fois que vous avez choisi un paramètre d'environnement, la propriété Par défaut sera ignorée. Pour utiliser la propriété Par défaut au lieu de la propriété Environnement, désactivez la propriété Environnement en sélectionnant l'entrée vide dans la liste déroulante.


Illustration

  • Lorsque les entités en entrée sont des polygones, les entités de découpage doivent également être des polygones.
  • Lorsque les entités en entrée sont des lignes, les entités de découpage peuvent être des lignes ou des polygones. Lors du découpage d'entités linéaires avec des entités linéaires, seules les lignes ou segments de ligne coïncidents sont écrits dans la sortie, comme illustré dans le graphique ci-dessous.
  • Lorsque les entités en entrée sont des points, les entités de découpage peuvent être des points, des lignes ou des polygones. Lors du découpage d'entités ponctuelles avec des entités ponctuelles, seuls les points coïncidents sont écrits dans la sortie, comme illustré dans le graphique ci-dessous. Lors du découpage d'entités ponctuelles avec des entités linéaires, seuls les points qui coïncident avec les entités linéaires sont écrits dans la sortie.

La classe d'entités en sortie contiendra tous les attributs des entités en entrée.

Cet outil utilisera un processus de tuilage pour gérer de très grands ensembles de données pour de meilleures performances et une meilleure évolutivité. Pour plus de détails, consultez Géotraitement avec des jeux de données volumineux.

Entités linéaires coupées par des entités surfaciques :

Entités ponctuelles découpées par des entités surfaciques :

Entités linéaires découpées avec des entités linéaires :

Entités ponctuelles découpées avec des entités ponctuelles :

Les valeurs d'attribut des classes d'entités en entrée seront copiées dans la classe d'entités en sortie. Cependant, si l'entrée est une couche ou des couches créées par l'outil Créer une couche d'entités et que la politique de ratio d'utilisation d'un champ est cochée, un ratio de la valeur d'attribut d'entrée est calculé pour la valeur d'attribut de sortie. Lorsque Utiliser la stratégie de ratio est activé, chaque fois qu'une entité dans une opération de superposition est fractionnée, les attributs des entités résultantes sont un rapport de la valeur attributaire de l'entité en entrée. La valeur en sortie est basée sur le rapport dans lequel la géométrie de l'entité en entrée a été divisée. Par exemple, si la géométrie en entrée a été divisée de manière égale, la valeur attributaire de chaque nouvelle entité se voit attribuer la moitié de la valeur de la valeur attributaire de l'entité en entrée. La politique de ratio d'utilisation s'applique uniquement aux types de champs numériques.

Avertir:

Les outils de géotraitement ne respectent pas les règles de répartition des classes d'entités ou des champs de table de la géodatabase.


Comment supprimer un graphique via arcpy

Après avoir fait fonctionner les graphiques, je suis intéressé à parcourir (via une boucle quelconque) pour créer plusieurs graphiques.

Mon problème est qu'il semble que le "graphe" soit stocké dans une mémoire pas facilement référencée.

MakeGraph_management est assez simple :

arcpy.MakeGraph_management(graph_grf, graph, "temp")

Je ne peux pas remplacer "temp" par une variable (je veux dire, je peux, mais c'est inutile) car la valeur de la piqûre est ce qui nomme la sortie de MakeGraph.

arcpy.env.overwriteOutput = True Cela ne m'aide pas.

arcpy.Delete_management('temp') semble *devrait* fonctionner car le fichier d'aide indique "Graph" comme type de données d'entrée valide, mais j'essaie ensuite d'obtenir une erreur comme :

Je suppose que je pourrais changer le nom qui est passé pour créer un graphique, et ne jamais rien supprimer, mais cela semble bâclé et je prévois d'itérer des centaines, voire des milliers d'entrées. J'imagine que je finirai par manquer de mémoire.

J'utilise 10.1, service pack 2 (build 3200) si cela compte. Je ne suis pas intéressé par l'utilisation d'autres packages python pour créer des graphiques en raison de contraintes organisationnelles.

Avez-vous trouvé un moyen de contourner cela. J'essaie de regrouper un script qui exporte un graphique à la fin, et je manque de mémoire après environ 15 itérations, comme vous l'avez dit.

ESRI m'a aidé à contourner ce problème en supprimant la variable à la fin. Il a fonctionné beaucoup plus longtemps que je n'ai pu le faire fonctionner. Donc je pense que ça marche. C'est ce que j'ai fait:

arcpy.MakeGraph_management(graphCopy, "SERIES=line:vertical DATA= <0>X=Distance Y=Invert SORT=ASCSERIES=line:vertical DATA= <0>X=Distance Y=Couronne
SORT=ASCSERIES=ligne:vertical DATA= <0>X=Distance Y=GrElev SORT=ASCGRAPH=general TITLE= <1>SUBTITLE=<2>: LEGEND=generalAXIS=left
TITLE=Élévation en piedsAXIS=droit TITLE=InvertAXIS=bas TITLE=Distance en piedsAXIS=haut".format(ClosedConduitsVertexPoints, titleVariable, subtitleVariable), graphExport )

Merci pour la pensée, mais essayez de réexécuter votre script avec les mêmes entrées au cours de la même session (essayez-le en pythonwin ou inactif dans la même session), vous devriez générer une erreur similaire à mon premier message.


Si je comprends bien, en utilisant votre exemple:

del graphExporter
supprimera la variable contenant la valeur de chaîne de "tempGraphDelete" mais elle ne supprimera pas le type de données/objet graphique nommé "tempGraphDelete"

De l'extérieur, l'utilisation semble imiter arcpy.MakeFeatureLayer_management, où vous pouvez stocker le nom de la couche mémoire résultante dans une variable mais cette variable n'est pas l'objet mémoire (sauf arcpy.Delete_management fonctionne sur ces objets).

Le seul point positif (pour moi, pour le moment) est que si vous implémentez cela en tant que script Arctoolbox, il semble que vous puissiez au moins réexécuter les mêmes entrées sans vous tromper (ce n'est pas le cas dans Pythonwin), donc je me demande si la boîte à outils agit comme une sorte d'objet/environnement autonome et que ces objets en mémoire sont détruits une fois le script terminé ? J'ai essayé de tester cela en référençant des variables que je n'ai pas explicitement supprimées de mon script dans la fenêtre "Python" d'ArcGIS et la fenêtre Python a renvoyé des erreurs "n'est pas définie".

J'espère que cela signifie que je ne manquerai pas de mémoire tant que je l'invoque en tant que boîte à outils ?

ESRI m'a aidé à contourner ce problème en supprimant la variable à la fin. Il a fonctionné beaucoup plus longtemps que je n'ai pu le faire fonctionner. Donc je pense que ça marche. C'est ce que j'ai fait:


Options de base de données Oracle

Toutes les options Oracle Database peuvent être achetées avec Oracle Database Enterprise Edition. Oracle Real Application Clusters (Oracle RAC) est inclus avec Oracle Database Standard Edition. Vous ne pouvez pas acheter d'options avec Oracle Database Standard Edition One ou Oracle Express Edition. L'édition personnelle comprend toutes les options, à l'exception d'Oracle RAC, sans frais supplémentaires.

Cette section décrit les options de base de données suivantes :

Garde de données actif Oracle

Oracle Active Data Guard améliore la qualité de service (QoS) des bases de données de production en déchargeant les opérations gourmandes en ressources vers une ou plusieurs bases de données de secours, qui sont des copies synchronisées de la base de données de production. Avec Oracle Active Data Guard, une base de données de secours physique peut être utilisée pour le reporting en temps réel, avec une latence minimale entre les données de reporting et de production. Comparé aux méthodes de réplication traditionnelles, Active Data Guard est très simple à utiliser, prend en charge de manière transparente tous les types de données et offre des performances très élevées. Oracle Active Data Guard permet également de décharger les opérations de sauvegarde sur la base de données de secours et d'être effectuées très rapidement à l'aide de sauvegardes incrémentielles intelligentes. Oracle Active Data Guard est donc un moyen très efficace d'isoler les utilisateurs interactifs et les tâches commerciales critiques sur le système de production de l'impact d'opérations aussi longues. Oracle Active Data Guard offre l'avantage supplémentaire de la haute disponibilité et de la protection contre les sinistres en basculant rapidement vers la base de données de secours en cas de panne planifiée ou imprévue sur le site de production.

L'option Active Data Guard contient les fonctionnalités suivantes :

Veille physique avec requête en temps réel

Sauvegarde incrémentielle rapide en veille physique

Dans une configuration Oracle Data Guard, Oracle Active Data Guard doit disposer d'une licence sur toutes les bases de données de secours avec l'une des fonctionnalités ci-dessus en cours d'utilisation, ainsi que sur la base de données principale. S'il existe des bases de données de secours supplémentaires dans la configuration Oracle Data Guard qui n'utilisent aucune des fonctionnalités d'Oracle Active Data Guard, ces bases de données de secours ne nécessitent pas de licence Oracle Active Data Guard.

Remarque : pour les clients qui sauvegardent des bases de données de secours sur Zero Data Loss Recovery Appliance (ZDLRA) et souhaitent utiliser la fonction Fast Incremental Backup on Physical Standby, une licence Oracle Active Data Guard n'est pas requise. Oracle Active Data Guard doit toujours disposer d'une licence sur les bases de données de secours, si l'une des autres fonctionnalités ci-dessus est utilisée.

Compression avancée Oracle

Oracle Advanced Compression fournit des capacités complètes de compression de données pour compresser tous les types de données, de sauvegardes et de trafic réseau d'une manière transparente pour les applications. Avec la compression avancée, Oracle inclut une compression de table ciblée sur les charges de travail OLTP, ce qui permet de réduire la consommation de stockage et d'améliorer les performances des requêtes tout en entraînant une surcharge de performances d'écriture minimale. La compression avancée peut être utilisée pour compresser tout contenu non structuré à l'aide de la compression SecureFiles. La déduplication permet d'éliminer automatiquement les copies redondantes des données SecureFiles. RMAN propose plusieurs niveaux de compression de sauvegarde, pour répondre aux besoins de divers environnements, y compris une compression plus rapide et de meilleurs choix de taux de compression. Notez que l'option RMAN DEFAULT COMPRESS ne nécessite pas de compression avancée. Avec la compression avancée, les exportations de Data Pump peuvent désormais être compressées pour réduire les besoins en espace disque. Notez que l'option COMPRESSION=METADATA_ONLY pour Data Pump ne nécessite pas la compression avancée et constitue le comportement par défaut. Enfin, Data Guard peut compresser les données de rétablissement, ce qui réduit le trafic réseau et accélère la résolution des écarts.

L'option Oracle Advanced Compression contient les fonctionnalités suivantes :

Compression du réseau Data Guard

Compression de la pompe de données (COMPRESSION=METADATA_ONLY ne nécessite pas l'option Compression avancée)

Plusieurs niveaux de compression RMAN (RMAN DEFAULT COMPRESS ne nécessite pas l'option Advanced Compression)

Compression et déduplication SecureFiles

Flashback Data Archive (anciennement appelé Total Recall)

Pour les versions antérieures à Oracle Database 11 g Release 2 (11.2.0.4) : vous devez disposer d'une licence pour l'option Oracle Advanced Compression pour utiliser Flashback Data Archive.

À partir d'Oracle Database 11 g Release 2 (11.2.0.4) : Flashback Data Archive&mdashsans optimisation de la table d'historique&mdashis disponibles dans toutes les éditions.

Optimisation des tables d'historique Flashback Data Archive. Disponible à partir d'Oracle Database 11 g Release 2 (11.2.0.4).

Exadata Flash Cache Compression : cette fonctionnalité ne peut être activée que sur les serveurs de stockage Exadata, et tous les processeurs de base de données qui accèdent aux serveurs de stockage Exadata doivent disposer d'une licence pour Oracle Advanced Compression.

Sécurité avancée d'Oracle

Oracle Advanced Security vous aide à protéger les informations sensibles et à vous conformer à diverses réglementations en matière de confidentialité et de conformité, notamment les lois sur les notifications de violation et la norme de sécurité des données de l'industrie des cartes de paiement (PCI-DSS) en activant le cryptage dans la base de données qui est transparent pour les applications.

Oracle Advanced Security inclut les fonctionnalités suivantes :

Cryptage transparent des données (TDE) pour les colonnes

Chiffrement transparent des données (TDE) pour le tablespace

Cryptage transparent des données (TDE) pour SecureFiles

Cryptage du fichier d'exportation DataPump

Données Rédaction des données sensibles renvoyées aux applications. Disponible à partir d'Oracle Database 11 g Release 2 (11.2.0.4).

Techniques complètes, partielles, d'expression régulière et aléatoire

Le cryptage réseau (cryptage réseau natif, intégrité des données réseau et SSL/TLS) et les services d'authentification forte (Kerberos, PKI et RADIUS) ne font plus partie d'Oracle Advanced Security et sont disponibles dans toutes les éditions sous licence de toutes les versions prises en charge d'Oracle base de données.

Coffre de base de données Oracle

Oracle Database Vault vous permet de contrôler qui, quand et où les données et applications sont accessibles et protéger votre entreprise contre la menace de sécurité la plus courante : les utilisateurs internes malveillants. En appliquant la séparation des tâches, même entre les administrateurs, Oracle Database Vault sert également de puissant contrôle préventif pour aider à se conformer aux exigences strictes de conformité et de confidentialité d'aujourd'hui.

Il améliore votre capacité à répondre aux exigences de conformité telles que Sarbanes-Oxley et d'autres réglementations qui imposent le contrôle de l'accès aux informations sensibles et de leur diffusion.

Il contrôle l'accès aux données d'application et de base de données, même par les super-utilisateurs et autres utilisateurs hautement privilégiés

Il applique une autorisation multifactorielle via des règles commerciales flexibles

Il montre qui accède à quoi et quand via plus de trois douzaines de rapports de sécurité prêts à l'emploi

Oracle Database Vault est une option pour Oracle Database 10 g ou version ultérieure. Cependant, il a également été fourni pour les versions antérieures, y compris Oracle9 i Database Release 2 (9.2.0.8) sur un nombre limité de plates-formes. Veuillez contacter votre représentant commercial Oracle si vous êtes intéressé par Oracle Database Vault en option sur Oracle9 i Database.

L'option Oracle Database Vault comprend les fonctionnalités suivantes :

Sécurité des étiquettes Oracle

Oracle Label Security offre une sécurité sophistiquée et flexible basée sur des étiquettes de ligne pour un contrôle d'accès précis. Cette option utilise des concepts d'étiquetage utilisés par le gouvernement, la défense et les organisations commerciales pour protéger les informations sensibles et assurer la séparation des données. Il comprend un outil puissant pour gérer les politiques, les étiquettes et les autorisations d'étiquettes utilisateur.

Par défaut, Oracle Label Security est configuré pour utiliser Oracle Database pour toute la gestion des politiques. Les utilisateurs intéressés par la gestion centralisée des politiques à l'aide de l'infrastructure de gestion des identités Oracle doivent également disposer d'une licence Oracle Identity and Access Management Suite. Veuillez contacter votre représentant commercial Oracle pour plus d'informations.

L'option Oracle Label Security comprend les fonctionnalités suivantes :

Contrôle d'accès basé sur des étiquettes (LBAC)

Facteurs d'étiquette pour Database Vault (confidentiel, sensible)

Autorisations d'étiquettes d'utilisateurs (Confidentiel, Sensible : PII)

Libellés de données (Sensibles : PII)

Apprentissage automatique d'Oracle

Oracle Machine Learning (anciennement Oracle Advanced Analytics) fournit des fonctionnalités d'analyse prédictive, d'exploration de données et de texte et de statistiques dans la base de données. Les capacités d'analyse sont accessibles via deux interfaces : SQL et/ou le langage R open source. Oracle Machine Learning for SQL (OML4SQL) (anciennement Oracle Data Mining) fournit de puissants algorithmes d'exploration de données qui s'exécutent en tant que fonctions SQL natives pour la création et le déploiement de modèles dans la base de données. OML4SQL est accessible via l'extension SQL Developer GUI Oracle Data Miner pour créer, évaluer, partager et déployer des méthodologies d'analyse prédictive. Oracle Machine Learning for R (OML4R) (anciennement Oracle R Enterprise) intègre étroitement le langage de programmation open source R avec la base de données et étend davantage la base de données avec la bibliothèque de fonctions statistiques de R. La couche de transparence R vers SQL d'OML4R, le moteur de statistiques SQL et le mode R intégré traduisent les scripts R en SQL, recherchent des opportunités de transférer les fonctionnalités vers SQL pour une amélioration significative des performances et permettent l'exécution en production du code R dans la base de données. De plus, R est intégré au langage SQL permettant aux applications SQL d'intégrer OML4R. Ensemble, ces fonctionnalités améliorent la base de données avec une gamme complète de fonctionnalités analytiques pour l'exploration de données, l'exploration de texte et l'analyse prédictive, les statistiques récapitulatives et descriptives, l'analyse et les graphiques de données exploratoires, les statistiques comparatives, les corrélations, les statistiques univariées et multivariées et les calculs numériques avancés.

Oracle Machine Learning comprend les deux composants principaux suivants :

OML4SQL vous permet de créer des applications avancées de Business Intelligence qui exploitent les bases de données d'entreprise, révèlent de nouveaux modèles et relations et intègrent ces informations dans les applications métier. Ce composant intègre la fonctionnalité d'exploration de données dans Oracle Database pour effectuer des classifications, des prédictions et des associations. Toutes les opérations de création de modèles, de scoring et de gestion des métadonnées sont accessibles via les API ODM SQL et PL/SQL. OML4SQL inclut les fonctionnalités suivantes :

API SQL et PL/SQL et mdash pour la création de modèles, l'application de modèles et les transformations de données

Catégorie d'algorithme et algorithmes pris en charge :

Classification : Bayes naïf, arbres de décision, machines à vecteurs de support, régression logistique

Régression : régression linéaire multivariée, machines à vecteurs de support

Détection d'anomalies : machines à vecteurs de support à une classe

Importance de l'attribut : Longueur minimale de la description

Règles d'association : A priori

Clustering : K-Means Clustering, O-Clustering

Extraction de caractéristiques : factorisation matricielle non négative

Analyse prédictive (packages PL/SQL) : prédire, expliquer, profiler

OML4R rend le langage et l'environnement de programmation statistique R populaires prêts pour l'entreprise et le big data. Conçu pour les problèmes impliquant de grandes quantités de données, OML4R permet aux utilisateurs d'exécuter des commandes R sur des données résidant dans la base de données, de développer et d'affiner des scripts R et de tirer parti du parallélisme et de l'évolutivité de la base de données. Les analystes de données peuvent exécuter les derniers packages open source R et développer et opérationnaliser des scripts R pour les applications analytiques en une seule étape et sans avoir à apprendre SQL. OML4R comprend les fonctionnalités suivantes :

La couche de transparence OML4R R : La couche de transparence permet à un utilisateur R d'interagir directement avec les données résidant dans la base de données à l'aide des constructions du langage R.

Le moteur de statistiques OML4R, un ensemble de fonctions et de procédures statistiques.

R intégré : ORE peut lancer plusieurs serveurs R pendant que la base de données gère les flux de données pour permettre aux processus R parallèles de s'exécuter indépendamment.

Toutes les fonctionnalités OML4R sont invoquées à l'aide du package ORE.

Le serveur OML4R (Oracle R Enterprise) est limité à un fonctionnement sur Oracle Linux 6 ou supérieur.

Traitement analytique en ligne Oracle (OLAP)

L'option OLAP d'Oracle Database est un serveur OLAP complet intégré à Oracle Database Enterprise Edition. Les types de données de cube Oracle OLAP améliorent les outils et applications de business intelligence en fournissant d'excellentes performances de requête, une analyse riche et des mises à jour incrémentielles rapides des ensembles de données. Les cubes OLAP sont facilement interrogés par les outils de business intelligence basés sur SQL via des vues matérialisées organisées en cubes et des vues de cubes OLAP. Les vues matérialisées organisées en cubes offrent une solution de gestion de synthèse alternative aux vues matérialisées basées sur des tableaux. Comme avec une vue matérialisée basée sur une table, un cube OLAP est accessible par des outils basés sur SQL de manière transparente à l'aide de la fonction de réécriture automatique des requêtes SQL des vues matérialisées. Les outils basés sur SQL peuvent accéder à la fois aux données récapitulatives et au contenu analytique riche directement via les vues de cube OLAP. Les outils OLAP multidimensionnels peuvent fournir une expérience OLAP complète à l'aide de l'API multidimensionnelle Oracle OLAP aux cubes. Un seul cube OLAP peut desservir chacun de ces types d'applications.

L'option Oracle OLAP comprend les fonctionnalités suivantes :

Définition, stockage et interrogation de cubes OLAP

Vues matérialisées du cube OLAP

Partitionnement Oracle

Oracle Partitioning améliore l'environnement de gestion des données pour les applications OLTP, data mart, entrepôt de données et gestion de contenu en ajoutant des capacités de gestion, de disponibilité et de performances importantes aux grandes tables et index de base de données sous-jacents. Oracle Partitioning vous permet de stocker de grandes tables sous forme de petits morceaux gérés individuellement, tout en conservant une vue unique des données au niveau de l'application.

L'option de partitionnement Oracle comprend les fonctionnalités suivantes :

Partitions et sous-partitions de table

Partitions et sous-partitions d'index local

Partitions et sous-partitions de l'indice mondial

Partitionnement basé sur des colonnes virtuelles

Oracle RAC un nœud

Oracle RAC One Node est la version à un nœud d'Oracle Real Application Clusters (Oracle RAC). Il permet aux clients de standardiser sur un modèle de déploiement unique pour tous leurs besoins en bases de données. Oracle RAC One Node rend la base de données hautement disponible en cas de pannes matérielles, de pannes logicielles ou d'événements de maintenance logicielle planifiés. En cas d'échec, l'instance de base de données est redémarrée sur un serveur disponible dans le cluster et les connexions client sont déplacées vers la nouvelle instance. Oracle RAC One Node peut être mis à niveau en ligne vers Oracle RAC complet (licence RAC requise) afin de s'adapter à plusieurs serveurs.

Oracle RAC One Node inclut les fonctionnalités suivantes :

Basculement à froid de la base de données vers un autre nœud du cluster en cas de défaillance du serveur ou de l'instance

Migration en ligne de l'instance de base de données vers un autre serveur

Prise en charge des mises à niveau progressives en ligne de la base de données, de l'infrastructure de grille et des systèmes d'accueil

Mise à niveau en ligne vers Oracle Real Application Clusters

Pools de serveurs gérés par des stratégies

Gestion de la qualité de service

Clusters d'applications Oracle Real (Oracle RAC)

Oracle Real Application Clusters (Oracle RAC) est un environnement informatique de base de données qui exploite la puissance de traitement de plusieurs ordinateurs interconnectés à l'aide de la technologie de clustering. Oracle RAC permet à plusieurs serveurs de monter une seule base de données, offrant une évolutivité illimitée et une haute disponibilité pour toutes les applications. Oracle RAC rend la base de données hautement disponible en cas de défaillance matérielle ou logicielle de l'ordinateur : en cas de défaillance d'un ordinateur du cluster, la base de données continue de fournir un service sur les ordinateurs survivants du cluster. Oracle RAC provides scalable performance: as demand for database throughput grows, additional computers can be added to the database cluster with no downtime. Oracle RAC also supports a single-system image for ease of management.

Oracle Real Application Clusters includes the following features:

All the capabilities of Oracle RAC One Node

With the exception of "Online migration of the database instance to another server"

Real Application Clusters scaling to multiple servers

Connection Load Balancing

Oracle Real Application Testing

The Oracle Real Application Testing option comprises a suite of features that help protect database applications from undesirable impact of routine changes such as hardware/software upgrades, configuration changes, platform migrations, and so forth. These features enable comprehensive testing of real-world applications so that any issues resulting from system changes are fully identified and addressed during testing, and unexpected problems encountered when a change is finally made in the production systems are minimized.

The Oracle Real Application Testing option includes the following features:

SQL Performance Analyzer (SPA)

Oracle Real Application Testing functionality can be accessed by Enterprise Manager as well as through the database server command-line APIs. The use of either interface requires an Oracle Real Application Testing option license.

In addition, the use of the 'Replay Compare Period Report' requires a license of Oracle Diagnostics Pack.

Command-Line APIs

The Database Replay feature can also be accessed by way of database server APIs and command-line interfaces:

DBMS_WORKLOAD_CAPTURE package is part of the Oracle Real Application Testing option

DBMS_WORKLOAD_REPLAY package is part of the Oracle Real Application Testing option

The use of the DBMS_WORKLOAD_REPLAY . COMPARE_PERIOD_REPORT() function also requires a license of Oracle Diagnostics Pack.

The SQL Performance Analyzer feature can also be accessed by way of database server APIs and command-line interfaces:

DBMS_SQLPA package is part of Oracle Real Application Testing option

The Oracle Real Application Testing license is required on both capture and replay systems for Database Replay and is charged by the total number of CPUs on those systems.

Oracle Spatial and Graph

The Oracle Spatial and Graph option includes advanced features for spatial data and analysis and for physical, network, and social graph applications.

Spatial Features

The geospatial data features provide storage, analysis, and indexing of 2D and 3D location data accessible through SQL and standard programming languages as well as advanced features to support complex geographic information systems (GIS) applications, enterprise applications, and location-based services applications.

These advanced spatial features include:

Selected Spatial Functions, including the SDO_AGGR_UNION spatial aggregate function

The following SDO_GEOM package subprograms: SDO_GEOM.RELATE , SDO_GEOM.SDO_DIFFERENCE , SDO_GEOM.SDO_INTERSECTION , SDO_GEOM.SDO_UNION , SDO_GEOM.SDO_VOLUME , and SDO_GEOM.SDO_XOR

Classes in packages other than the oracle . spatial . geometry ( sdoapi . jar ) and oracle . spatial . util ( sdoutil . jar ) packages of the Spatial Java API

Linear Referencing System (LRS) support

GeoRaster Storage, Indexing, and Querying

Spatial analysis and mining subprograms ( SDO_SAM package)

Spatial Web Services including OpenLS support, including support for geocoding, mapping, business directory (Yellow Pages), and driving directions (routing) services, Web feature service (WFS) support ( SDO_WFS_PROCESS and SDO_WFS_LOCK packages), and Catalog services for the Web (CSW) support ( SDO_CSW_PROCESS package)

3-D Geometry, Surface, Triangulated irregular network (TIN), and Point Cloud Storage, Indexing, and Querying

Semantic Content Storage, Indexing, and Querying (RDF/OWL Support), and ontology management

Graph Features

The graph database features include two graph models:

A network data model (NDM) graph to model and analyze link-node graphs to represent physical and logical networks used in transportation, utilities and telco

A semantic RDF graph to model and analyze data represented as triples for social network, linked data, and other semantic applications

The Network Data Model graph features include:

A storage model to represent graphs and networks in link and node tables

Java APIs to perform analysis in memory

Numerous graph analysis functions including shortest path, within cost, nearest neighbors, traveling salesman, spanning tree, and more

Explicit storage and connectivity of the graph with link- and node-level attributes

Support for directed and undirected graphs with or without cost

The RDF Semantic graph features include:

Graph relationships represented as triples in compressed, partitioned tables

Indexing, querying, and ontology management

RDFS, OWL, and user-defined inferencing (parallel, batch, and incremental)

Support for SPARQL 1.1 and mixed SPARQL and SQL queries

Enhanced Open Source Tools including Jena, Sesame, Joseki Web Services

Oracle TimesTen Application-Tier Database Cache

Oracle TimesTen Application-Tier Database Cache enables you to improve application transaction response time by caching a performance critical subset of tables from an Oracle Database to the application tier. Applications perform read/write operations on the cache tables using standard SQL with automatic persistence, transactional consistency, and data synchronization with the Oracle database.

Oracle TimesTen Application-Tier Database Cache includes the following features:

Data access using PL/SQL, JDBC, ODBC, ttClasses, OCI, and Pro*C/C++ interfaces

Transaction Log API (XLA) for change notification

Automatic data synchronization with the Oracle database

Transactional replication between the in-memory cache databases

Automated failure detection and database failovers

TimesTen Extension for Oracle SQL Developer

TimesTen Plug-in for Oracle Enterprise Manager


Net use mapping not working in batch files but works in cmd

I've got users using logon script in the domain (username.bat). The script simply lists 4 or 5 (net use lettre: SERVERdirectory). However, when they open their session, the logon script doesnt work and returns system error 53 or 67 for all of them. I tried running the script after the profile has loaded and evrything is running, and it still gives me the error.

I've then tried to run the same command in the cmd.exe. Everything mapped correctly. It also works fine if I map the drives using the "Tools > Map network drives" utility.

Is there anything that can prevent a command to work when ran in a batch-file but works correctly when typed in manually?


The features to be copied.

The feature class which will be created and to which the features will be copied. If the output feature class already exists and the overwrite option is set to true, the output will be deleted first. If the output feature class already exists and the overwrite option is set to false, the operation will fail.

Geodatabase configuration keyword to be applied if the output is an ArcSDE geodatabase or file geodatabase.

The Spatial Grid 1, 2, and 3 parameters apply only to file geodatabases and certain workgroup and enterprise geodatabase feature classes. Si vous n'êtes pas familiarisé avec la définition des tailles de grille, laissez ces options sur 0,0,0 et ArcGIS calculera les tailles optimales pour vous. Pour plus d'informations sur ce paramètre, reportez-vous à la documentation de l'outil Ajouter un index spatial.

Taille de cellule de la deuxième grille spatiale. Laissez la taille à 0 si vous ne voulez qu'une seule grille. Sinon, définissez la taille sur au moins trois fois plus grande que la grille spatiale 1.

Taille de cellule de la troisième grille spatiale. Laissez la taille à 0 si vous ne voulez que deux grilles. Sinon, définissez la taille sur au moins trois fois plus grande que la grille spatiale 2.