eval

Utilisez la commande eval pour calculer la valeur d'une expression et afficher cette valeur dans un nouveau champ.

Remarque

  • While the stats command calculates statistics based on existing fields, the eval command creates new fields by using existing fields and arbitrary expressions.

  • Les fonctions de traitement de chaînes telles que indexof et substr consomment beaucoup de ressources. Pour cette raison, il n'est pas recommandé d'exécuter la commande eval avec ces fonctions sur un grand nombre d'enregistrements de journal ou des valeurs de champ volumineuses. A la place, extrayez ces valeurs à l'aide des définitions de champ étendu (EFD) ou des libellés de votre source de journal. Reportez-vous à Utilisation de champs étendus dans les sources et à Utilisation de étiquettes dans les sources.

  • Assurez-vous que le nom de champ utilisé dans la commande eval ne contient pas les caractères [ et ].

Syntaxe

*|eval <new_field_name>=<expression>

Opérateurs et fonctions disponibles avec la commande:

Le tableau suivant répertorie les opérateurs disponibles avec la commande eval.

Catégorie Exemple

Opérateurs arithmétiques

+, -, *, /, %

Opérateurs de comparaison

=, !=, <, >, <=, >=

Opérateurs logiques

and, or, not

Opérateurs conditionnels

if(<expression>,<expression>,<expression>)

Opérateurs de comparaison multiples

in, not in

Le tableau suivant répertorie les fonctions disponibles avec la commande eval.

Catégorie Exemple

Fonctions de chaîne

  • capitalize(String)

    Mettez en majuscule le premier caractère de la chaîne.

  • concat(String, String)

    • Pour la fonction concat(), vous pouvez entrer des types de données numériques (entier, nombre à virgule flottante, long, etc.). Les champs numériques sont remplacés automatiquement par les valeurs de chaîne correspondantes.

    • Vous pouvez utiliser || pour concaténer un nombre n d'entrées. Ici aussi, vous pouvez entrer des types de données numériques qui sont automatiquement remplacés par les valeurs de chaîne correspondantes.

  • decode64(String)

    Remarque : Si la valeur de chaîne est un champ, il doit être sensible à la casse.

  • encode64(String)

  • indexof (String, String [,int])

    Reportez-vous à la section indexof Function Details.

  • lastindexof(String, String, int)

    Reportez-vous à lastindexof Function Details.

  • length(String)

  • literal(String)

  • lower(String)

  • ltrim(String, Character)

  • replace(String, String, String, String, String, ..)

    Reportez-vous à la section replace Function Details.

  • reverse(String)

  • rtrim(String, Character)

  • substr(String, int [, int])

    Voir Détails de la fonction substr.

  • todate(String [, format])

  • toduration(String)

  • tonumber(String)

  • trim(String)

  • trim(String, Character)

  • upper(String)

  • urlDecode(String)

  • urlEncode(String)

  • url(String [, Name [, Parameter]])

    Reportez-vous aux sections url Function Details et Oracle-Defined url Short-Cuts.

Fonctions numériques

  • abs(number)

  • ceil(number)

  • distance(number, number, number, number)

    La valeur renvoyée par la fonction est en miles. Les nombres sont en degrés. toRadians() convertit les degrés en radians.

  • distance(string, string)

    La valeur renvoyée par la fonction est en miles. Les nombres sont en degrés.

  • floor(number)

  • formatduration(number)

  • max(number, number)

  • min(number, number)

  • power(number, int)

  • round(number, int)

  • sqrt(number)

  • tostring(number)

  • unit(number, unit). Reportez-vous à Types pris en charge pour la Fonction unit et à Types pris en charge pour la Fonction unit.

Fonctions de date

  • dateadd(date, property, amount)

  • dateset(date, property, value [, property, value])

  • formatdate(date [,format])

  • now()

Comme pour la commande where, vous pouvez utiliser une chaîne lisible par l'utilisateur pour manipuler l'heure dans la requête. Par exemple, pour créer un champ nommé 10mins Later qui précède de 10 minutes la valeur du champ Time, procédez comme suit :

* | eval '10mins Later' = Time + 10mins

Reportez-vous à Chaînes de temps conviviales dans les comparaisons.

Fonctions conditionnelles

  • cidrmatch(String, String)

  • contains(String, String)

  • endsWith(String, String)

  • if(<expression>, <expression>, <expression>)

  • startsWith(String, String)

Fonctions de hachage

  • md5(<value to hash>)

  • sha1(<value to hash>)

  • sha256(<value to hash>)

  • sha512(<value to hash>)

Remarque : les fonctions md5 et sha fonctionnent actuellement sur les valeurs de champ en minuscules.

Fonctions trigonométriques

  • arccos(<number>)

    Arc cosinus d'un angle.

  • arcsin(<number>)

    Arc sinus d'un angle.

  • arctan(<number>)

    Arc tangent d'un angle.

  • atan2(<numbera>,<numberb>)

    Angle en radians sur une coordonnée polaire, pour les coordonnées cartésiennes a et b.

  • cos(<number>)

    Cosinus trigonométrique d'angle.

  • e()

    Valeur de la constante mathématique e.

  • pi()

    Valeur de pi.

  • sin(<number>)

    Le sinus trigonométrique d'un angle en radians.

  • tan(<number>)

    tangente d'un angle.

  • toDegrees(<number>)

    Convertir de radians en degrés.

  • toRadians(<number>)

    Convertir de degrés en radians.

Paramètres

Le tableau suivant répertorie les paramètres utilisés dans cette commande, ainsi que leur description.

Paramètre Description

new_field_name

Indiquez le nom du champ dans lequel la valeur calculée de l'expression doit être affichée.

expression

Indiquez l'expression pour laquelle la valeur doit être calculée.

Voici quelques exemples de commande eval :

*|eval newField = 'foo'
*|eval newField = 123
*|eval newField = upper(Target)
*|eval newField = length('hello world')
*|eval s =capitalize(severity)
*|eval newField = concat(host, concat (':', port))
*|eval n = contains(uri, '.com')
*|eval n =endsWith(uri, '.com')
*|eval n =startsWith(uri, 'http://oracle')
*|eval s = decode64(value)
*|eval s = encode64(uri)
*|eval s = reverse(Command)
*|eval newField = host || ':'|| port
*|eval newField = round(123.4)
*|eval newField = floor(4096/1024)+Length
*|eval newField = if (max(Length)(Target), length(Severity)) <= 20, 'OK', 'ERROR')
*|eval newField = urlDecode('http%3A%2F%2Fexample.com%3A893%2Fsolr%2FCORE_0_0%2Fquery')
*|eval s = urlEncode(uri)
*|eval newField = 'Host Name (Destination)' in (host1, host2)
*|eval value = arccos(angle)
*|eval value = arcsin(angle)
*|eval value = arctan(angle)
*|eval value = atan2(x, y)
*|eval value = cos(angle)
*|eval value = e()
*|eval value = pi()
*|eval value = sin(angle)
*|eval value = tan(angle)
*|eval value =toDegrees(angle)
*|eval value =toRadians(angle)

L'exemple suivant compare les adresses IP du champ srvrhostip avec une plage de sous-réseaux.

*|eval newField = if (cidrmatch(srvrhostip, '192.0.2.254/25') = 1, 'local', 'not local')

L'exemple suivant renvoie la chaîne "Target".

*|eval newField = literal(Target)

L'exemple suivant enlève les espaces et les tabulations des deux extrémités.

*|eval newField = trim(Label)

L'exemple suivant enlève le caractère correspondant des deux extrémités.

*|eval newField = trim('User Name',h)

L'exemple suivant enlève le caractère correspondant de l'extrémité gauche.

*|eval newField = ltrim('Error ID',0)

L'exemple suivant enlève le caractère correspondant de l'extrémité droite.

*|eval newField = rtrim('OS Process ID',2)

L'exemple suivant définit le champ date sur Start Date et définit le format de la date sur MM/dd/yyyy HH:mm.

*|eval date = toDate('Start Date', 'MM/dd/yyyy HH:mm')

La fonction toDate peut également être utilisée pour gérer epoch comme suit :

... | where 'Start Time' > toDate(1405544998000)

L'exemple suivant définit la valeur du champ duration sur 1.30.

*|eval duration = toduration("1.30")

L'exemple suivant définit la valeur du champ duration sur une valeur numérique qui correspond à la différence entre End Time et Start Time.

*|eval duration = formatDuration('End Time' - 'Start Time')

Les exemples suivants illustrent l'utilisation des fonctions de date.

*| eval lastHour = dateAdd(now(), hour, -1)
*| eval midnight = dateSet(now(), hour, 0, minute, 0, sec, 0, msec, 0)
*| eval timeOnly = formatDate(now(), 'HH:mm:ss')
*| eval now = now()

Vous pouvez utiliser les fonctions de hachage MD5, SHA1, SHA256 et SHA512 avec la commande eval pour filtrer les données de journal. L'exemple suivant définit la valeur du champ user avec la valeur sha1("jane").

*|eval user = sha1("jane")

L'exemple suivant convertit un hexadécimal en décimal et n est évalué à 255 :

* | eval n = toNumber('0xFF')

L'exemple suivant convertit un nombre octal en nombre décimal et l'évaluation de n en 10 :

* | eval n = toNumber('012')

La commande suivante calcule la distance (en miles) entre deux paires de coordonnées lat-long spécifiées en degrés, lorsque les valeurs d'entrée sont des nombres :

* | eval n = distance(lat1, long1, lat2, long2) 

La commande suivante calcule la distance (en miles) entre deux paires de coordonnées lat-longues (en degrés), lorsque les valeurs d'entrée sont deux chaînes :

* | eval n = distance('lat1,long1', 'lat2,long2')

Exemples pour la fonction unit

Quelques exemples simples :

* | eval newField = unit('Content Size', KB)
* | eval 'File Size (bytes)' = unit('File Size', 'byte')
* | eval 'File Size (KB)' = unit('File Size'/1024, 'kb')
* | eval 'File Size (MB)' = unit('File Size'/(1024*1024), 'mb')
* | eval 'Time Taken (Sec)' = unit(Time/1000, 'SEC')

Exemples d'unités courantes telles que les octets, la devise et la durée :

* | eval Vol = unit('Content Size Out', byte) | stats sum(Vol) as 'Total Volume'
* | eval Sales = unit('Sales Amount', currency_usd) | stats sum('Sales') as 'Total Sales'
* | eval 'Disk Read Time' = unit('Disk Read Time (millis)', ms) | stats avg('Disk Read Time') as 'Avg Disk Read Time'

Exécutez les trois requêtes ci-dessus sur la visualisation de mosaïque avec l'option Numéro de format sélectionnée pour obtenir les meilleurs résultats.

Un champ avec une unité de taille et de durée est utilisé pour formater les valeurs dans le graphique d'analyse des liens, les histogrammes addfields, la table des liens et la visualisation de mosaïque :

'Log Source' = 'FMW WebLogic Server Access Logs'
| link span = 5minute Time, Server
| stats avg('Duration')     as 'Raw Avg. Duration'
        avg('Content Size') as 'Raw Avg. Transfer Size'
| eval 'Average Duration'      = unit('Raw Avg. Duration', ms)
| eval 'Average Transfer Size' = unit('Raw Avg. Transfer Size', byte)
| classify 'Start Time', 'Average Duration', 
          'Average Transfer Size' as 'Response Time vs. Download Sizes'

Marquer un champ comme contenant des dollars américains, des milliers de dollars américains, des millions de dollars américains ou des milliards de dollars américains, respectivement :

| eval 'Amount in USD' = unit('Sales Price', currency_usd)
| eval 'Amount in Thousands (USD)' = usd('Quarterly Sales', currency_usd_thousand)
| eval 'Amount in Millions (USD)' = usd('Annual Profit', currency_usd_million)
| eval 'Amount in Billions (USD)' = usd('Annual Sales', currency_usd_billion)

Types pris en charge pour la fonctionunit

Noms d'unité :

  • PERCENT | PCT
  • Taille des données:
    • BYTE
    • KILOBYTE | KB
    • MEGABYTE | MB
    • GIGABYTE | GB
    • TERABYTE | TB
    • PETABYTE | PB
    • EXABYTE | EB
  • Heure :
    • MILLISECOND | MS
    • S | SEC | SECS | SECOND | SECONDS
    • M | MIN | MINS | MINUTE | MINUTES
    • H | HR | HRS | HOUR | HOURS
    • D | DAY | DAYS
    • W | WEEK | WEEKS
    • MON | MONTH | MONTHS
    • Y | YR | YRS | YEAR | YEARS
    • MICRO | µs
  • Puissance :
    • WATT
    • KILOWATT | kW
    • MEGAWATT | MW
    • GIGAWATT | GW
    • TERAWATT | TW
    • PETAWATT | PW
    • EXAWATT | EW
  • Température :
    • KELVIN | K
    • CELSIUS | C
    • FAHRENHEIT | F
  • Fréquence :
    • HERTZ | Hz
    • KILOHERTZ | kHz
    • MEGAHERTZ | MHz
    • GIGAHERTZ | GHz
    • TERAHERTZ | THz
    • PETAHERTZ | PHz
    • EXAHERTZ | EHz

Types de devise pris en charge dans la fonction unit

Vous pouvez utiliser cette fonction pour la commande eval uniquement sous la commande link. Reportez-vous à des exemples de liens de commande eval pour utiliser la fonction dans des scénarios standard.

Indiquez l'unité monétaire au format suivant :

eval <New Field> = unit(<Field>, currency_<ISO-4217 Code>)
eval <New Field> = unit(<Field>, currency_<ISO-4217 Code>_k)
eval <New Field> = unit(<Field>, currency_<ISO-4217 Code>_m)
eval <New Field> = unit(<Field>, currency_<ISO-4217 Code>_b)

Les suffixes _k, _m et _b sont utilisés pour indiquer la devise en milliers, millions ou milliards, respectivement. Pour obtenir la liste complète des codes devise, reportez-vous à la section Normes ISO.

NLS_Territory Symbole monétaire
AFGHANISTAN AFN
ALBANIE TOUT
ALGERIE DZD
AMERIQUE EUR
ANGOLA AOA
ANTIGUA-ET-BARBUDA XCD
ARGENTINE ARS
ARMÉNIE AMD
ARUBA JFA
AUSTRALIE AUD
AUTRICHE EUR
AZERBAÏDJAN AZN
BAHAMAS BSD
BARHEIN BHD
BANGLADESH BDT
BARBADE BBD
BIÉLORUSSIE BYN
BELGIQUE EUR
BELIZE BZD
BERMUDES BMD
BOLIVIE BOB
BOSNIE-HERZÉGOVINE BAM
BOTSWANA PRB
BRESIL BRL
BULGARIE BGN
CAMBODGE KHR
CAMEROUN XAF
CANADA CAD
ILES CAÏMANS KYD
CHILI CLP
CHINE CNY
COLOMBIE COP
CONGO - BRAZZAVILLE XAF
CONGO - KINSHASA CDF
COSTA RICA CRC
CROATIE HRK
CURAÇAO ANG
CHYPRE EUR
CZECH REPUBLIC CZK
DANEMARK DKK
DJIBOUTI DJF
DOMINIQUE XCD
RÉPUBLIQUE DOMINICAINE Degré de parallélisme
EQUATEUR EUR
EGYPTE EGP
SALVADOR SVC
ESTONIE EUR
ÉTHIOPIE ETB
FINLANDE EUR
FRANCE EUR
FYR MACEDONIA MKD
GABON XAF
GÉORGIE GEL
ALLEMAGNE EUR
GHANA SGH
GRÈCE EUR
GRENADE XCD
GUATEMALA QTG
GUYANA GYD
HAITI HTG
HONDURAS HNL
HONG KONG HKD
HONGRIE HUF
ISLANDE ISK
INDE INR
INDONESIE Reconnaissance intelligente de documents
IRAN TRI
IRAQ IQD
IRLANDE EUR
ISRAËL ILS
ITALIE EUR
CÔTE D'IVOIRE XOF
JAMAÏQUE JMD
JAPON JPY
JORDANIE JOD
KAZAKHSTAN KZT
KENYA KES
COREE KRW
KOWEIT KWD
KYRGYZSTAN KGS
LAOS LAK
LETTONIE EUR
LIBAN LBP
LIBYE Année précédente
LIECHTENSTEIN CHF
LITUANIE EUR
LUXEMBOURG EUR
MACAO Stock de début de période
MALAWI MWK
MALAISIE ANM
MALDIVES MVR
MALTE EUR
MAURITANIE MRU
MAURICE MUR
MEXIQUE MXN
MOLDAVIE MDL
MONTÉNÉGRO EUR
MAROC MAD
MOZAMBIQUE MZN
BIRMANIE MMK
NAMIBIE NAD
NEPAL NPR
NOUVELLE-ZELANDE NZD
NICARAGUA NIO
NIGÉRIA NGN
NORVEGE OK
OMAN Remplacement de mouvement de commande (OMR)
PAKISTAN PKR
PANAMA PAB
PARAGUAY PYG
PERU PEN
PHILIPPINES PHP
POLOGNE PLN
PORTUGAL EUR
PORTO RICO EUR
QATAR QAR
ROUMANIE RON
RUSSIE RUB
SAINT-KITTS-ET-NEVIS XCD
SAINTE-LUCIE XCD
ARABIE SAOUDITE Analyse d'impact
SÉNÉGAL XOF
SERBIA RSD
SIERRA LÉONE SLL
SINGAPOUR SGD
SLOVAQUIE EUR
SLOVENIE EUR
SOMALIE SOS
AFRIQUE DU SUD ZAR
SOUDAN DU SUD Prix de vente autonome
ESPAGNE EUR
SRI LANKA LKR
SOUDAN Objet SDG
SURINAME SRD
SWAZILAND SZL
SUEDE Clé primaire
SUISSE CHF
SYRIE SYP
TAÏWAN TWD
TANZANIE TZS
THAILANDE THB
PAYS-BAS EUR
TRINITÉ-ET-TOBAGO Cumul à ce jour
TUNISIE TND
TURQUIE ESSAYER
TURKMENISTAN TMT
UGANDA UGX
UKRAINE UAH
EMIRATS ARABES UNIS AED
ROYAUME-UNI GBP
URUGUAY UYU
OUZBEKISTAN UZS
VENEZUELA VES
VIETNAM VND
YEMEN Oui
ZAMBIE ZMW
ZIMBABWE ZWL

indexof Détails de la fonction

Syntaxe de la fonction index0f :

indexof (String, String [,int])

indexof (String, String [,start_pos]) : le nombre d'index commence par 0, renvoie l'index de correspondance à partir du fichier start_pos (le cas échéant) et renvoie -1 en l'absence de correspondance.

L'exemple suivant définit la valeur du champ newField avec la position de .com dans la chaîne uri.

*|eval newField = indexOf(uri, '.com')

Cas d'utilisation : extraction de la partie pertinente du chemin d'API à partir des journaux d'audit OCI, champ Chemin

Le champ Chemin contient une valeur telle que /apis/coordination.k8s.io/v1/namespaces/default/leases/oracle.com-oci.

Vous pouvez extraire la valeur coordination.k8s du champ ci-dessus en procédant comme suit :

  • Recherchez la position des premier et deuxième éléments / à l'aide de la fonction indexOf().
  • Recherchez la position du troisième /.
  • Extrayez les valeurs après le deuxième élément /, jusqu'au troisième élément /, à l'aide de la fonction substr().
'Log Source' = 'OCI Audit Logs'
| eval firstPos = indexOf(Path, '/')
| eval secondPos = indexOf(Path, '/', firstPos + 1)
| eval API = substr(Path, secondPos + 1, indexOf(Path, '/', secondPos + 1))
| link Path, API

Exemple de sortie :


Cas d'utilisation : extraction de la partie pertinente du chemin d'API à partir des journaux d'audit OCI, champ Chemin

lastindexof Détails de la fonction

Syntaxe de la fonction lastindexof :

lastindexof(String, String, int)

lastindexof (String, String [, end_pos]) : le nombre d'index commence par 0, renvoie l'index de la dernière occurrence de la sous-chaîne avant end_pos (le cas échéant) et renvoie -1 en l'absence de correspondance. L'argument end_pos est facultatif.

Exemples d'utilisation de la fonction lastindexof :

*|eval n = lastindexof(uri, '.com')

Cas d'emploi : extraction de la zone à partir du champ Type dans les journaux d'audit OCI

Le champ Type contient une valeur telle que com.oraclecloud.computeApi.GetInstance.

Pour extraire computeAPI de la valeur ci-dessus, vous pouvez utiliser le schéma suivant :

  • Identifiez la position du dernier élément . à l'aide de lastIndexOf().
  • A partir de ce décalage, identifiez la position de l'élément . précédent, à l'aide d'un autre élément lastIndexOf(), mais en fournissant le décalage à partir duquel effectuer la recherche.
  • Extrayez la valeur entre ces deux positions à l'aide de substr().
'Log Source' = 'OCI Audit Logs' 
| eval lastDot = lastIndexOf(Type, '.') 
| eval prevDot = lastIndexOf(Type, '.', lastDot - 1) 
| eval Area    = substr(Type, prevDot + 1, lastDot) 
| link Type, Area

Exemple de sortie :


Cas d'utilisation : extraction de la zone à partir du champ Type dans les journaux d'audit OCI

replace Détails de la fonction

Syntaxe de la fonction replace :

replace(String, String, String, String, String, ..)

replace prend en charge plusieurs remplacements dans une seule fonction. Exemples d'utilisation de la fonction replace :

  • *|eval newField = replace('aabbcc', 'bb', 'xx')
  • *|eval newField = replace('aabbcc', 'bb', 'xx', 'cc', 'yy')
  • Exemple d'actions de remplacement multiples dans une fonction replace unique :

    * | eval CopiedURL = 'https://cloud.oracle.com/loganalytics/explorer?viz=<VIZ>&encodedQuery=<QUERY>&startTime=<START_TIME>&endTime=<END_TIME>&region=us-phoenix-1&tenant=testtenant'| eval Query = encode64('* | stats count as "Log Records" by "Log Source"') 
    | eval 'Start Epoch' = toString(toNumber(toDate(dateRelative(30day)))) 
    | eval 'End Epoch' = toString(toNumber(now())) 
    | eval Viz = pie 
    | eval URL = replace(CopiedURL, '<VIZ>', Viz, '<QUERY>', Query, '<START_TIME>', 'Start Epoch', '<END_TIME>', 'End Epoch')

substr Détails de la fonction

Syntaxe de la fonction substr :

substr(String, int [, int])

substr(String, start_pos, end_pos - 1) : le nombre d'index commence par start_pos et se termine par end_pos - 1.

Dans l'exemple suivant, newField est la sous-chaîne de aabbcc, où l'index de début (inclus) est 2 et l'index de fin (exclu) est 4. Pour les chaînes, le nombre d'index commence par 0. La sous-chaîne résultante est donc bb.

*|eval newField = substr('aabbcc', 2, 4)

Pour les cas d'utilisation où la fonction substr est utilisée, reportez-vous aux sections indexof Function Details et lastindexof Function Details.

Détails de la fonction url

Syntaxe de la fonction url :

url(String, Name, Parameter)

Les valeurs Name et Parameter sont facultatives.

  • String : il peut s'agir d'une URL ou de l'un des noms abrégés prédéfinis. Par exemple :
    eval Link = url('https://www.oracle.com')
  • Name : nom facultatif de l'URL. Par exemple :
    eval Link = url('https://www.oracle.com', 'Oracle Home Page')
  • Parameter : paramètre facultatif si un raccourci est utilisé pour String. Par exemple :
    eval Link = url('tech', 'Search Oracle', 'ORA-600')

Exemples d'utilisation de la fonction url :

  • * | stats latest(Status) as Status
     | eval ‘HTTP Status Code’ = url(‘https://www.google.com/search?q=http+code+’, Status, Status)
  • Status != null
     | eval 'HTTP Status Code' = url('https://www.google.com/search?q=http+code+', Status, Status)
     | stats count by Status

Exemples d'utilisation de la fonction url après la commande link :

  • * | link status
     | eval ‘HTTP Status Code’ = url(‘https://www.google.com/search?q=http+code+’, Status, Status)
  • * | link Type
     | stats latest(Status) as Status
     | eval ‘HTTP Status Code’ = url(‘[https://www.google.com/search?q=http+code+]’, Status, Status)

Coupes courtes url définies par Oracle

Les raccourcis définis par Oracle suivants sont disponibles avec la fonction url pour la commande eval.

Raccourci URL et description Exemple

ora

recherche:oracle

https://www.google.com/search?q=site:oracle.com%20

Générez un lien pour rechercher toutes les chaînes indiquées dans oracle.com

eval Help = url('ora', 'Search Oracle', 'ORA-600')

eval Help = url('search:oracle', 'Search Oracle', 'ORA-600')

technologie

oracle-tech

https://community.oracle.com/tech/search?query=

Générer un lien pour rechercher des forums technologiques Oracle

eval Help = url('tech', 'Search Oracle Tech Forums', 'ORA-600')

eval Help = url('oracle-tech', 'Search Oracle Tech Forums', 'ORA-600')

mosc

oracle-mosc

https://community.oracle.com/mosc/search?query=

Générer un lien pour rechercher des forums My Oracle Support

eval Help = url('mosc', 'Search Oracle Support', 'ORA-600')

eval Help = url('oracle-mosc', 'Search Oracle Support', 'ORA-600')

Google https://www.google.com/search?q=

Générer un lien pour effectuer une recherche à l'aide de Google

eval 'More Info' = url('google', 'Search using Google', 'ORA-600')

bing https://www.bing.com/search?q=

Générer un lien pour rechercher à l'aide de Bing

eval 'More Info' = url('bing', 'Search using Bing', 'ORA-600')

Ddg

canard-canard

https://duckduckgo.com/?q=

Générer un lien à rechercher à l'aide de DuckDuckGo

eval 'More Info' = url('ddg', 'Search using DuckDuckGo', 'ORA-600')

eval 'More Info' = url('duckduckgo', 'Search using DuckDuckGo', 'ORA-600')

so

débordement

https://stackoverflow.com/search?q=

Générez un lien pour rechercher sur StackOverflow

eval 'More Info' = url('so', 'Search using StackOverflow', 'ORA-600')

eval 'More Info' = url('stackoverflow', 'Search using StackOverflow', 'ORA-600')

cve

https://www.cve.org/CVERecord?id=

Générer un lien pour l'ID CVE donné

* | link

| eval 'CVE Details' = url(cve, 'CVE-2021-22931 - Improper Null Termination in Node.js', 'CVE-2021-22931')

Generates a link to https://www.cve.org/CVERecord?id=CVE-2021-22931