Files
ROMFASTSQL/proxmox/lxc108-oracle/roa-windows-setup/sql/configure-profile.sql
Marius 989477f7a4 Add ROA Oracle Database Windows setup scripts with old client support
PowerShell scripts for setting up Oracle 21c/XE with ROA application:
- Automated tablespace, user creation and imports
- sqlnet.ora config for Instant Client 11g/ODBC compatibility
- Oracle 21c read-only Home path handling (homes/OraDB21Home1)
- Listener restart + 10G password verifier for legacy auth
- Tested on VM 302 with CONTAFIN_ORACLE schema import

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 17:08:02 +02:00

100 lines
2.9 KiB
SQL

-- ============================================================================
-- PASSWORD PROFILE CONFIGURATION
-- ============================================================================
-- Configures DEFAULT profile for no password expiration
-- CRITICAL for ROA application compatibility
--
-- This script disables all password restrictions to prevent:
-- - Password expiration issues during long-running installations
-- - Account lockouts from failed login attempts
-- - Password reuse restrictions
--
-- WARNING: This reduces security. For production environments, consider
-- creating a custom profile with appropriate settings.
--
-- Usage:
-- @configure-profile.sql
--
-- Connect as: SYSDBA
-- ============================================================================
SET ECHO OFF
SET FEEDBACK ON
SET SERVEROUTPUT ON
WHENEVER SQLERROR CONTINUE
PROMPT
PROMPT ========================================
PROMPT Configuring Password Profile
PROMPT ========================================
PROMPT
-- Show current profile settings
PROMPT Current DEFAULT profile settings:
SELECT resource_name, limit
FROM dba_profiles
WHERE profile = 'DEFAULT'
AND resource_type = 'PASSWORD'
ORDER BY resource_name;
PROMPT
PROMPT Modifying DEFAULT profile for ROA compatibility...
PROMPT
-- Disable password expiration
ALTER PROFILE DEFAULT LIMIT
PASSWORD_LIFE_TIME UNLIMITED
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_REUSE_MAX UNLIMITED
PASSWORD_VERIFY_FUNCTION NULL
PASSWORD_LOCK_TIME UNLIMITED
PASSWORD_GRACE_TIME UNLIMITED
FAILED_LOGIN_ATTEMPTS UNLIMITED;
PROMPT
PROMPT ========================================
PROMPT Profile Configuration Complete
PROMPT ========================================
PROMPT
-- Verify new settings
PROMPT New DEFAULT profile settings:
SELECT resource_name, limit
FROM dba_profiles
WHERE profile = 'DEFAULT'
AND resource_type = 'PASSWORD'
ORDER BY resource_name;
PROMPT
PROMPT WARNING: Password restrictions have been disabled.
PROMPT For production environments, consider creating a custom
PROMPT profile with appropriate security settings.
PROMPT
-- Unlock any locked accounts (optional)
PROMPT
PROMPT Unlocking ROA-related accounts if locked...
DECLARE
v_sql VARCHAR2(200);
BEGIN
FOR rec IN (SELECT username FROM dba_users
WHERE account_status LIKE '%LOCKED%'
AND username IN ('CONTAFIN_ORACLE', 'SYSTEM')) LOOP
v_sql := 'ALTER USER ' || rec.username || ' ACCOUNT UNLOCK';
EXECUTE IMMEDIATE v_sql;
DBMS_OUTPUT.PUT_LINE('Unlocked user: ' || rec.username);
END LOOP;
END;
/
-- Reset expired passwords (optional - requires manual password)
PROMPT
PROMPT If any accounts show EXPIRED status, reset their passwords:
SELECT username, account_status
FROM dba_users
WHERE username IN ('CONTAFIN_ORACLE', 'SYSTEM', 'SYS')
OR username LIKE 'FIRMA%'
OR username LIKE 'TEST%';
PROMPT