Error Handling

If the parameter is not found or an unexpected error occurs, the function returns 0 to ensure downstream logic can continue gracefully.

CREATE OR REPLACE FUNCTION get_cpu_count RETURN NUMBER IS
  l_cpu_count NUMBER;
BEGIN
  SELECT TO_NUMBER(value)
    INTO l_cpu_count
    FROM v$parameter
  WHERE name = 'cpu_count';
  RETURN l_cpu_count;
EXCEPTION
  WHEN no_data_found THEN
    RETURN 0;
  WHEN OTHERS THEN
    RETURN 0;
END;
/