eval

Utilizzare il comando eval per calcolare il valore di un'espressione e visualizzare il valore in un nuovo campo.

Nota

  • Mentre il comando stats calcola le statistiche in base ai campi esistenti, il comando eval crea nuovi campi utilizzando campi esistenti ed espressioni arbitrarie.

  • Le funzioni di elaborazione delle stringhe, ad esempio indexof e substr, utilizzano molte risorse. Per questo motivo, l'esecuzione del comando eval con queste funzioni rispetto a un numero elevato di record di log o a valori di campo elevati non è consigliabile. Estrarre questi valori utilizzando le definizioni di campo estese (EFD) o le etichette nell'origine log. Vedere Usa campi estesi nelle origini e Usa etichette nelle origini.

  • Assicurarsi che il nome del campo utilizzato nel comando eval non contenga i caratteri [ e ].

Sintassi

*|eval <new_field_name>=<expression>

Operatori e funzioni disponibili con il comando:

La tabella seguente elenca gli operatori disponibili con il comando eval.

Categoria Esempio

Operatori Arithmetic

+, -, *, /, %

Operatori di confronto

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

Operatori logici

and, or, not

Operatori condizionali

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

Operatori di confronto multipli

in, not in

La tabella seguente elenca le funzioni disponibili con il comando eval.

Categoria Esempio

Funzioni di stringa

  • capitalize(String)

    Capitalizzare il primo carattere della stringa.

  • concat(String, String)

    • Per la funzione concat(), è possibile immettere tipi di dati numerici quali numeri interi, a virgola mobile o lunghi. I campi numerici con cui vengono convertiti automaticamente nei valori stringa corrispondenti.

    • È possibile utilizzare || per concatenare il numero di input n. Anche in questo caso, è possibile immettere tipi di dati numerici che verranno convertiti automaticamente nei valori stringa corrispondenti.

  • decode64(String)

    Nota: se il valore stringa è un campo, deve fare distinzione tra maiuscole e minuscole.

  • encode64(String)

  • indexof (String, String [,int])

    Vedere dettagli funzione indice.

  • lastindexof(String, String, int)

    Vedere lastindexof Function Details.

  • length(String)

  • literal(String)

  • lower(String)

  • ltrim(String, Character)

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

    Vedere Sostituisci dettagli funzione.

  • reverse(String)

  • rtrim(String, Character)

  • substr(String, int [, int])

    Vedere Dettagli funzione sottostr..

  • todate(String [, format])

  • toduration(String)

  • tonumber(String)

  • trim(String)

  • trim(String, Character)

  • upper(String)

  • urlDecode(String)

  • urlEncode(String)

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

    Vedere Dettagli funzione URL e Url breve definito da Oracle.

Funzioni numeriche

  • abs(number)

  • ceil(number)

  • distance(number, number, number, number)

    Il valore restituito dalla funzione è espresso in miglia. I numeri sono in gradi. toRadians() converte i gradi in radianti.

  • distance(string, string)

    Il valore restituito dalla funzione è espresso in miglia. I numeri sono in gradi.

  • floor(number)

  • formatduration(number)

  • max(number, number)

  • min(number, number)

  • power(number, int)

  • round(number, int)

  • sqrt(number)

  • tostring(number)

  • unit(number, unit). Vedere Tipi supportati per la funzione unità e Tipi di divisa supportati nella funzione unità.

Funzioni data

  • dateadd(date, property, amount)

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

  • formatdate(date [,format])

  • now()

Analogamente al comando where, è possibile utilizzare una stringa leggibile dall'utente per manipolare l'ora nella query. Ad esempio, per creare un nuovo campo denominato 10mins In seguito con 10 minuti di anticipo rispetto al valore nel campo Ora, procedere come segue.

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

Vedere Stringhe temporali facili da usare nei confronti.

Funzioni condizionali

  • cidrmatch(String, String)

  • contains(String, String)

  • endsWith(String, String)

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

  • startsWith(String, String)

  • anyOf(condition1, condition2, ..., conditionN)

  • allOf(condition1, condition2, ..., conditionN)

  • anyFields(wildCardExpression) = value

  • allFields(wildCardExpression) = value

Per esempi sull'uso delle funzioni anyOf, allOf, anyFields e allFields, vedere search e where.

Funzioni hash

  • md5(<value to hash>)

  • sha1(<value to hash>)

  • sha256(<value to hash>)

  • sha512(<value to hash>)

Nota: le funzioni md5 e sha operano attualmente sui valori dei campi minuscoli.

Funzioni trigonometriche

  • arccos(<number>)

    Coseno dell'arco di un angolo.

  • arcsin(<number>)

    Seno artico di un angolo.

  • arctan(<number>)

    Arco tangente di un angolo.

  • atan2(<numbera>,<numberb>)

    Angolo in raggi su una coordinata polare, per le coordinate cartesiane a e b.

  • cos(<number>)

    Coseno trigonometrico di un angolo.

  • e()

    Valore della costante matematica e.

  • pi()

    Valore di pi.

  • sin(<number>)

    Seno trigonometrico di un angolo nei radianti.

  • tan(<number>)

    Tangente di un angolo.

  • toDegrees(<number>)

    Convertire da radianti a gradi.

  • toRadians(<number>)

    Convertire da gradi a radianti.

Parametri

Nella tabella seguente sono elencati i parametri utilizzati in questo comando, insieme alle relative descrizioni.

Parametro Descrizione

new_field_name

Specificare il nome del campo in cui deve essere visualizzato il valore calcolato dell'espressione.

expression

Specificare l'espressione per la quale deve essere calcolato il valore.

Di seguito sono riportati alcuni esempi del comando 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)

Nell'esempio seguente vengono confrontati gli indirizzi IP nel campo srvrhostip con un intervallo di subnet.

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

L'esempio seguente restituisce la stringa "Target".

*|eval newField = literal(Target)

Nell'esempio seguente vengono rimossi gli spazi e le schede da entrambe le estremità.

*|eval newField = trim(Label)

Nell'esempio seguente viene rimosso il carattere corrispondente da entrambe le estremità.

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

Nell'esempio seguente viene rimosso il carattere corrispondente dall'estremità sinistra.

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

Nell'esempio seguente viene rimosso il carattere corrispondente dall'estremità destra.

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

L'esempio seguente imposta il campo date su Start Date e definisce il formato della data come MM/dd/yyyy HH:mm.

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

La funzione toDate può anche essere utilizzata per gestire l'epoca come segue:

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

L'esempio seguente imposta il valore del campo duration su 1.30.

*|eval duration = toduration("1.30")

L'esempio seguente imposta il valore del campo duration su un valore numerico che corrisponde alla differenza tra End Time e Start Time.

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

Gli esempi riportati di seguito illustrano l'uso delle funzioni di data.

*| 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()

È possibile utilizzare le funzioni hash md5, sha1, sha256 e sha512 con il comando eval per filtrare i dati di log. L'esempio seguente imposta il valore del campo user con il valore sha1("jane").

*|eval user = sha1("jane")

L'esempio seguente converte un esadecimale in un decimale e n restituisce 255:

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

L'esempio seguente converte un numero ottale in un numero decimale e n restituisce 10:

* | eval n = toNumber('012')

Il comando seguente calcola la distanza (in miglia) tra due coppie di coordinate lat-long specificate in gradi, quando i valori di input sono numeri:

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

Il seguente comando calcola la distanza (in miglia) tra due coppie di coordinate lat-long (in gradi), quando i valori di input sono due stringhe:

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

Esempi per la funzione unit

Alcuni semplici esempi:

* | 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')

Esempi di unità comuni quali byte, valuta e durata:

* | 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'

Eseguire le tre query sopra riportate nella visualizzazione Casella con l'opzione Numero formato selezionata per ottenere i risultati migliori.

Un campo con dimensione o durata di tipo unità viene utilizzato per formattare i valori nel grafico Analizza collegamento, negli istogrammi dei campi aggiuntivi, nella tabella collegamenti e nella visualizzazione Casella:

'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'

Contrassegna un campo come contenente rispettivamente dollari USA, migliaia di dollari USA, milioni di dollari USA o miliardi di dollari USA:

| 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)

Tipi supportati per la funzione unit

Nomi unità:

  • PERCENT | PCT
  • Dimensione dati:
    • BYTE
    • KILOBYTE | KB
    • MEGABYTE | MB
    • GIGABYTE | GB
    • TERABYTE | TB
    • PETABYTE | PB
    • EXABYTE | EB
  • Ora:
    • 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
  • Potenza:
    • WATT
    • KILOWATT | kW
    • MEGAWATT | MW
    • GIGAWATT | GW
    • TERAWATT | TW
    • PETAWATT | PW
    • EXAWATT | EW
  • Temperatura:
    • KELVIN | K
    • CELSIUS | C
    • FAHRENHEIT | F
  • la frequenza:
    • HERTZ | Hz
    • KILOHERTZ | kHz
    • MEGAHERTZ | MHz
    • GIGAHERTZ | GHz
    • TERAHERTZ | THz
    • PETAHERTZ | PHz
    • EXAHERTZ | EHz

Tipi di valuta supportati nella funzione unit

È possibile utilizzare questa funzione per il comando eval solo con il comando link. Vedere i collegamenti di esempio del comando eval per l'utilizzo della funzione in scenari tipici.

Specificare l'unità divisa utilizzando il seguente formato:

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)

I suffissi _k, _m e _b vengono utilizzati per indicare la valuta rispettivamente in migliaia, milioni o miliardi. Per un elenco completo dei codici valuta, vedere Standard ISO.

NLS_Territory Divisa
AFGHANISTAN AFN
ALBANIA ALL
ALGERIA DZD
AMERICA USD
ANGOLA AOA
ANTIGUA E BARBUDA XCD
ARGENTINA ARS
ARMENIA AMD
ARUBA AWG
AUSTRALIA AUD
AUSTRIA EURO
AZERBAIGIAN AZN
BAHAMAS BSD
BAHREIN Diploma di laurea
BANGLADESH BDT
BARBADOS BBD
BIELORUSSIA BYN
BELGIO EURO
BELIZE BZD
BERMUDA BMD
BOLIVIA Business object
BOSNIA-ERZEGOVINA BAM
BOTSWANA BWP
BRASILE BRL
BULGARIA BGN
CAMBOGIA KHR
CAMERUN XAF
CANADA CAD
ISOLE CAYMAN KYD
CILE CLP
CINA CNY
COLOMBIA COP
CONGO BRAZZAVILLE XAF
CONGO KINSHASA CDF
COSTA RICA CRC
CROAZIA HRK
CURAÇAO ANG
CIPRO EURO
REPUBBLICA CECA CZK
DANIMARCA DKK
GIBUTI DJF
DOMINICA XCD
REPUBBLICA DOMINICANA DOP
ECUADOR USD
EGITTO EGP
EL SALVADOR Centro assistenza
ESTONIA EURO
ETIOPIA ETB
FINLANDIA EURO
FRANCIA EURO
FYR MACEDONIA MKD
GABON XAF
GEORGIA GEL
GERMANIA EURO
GHANA GHS
GRECIA EURO
GRENADA XCD
GUATEMALA GTQ
GUYANA GYD
HAITI HTG
HONDURAS HNL
HONG KONG HKD
UNGHERIA HUF
ISLANDA ISK
INDIA INR
INDONESIA IDR
IRAN IRR
IRAQ IQD
IRLANDA EURO
ISRAELE ILS
ITALIA EURO
COSTA D'AVORIO XOF
GIAMAICA JMD
GIAPPONE GIAPPONE
GIORDANIA DIO
KAZAKHISTAN KZT
KENYA KES
COREA KRW
KUWAIT KWD
KIRGHIZISTAN KGS
LAOS LAVORO
LETTONIA EURO
LIBANO LBP
LIBIA LYD
LIECHTENSTEIN CHF
LITUANIA EURO
LUSSEMBURGO EURO
MACAO Moc
MALAWI MWK
MALESIA MYR
MALDIVE MVR
MALTA EURO
MAURITANIA STR
MAURITIUS MUR
MESSICO MXN
MOLDAVIA MDL
MONTENEGRO EURO
MAROCCO MAD
MOZAMBICO MZN
BIRMANIA MMK
NAMIBIA NAD
NEPALE NPR
NUOVA ZELANDA NZD
NICARAGUA NIO
NIGERIA NGN
NORVEGIA NOK
OMAN SMO
PAKISTAN Chiave primaria
PANAMA PAB
PARAGUAY Anno fiscale
PERU PEN
FILIPPINE PHP
POLONIA PLN
PORTOGALLO EURO
PORTORICO USD
QATAR QAR
ROMANIA RON
RUSSIA RUB
SAINT KITTS E NEVIS XCD
SANTA LUCIA XCD
ARABIA SAUDITA SAR
SENEGAL XOF
SERBIA RSD
SIERRA LEONE SLL
SINGAPORE SGD
SLOVACCHIA EURO
SLOVENIA EURO
SOMALIA SOS
SUDAFRICA ZAR
SUDAN DEL SUD Prezzo vendita svincolata
SPAGNA EURO
SRI LANKA LKR
SUDAN SDG
SURINAME RSD
SWAZILAND SZL
SVEZIA SEK
SVIZZERA CHF
SIRIA SYP
TAIWAN TWD
TANZANIA ZS
TAILANDIA THB
PAESI BASSI EURO
TRINIDAD E TOBAGO Progressivo periodo
TUNISIA TND
TURCHIA PROVA
TURKMENISTAN TMT
UGANDA Accedi
UCRAINA UAH
EMIRATI ARABI UNITI AED
REGNO UNITO GBP
URUGUAY UYU
UZBEKISTAN UZS
VENEZUELA VES
VIETNAM VND
YEMEN YER
ZAMBIA ZMW
ZIMBABWE ZWL

Dettagli funzione indexof

La sintassi della funzione index0f:

indexof (String, String [,int])

indexof (String, String [,start_pos]): il conteggio degli indici inizia con 0, restituisce l'indice di corrispondenza a partire da start_pos (se fornito) e restituisce -1 se non corrisponde.

L'esempio seguente imposta il valore del campo newField con la posizione di .com nella stringa uri.

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

Caso d'uso: estrarre la parte pertinente del percorso API dai log di audit OCI, campo Percorso

Il campo Percorso contiene un valore simile a /apis/coordination.k8s.io/v1/namespaces/default/leases/oracle.com-oci.

È possibile estrarre il valore coordination.k8s dal campo precedente effettuando le operazioni riportate di seguito.

  • Trovare la posizione del primo e del secondo / utilizzando la funzione indexOf().
  • Trova la posizione del terzo /.
  • Estrarre i valori dopo il secondo / fino al terzo / utilizzando la funzione 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

Output di esempio:


Caso d'uso: estrarre la parte pertinente del percorso API dai log di audit OCI, campo Percorso

Dettagli funzione lastindexof

La sintassi della funzione lastindexof:

lastindexof(String, String, int)

lastindexof (String, String [, end_pos]): il conteggio degli indici inizia con 0, restituisce l'indice dell'ultima occorrenza della sottostringa prima di end_pos (se fornito) e restituisce -1 se non corrisponde. L'argomento end_pos è facoltativo.

Alcuni esempi di utilizzo della funzione lastindexof:

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

Caso d'uso: estrazione dell'area dal campo Tipo nei log di audit OCI

Il campo Tipo contiene un valore simile a com.oraclecloud.computeApi.GetInstance.

Per estrarre computeAPI dal valore precedente, è possibile utilizzare il seguente schema:

  • Identificare la posizione dell'ultimo . utilizzando lastIndexOf().
  • Da questo offset, identificare la posizione del precedente ., utilizzando un altro lastIndexOf(), ma fornendo l'offset da dove cercare indietro.
  • Estrarre il valore tra queste due posizioni utilizzando 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

Output di esempio:


Caso d'uso: estrazione dell'area dal campo Tipo nei log di audit OCI

Dettagli funzione replace

La sintassi della funzione replace:

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

replace supporta più sostituzioni in un'unica funzione. Alcuni esempi di utilizzo della funzione replace:

  • *|eval newField = replace('aabbcc', 'bb', 'xx')
  • *|eval newField = replace('aabbcc', 'bb', 'xx', 'cc', 'yy')
  • Esempio di più azioni di sostituzione in una singola funzione replace:

    * | 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')

Dettagli funzione substr

La sintassi della funzione substr:

substr(String, int [, int])

substr(String, start_pos, end_pos - 1): il conteggio degli indici inizia con start_pos e termina con end_pos - 1.

Nell'esempio seguente, newField è la sottostringa di aabbcc, dove l'indice iniziale (incluso) è 2 e l'indice finale (escluso) è 4. Si noti che per le stringhe il conteggio degli indici inizia con 0. Quindi la sottostringa risultante è bb.

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

Per i casi d'uso in cui viene utilizzata la funzione substr, vedere indexof Function Details e lastindexof Function Details.

Dettagli funzione url

La sintassi della funzione url:

url(String, Name, Parameter)

I valori Nome e Parametro sono facoltativi.

  • Stringa: può essere un URL o uno dei nomi brevi predefiniti. Ad esempio:
    eval Link = url('https://www.oracle.com')
  • Nome: nome facoltativo per l'URL. Ad esempio:
    eval Link = url('https://www.oracle.com', 'Oracle Home Page')
  • Parametro: parametro facoltativo se si utilizza un collegamento per Stringa. Ad esempio:
    eval Link = url('tech', 'Search Oracle', 'ORA-600')

Alcuni esempi di utilizzo della funzione 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

Esempi di utilizzo della funzione url dopo il comando 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)

Short cut url definiti da Oracle

I seguenti tasti di scelta rapida definiti da Oracle sono disponibili per l'utilizzo con la funzione url per il comando eval.

Collegamento a breve URL e descrizione Esempio

ora

ricerca:oracle

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

Generare un collegamento per cercare tutte le stringhe specificate in oracle.com

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

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

tecnologia

tecnologia oracle

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

Genera un collegamento per cercare nei forum della tecnologia 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=

Generare un collegamento per cercare nei forum di 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=

Genera un link per la ricerca utilizzando Google

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

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

Generare un collegamento per la ricerca mediante Bing

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

ddg

anatra

https://duckduckgo.com/?q=

Generare un collegamento per la ricerca utilizzando DuckDuckGo

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

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

così

stackoverflow

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

Generare un collegamento da cercare in 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=

Genera un collegamento per l'ID CVE specificato

* | 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