eval

Utilice el comando eval para calcular el valor de una expresión y mostrar el valor en un nuevo campo.

Nota

  • Mientras que el comando stats calcula estadísticas basadas en campos existentes, el comando eval crea nuevos campos mediante el uso de campos existentes y expresiones arbitrarias.

  • Las funciones de procesamiento de cadenas como indexof y substr requieren muchos recursos. Debido a esto, no se recomienda ejecutar el comando eval con estas funciones en un gran número de registros de log o en valores de campo grandes. En su lugar, extraiga estos valores utilizando las definiciones de campos ampliados (EFD) o las etiquetas del origen de log. Consulte Uso de campos ampliados en orígenes y Uso de marcas en orígenes.

  • Asegúrese de que el nombre de campo utilizado en el comando eval no contenga los caracteres [ y ].

Sintaxis

*|eval <new_field_name>=<expression>

Operadores y funciones disponibles con el comando:

En la siguiente tabla se muestran los operadores disponibles con el comando eval.

Categoría Ejemplo

Operadores aritméticos

+, -, *, /, %

Operadores de comparación

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

Operadores lógicos

and, or, not

Operadores condicionales

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

Varios operadores de comparación

in, not in

En la tabla siguiente se muestran las funciones disponibles con el comando eval.

Categoría Ejemplo

Funciones de cadena

  • capitalize(String)

    Capitalizar el primer carácter de la cadena.

  • concat(String, String)

    • Para la función concat(), puede introducir tipos de dato numéricos, como entero, flotante o largo. Los campos numéricos se convertirán automáticamente en los valores de cadena correspondientes.

    • Puede utilizar || para concatenar n entradas. Aquí también puede introducir tipos de datos numéricos, que se convertirán automáticamente en los valores de cadena correspondientes.

  • decode64(String)

    Nota: si el valor de cadena es un campo, debe ser sensible a mayúsculas/minúsculas.

  • encode64(String)

  • indexof (String, String [,int])

    Consulte indexof Function Details.

  • lastindexof(String, String, int)

    Consulte lastindexof Function Details.

  • length(String)

  • literal(String)

  • lower(String)

  • ltrim(String, Character)

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

    Consulte replace Function Details.

  • reverse(String)

  • rtrim(String, Character)

  • substr(String, int [, int])

    Consulte substr Function Details.

  • todate(String [, format])

  • toduration(String)

  • tonumber(String)

  • trim(String)

  • trim(String, Character)

  • upper(String)

  • urlDecode(String)

  • urlEncode(String)

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

    Consulte url Function Details y Oracle-Defined url Short-Cuts.

Funciones numéricas

  • abs(number)

  • ceil(number)

  • distance(number, number, number, number)

    El valor devuelto por la función está en millas. Los números están en grados. toRadians() convierte los grados en radianes.

  • distance(string, string)

    El valor devuelto por la función está en millas. Los números están en grados.

  • floor(number)

  • formatduration(number)

  • max(number, number)

  • min(number, number)

  • power(number, int)

  • round(number, int)

  • sqrt(number)

  • tostring(number)

  • unit(number, unit). Consulte Tipos soportados para la Función unit y Tipos de moneda soportados para la Función unit.

Funciones de fecha

  • dateadd(date, property, amount)

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

  • formatdate(date [,format])

  • now()

Al igual que el comando where, puede utilizar una cadena legible por el usuario para manipular el tiempo en la consulta. Por ejemplo, para crear un nuevo campo denominado 10mins Más tarde que esté 10 minutos por delante del valor en el campo Hora:

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

Consulte User-Friendly Time Strings in Comparisons.

Funciones condicionales

  • 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

Para ver ejemplos del uso de las funciones anyOf, allOf, anyFields y allFields, consulte search y where.

Funciones hash

  • md5(<value to hash>)

  • sha1(<value to hash>)

  • sha256(<value to hash>)

  • sha512(<value to hash>)

Nota: las funciones md5 y sha funcionan actualmente en los valores de campo en minúsculas.

Funciones trigonométricas

  • arccos(<number>)

    Coseno de arco de ángulo.

  • arcsin(<number>)

    Seno de arco de un ángulo.

  • arctan(<number>)

    Arco tangente a un ángulo.

  • atan2(<numbera>,<numberb>)

    Ángulo en radianes en una coordenada polar, para las coordenadas cartesianas a y b.

  • cos(<number>)

    Coseno trigonométrico de un ángulo.

  • e()

    Valor de la constante matemática e.

  • pi()

    Valor de pi.

  • sin(<number>)

    Seno trigonométrico de ángulo en radianes.

  • tan(<number>)

    tangente de un ángulo.

  • toDegrees(<number>)

    Convertir de radianes a grados.

  • toRadians(<number>)

    Convertir de grados a radianes.

Parámetros

En la siguiente tabla se muestran los parámetros utilizados en este comando, junto con sus descripciones.

Parámetro Descripción

new_field_name

Especifique el nombre del campo donde se va a mostrar el valor calculado de la expresión.

expression

Especifique la expresión para la que se debe calcular el valor.

A continuación se muestran algunos ejemplos 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)

En el siguiente ejemplo se comparan las direcciones IP del campo srvrhostip con un rango de subredes.

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

En el siguiente ejemplo se devuelve la cadena "Target".

*|eval newField = literal(Target)

En el siguiente ejemplo se eliminan los espacios y los separadores de ambos extremos.

*|eval newField = trim(Label)

En el siguiente ejemplo se elimina el carácter coincidente de ambos extremos.

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

En el siguiente ejemplo se elimina el carácter coincidente del extremo izquierdo.

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

En el siguiente ejemplo se elimina el carácter coincidente del extremo derecho.

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

En el siguiente ejemplo se define el campo date en Start Date y se define el formato de la fecha como MM/dd/yyyy HH:mm.

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

La función toDate también se puede utilizar para manejar la época de la siguiente manera:

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

En el siguiente ejemplo se define el valor del campo duration en 1.30.

*|eval duration = toduration("1.30")

En el siguiente ejemplo se define el valor del campo duration en un valor numérico, que es la diferencia entre End Time y Start Time.

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

Los ejemplos que se citan a continuación ilustran la utilización de funciones de fecha.

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

Puede utilizar las funciones hash md5, sha1, sha256 y sha512 con el comando eval para filtrar datos del log. En el siguiente ejemplo se define el valor del campo user con el valor sha1("jane").

*|eval user = sha1("jane")

En el siguiente ejemplo, se convierte un hexadecimal en decimal y n se evalúa como 255:

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

En el siguiente ejemplo, se convierte un número octal en decimal y n se evalúa como 10:

* | eval n = toNumber('012')

El siguiente comando calcula la distancia (en millas) entre dos pares de coordenadas lat-long especificadas en grados, cuando los valores de entrada son números:

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

El siguiente comando calcula la distancia (en millas) entre dos pares de coordenadas lat-long (en grados), cuando los valores de entrada son dos cadenas:

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

Ejemplos para la función unit

Algunos ejemplos sencillos:

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

Ejemplos de unidades comunes como bytes, moneda y duración:

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

Ejecute las tres consultas anteriores en la visualización de mosaico con la opción Número de formato activada para obtener los mejores resultados.

Se utilizaría un campo con un tamaño o tipo unit para Dar formato a los valores en el gráfico De análisis de vínculos, los histogramas de addfields, la tabla de vínculos y la visualización de mosaicos:

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

Marque un campo que contenga dólares estadounidenses, miles de dólares estadounidenses, millones de dólares estadounidenses o miles de millones de dólares estadounidenses, respectivamente:

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

Tipos Soportados para la Función unit

Nombres de unidad:

  • PERCENT | PCT
  • Tamaño de los datos:
    • BYTE
    • KILOBYTE | KB
    • MEGABYTE | MB
    • GIGABYTE | GB
    • TERABYTE | TB
    • PETABYTE | PB
    • EXABYTE | EB
  • Hora:
    • 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
  • Alimentación:
    • WATT
    • KILOWATT | kW
    • MEGAWATT | MW
    • GIGAWATT | GW
    • TERAWATT | TW
    • PETAWATT | PW
    • EXAWATT | EW
  • Temperatura:
    • KELVIN | K
    • CELSIUS | C
    • FAHRENHEIT | F
  • Frecuencia:
    • HERTZ | Hz
    • KILOHERTZ | kHz
    • MEGAHERTZ | MHz
    • GIGAHERTZ | GHz
    • TERAHERTZ | THz
    • PETAHERTZ | PHz
    • EXAHERTZ | EHz

Tipos de moneda soportados en la función unit

Puede utilizar esta función para el comando eval solo en el comando link. Consulte los enlaces de ejemplo del comando eval para utilizar la función en escenarios típicos.

Especifique la unidad de moneda con el siguiente 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)

Los sufijos _k, _m y _b se utilizan para indicar la moneda en miles, millones o miles de millones, respectivamente. Para obtener una lista completa de códigos de moneda, consulte Estándares ISO.

NLS_Territory Divisa
AFGANISTÁN AFN
ALBANIA TODO
ARGELIA DZD
EE.UU. Dólares estadounidenses
ANGOLA AOA
ANTIGUA & BARBUDA XCD
ARGENTINA ARS
ARMENIA AMD
ARUBA AWG
AUSTRALIA AUD
AUSTRIA EUR
AZERBAIYÁN AZN
BAHAMAS BSD
BAHREIN BHD
BANGLADESH BDT
BARBADOS BBD
BIELORRUSIA BYN
BÉLGICA EUR
BELICE BZD
BERMUDAS DMO
BOLIVIA Fecha de nacimiento
BOSNIA-HERZEGOVINA BAM
BOTSUANA Plan de trabajo
BRASIL BRL
BULGARIA Número de serie global
CAMBOYA KHR
CAMERÚN XAF
CANADÁ CAD
ISLAS CAIMANES KYD
CHILE CLP
CHINA CNY
COLOMBIA COP
CONGO BRAZZAVILLE XAF
KINSASA DEL CONGO CDF
COSTA RICA CRC
CROACIA RR. HH.
CURAZAO ANG
CHIPRE EUR
REPÚBLICA CHECA CZK
DINAMARCA DKK
DJIBUTI DJ
DOMINICA XCD
REPÚBLICA DOMINICANA DOP
ECUADOR Dólares estadounidenses
EGIPTO EGP
SALVADOR SVC
ESTONIA EUR
ETIOPÍA ETB
FINLANDIA EUR
FRANCIA EUR
ANTIGUA MACEDONIA MKD
GABÓN XAF
GEORGIA GEL
ALEMANIA EUR
GHANA SGA
GRECIA EUR
GRANADA XCD
GUATEMALA GTQ
GUAYANA GID
HAITI HTG
HONDURAS HNL
HONGKONG HKD
HUNGRÍA HUF
ISLANDIA ISK
INDIA IIN
INDONESIA IDR
IRÁN IRR
IRAK IQD
IRLANDA EUR
ISRAEL ILS
ITALIA EUR
COSTA DE MARFIL XOF
JAMAICA JMD
JAPÓN JPY
JORDANIA JOD
KAZAJISTÁN KZT
KENIA KES
COREA Peso máximo autorizado
KUWAIT KWD
KIRGUIZISTÁN KGS
LAOS Etiqueta
LETONIA EUR
LÍBANO LBP
LIBIA Último año
LIECHTENSTEIN CHF
LITUANIA EUR
LUXEMBURGO EUR
MACAO Punto de venta
MALAUI MWK
MALASIA Milenio
MALDIVAS MVR
MALTA EUR
MAURITANIA MRU
MAURICIO MUR
MÉXICO MXN
MOLDAVIA MDL
MONTENEGRO EUR
MARRUECOS MAD
MOZAMBIQUE MZN
MYANMAR MMK
NAMIBIA NAD
NEPAL NPR
NUEVA ZELANDA NZD
NICARAGUA NIO
NIGERIA NGN
NORUEGA NOK
OMÁN OMR
PAKISTÁN PKR
PANAMÁ PAB
PARAGUAY PYG
PERÚ PEN
FILIPINAS PHP
POLONIA PLN
PORTUGAL EUR
PUERTO RICO Dólares estadounidenses
QATAR QAR
RUMANÍA RON
RUSIA RUB
SAINT KITTS Y NEVIS XCD
SANTA LUCIA XCD
ARABIA SAUDÍ SAR
SENEGAL XOF
SERBIA RSD
SIERRA LEÓN SLL
SINGAPUR SGD
ESLOVAQUIA EUR
ESLOVENIA EUR
SOMALIA SOS
SUDÁFRICA ZAR
SUDÁN DEL SUR Precio de venta independiente
ESPAÑA EUR
SRI LANKA LKR
SUDÁN ODS
SURINAM SRD
SUAZILANDIA SZL
SUECIA SEK
SUIZA CHF
SIRIA SYP
TAIWÁN TWD
TANZANIA TZS
TAILANDIA THB
HOLANDA EUR
TRINIDAD Y TOBAGO TTD
TÚNEZ TND
TURQUÍA INTENTAR
TURKMENISTÁN TMT
UGANDA Experiencia de usuario
UCRANIA UAH
EMIRATOS ÁRABES UNIDOS DEA
REINO UNIDO GBP
URUGUAY UYU
UZBEKISTÁN UZS
VENEZUELA VES
VIETNAM VND
YEMEN AÑO
ZAMBIA ZMW
ZIMBABUE ZWL

indexof Detalles de función

Sintaxis de la función index0f:

indexof (String, String [,int])

índice (cadena, cadena [,start_pos]): el recuento de índices comienza con 0, devuelve el índice de coincidencia a partir de start_pos (si se proporciona) y devuelve -1 si no hay coincidencia.

En el siguiente ejemplo se define el valor del campo newField con la posición de .com en la cadena uri.

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

Caso de uso: extraiga la parte relevante de la ruta de acceso de API del campo Logs de auditoría de OCI, Ruta de acceso

El campo Ruta de acceso contiene un valor como /apis/coordination.k8s.io/v1/namespaces/default/leases/oracle.com-oci.

Puede extraer el valor coordination.k8s del campo anterior siguiendo estos pasos:

  • Busque la posición del primer y segundo / mediante la función indexOf().
  • Encuentra la posición del tercer /.
  • Extraiga los valores después del segundo /, hasta el tercer /, mediante la función 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

Ejemplo de salida:


Caso de uso: extraiga la parte relevante de la ruta de acceso de API del campo Logs de auditoría de OCI, Ruta de acceso

lastindexof Detalles de función

Sintaxis de la función lastindexof:

lastindexof(String, String, int)

lastindexof (Cadena, Cadena [, end_pos]): el recuento de índices comienza con 0, devuelve el índice de la última incidencia de subcadena antes de end_pos (si se proporciona) y devuelve -1 si no hay ninguna coincidencia. El argumento end_pos es opcional.

Algunos ejemplos para utilizar la función lastindexof:

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

Caso de uso: extraiga el área del campo Tipo en los logs de OCI Audit

El campo Tipo contiene un valor como com.oraclecloud.computeApi.GetInstance.

Para extraer computeAPI del valor anterior, puede utilizar el siguiente esquema:

  • Identifique la posición del último . mediante lastIndexOf().
  • Desde este desplazamiento, identifique la posición del . anterior, utilizando otro lastIndexOf(), pero proporcionando el desplazamiento desde donde buscar hacia atrás.
  • Extraiga el valor entre estas dos posiciones mediante 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

Ejemplo de salida:


Caso de uso: extraiga el área del campo Tipo en los logs de auditoría de OCI

replace Detalles de función

Sintaxis de la función replace:

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

replace soporta varias sustituciones en una sola función. Algunos ejemplos para utilizar la función replace:

  • *|eval newField = replace('aabbcc', 'bb', 'xx')
  • *|eval newField = replace('aabbcc', 'bb', 'xx', 'cc', 'yy')
  • Ejemplo de varias acciones de sustitución en una única función 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')

substr Detalles de función

Sintaxis de la función substr:

substr(String, int [, int])

substr(String, start_pos, end_pos - 1): el recuento de índices comienza con start_pos y termina con end_pos - 1.

En el siguiente ejemplo, newField es la subcadena de aabbcc, donde el índice de inicio (inclusive) es 2 y el índice de finalización (exclusive) es 4. Tenga en cuenta que para las cadenas, el recuento de índices empieza por 0. Así que la subcadena resultante es bb.

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

Para casos de uso en los que se utiliza la función substr, consulte indexof Function Details y lastindexof Function Details.

Detalles de la función url

Sintaxis de la función url:

url(String, Name, Parameter)

Los valores de Nombre y Parámetro son opcionales.

  • Cadena: puede ser una URL o una de las abreviaturas predefinidas. Por ejemplo:
    eval Link = url('https://www.oracle.com')
  • Nombre: nombre opcional de la URL. Por ejemplo:
    eval Link = url('https://www.oracle.com', 'Oracle Home Page')
  • Parámetro: parámetro opcional si se utiliza un acceso directo para Cadena. Por ejemplo:
    eval Link = url('tech', 'Search Oracle', 'ORA-600')

Algunos ejemplos para utilizar la función 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

Ejemplos para utilizar la función url después del 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)

Cortes Cortos de url Definidos por Oracle

Los siguientes métodos abreviados definidos por Oracle están disponibles para su uso con la función url para el comando eval.

Corto corto URL y descripción Ejemplo

ora

búsqueda:oracle

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

Generar un enlace para buscar todas las cadenas especificadas en oracle.com

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

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

tecnología

oracle-tecnología

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

Generar un enlace para buscar en foros de tecnología de Oracle

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

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

mezquita

oracle-mosc

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

Generar un enlace para buscar en foros de 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=

Generar un enlace para buscar con Google

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

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

Generar un enlace para buscar mediante Bing

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

ddg

pato

https://duckduckgo.com/?q=

Generar un enlace para buscar mediante DuckDuckGo

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

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

so

desbordamiento de pila

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

Generar un enlace para buscar en 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=

Generar un enlace para el ID de CVE proporcionado

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