Blog

ORA-12532: TNS:invalid argument

Trying to run sqlplus to logon to a database, the following error occurs:

$ sqlplus scott

SQL*Plus: Release 12.2.0.1.0 Production on Tue Nov 14 14:46:12 2022

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

Enter password:
ERROR:
ORA-12532: TNS:invalid argument

CAUSE

User password contains character “@”

PRCA-1000 : ASM Disk Group DSGRP123 does not exist

Trying to start up a database, and got the following error messages:

$ srvctl start database -d testdb
PRCR-1079 : Failed to start resource ora.testdb.db
CRS-2640: Required resource 'ora.DSGRP123.dg' is missing.
$srvctl config database -d TESTDB
...
..
.
PRCD-1012 : Failed to retrieve disk group list for database TESTDB.
PRCR-1035 : Failed to look up CRS resource ora.DSGRP123.dg for TESTDB
PRCA-1000 : ASM Disk Group DSGRP123 does not exist

SOLUTION

$ srvctl modify database -d TESTDB -a "+DATA1,FRA"
$ srvctl start database -d TESTDB

PKI-04015: Trusted cert cannot be removed

Trying to remove the trusted certificates from the wallet and getting the errors 

$ orapki wallet remove -wallet . -trusted_cert_all
Oracle PKI Tool : Version 11.2.0.4.0 - Production
Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.

Enter wallet password:
PKI-04015: Trusted cert cannot be removed. CN=A,O=B,C=C

SOLUTION

$ orapki wallet display -wallet .
Oracle PKI Tool : Version 11.2.0.4.0 - Production
Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.

Enter wallet password:
Requested Certificates:
User Certificates:
Subject:        CN=A,O=B,C=C
Trusted Certificates:
Subject:        CN=A,O=B,C=C
$orapki wallet remove -wallet . -trusted_cert -dn "CN=A,O=B,C=C"
$ orapki wallet remove -wallet . -cert_req -dn "CN=A,O=B,C=C"
$ orapki wallet display -wallet .
Oracle PKI Tool : Version 11.2.0.4.0 - Production
Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.

Enter wallet password:
Requested Certificates:
User Certificates:
Trusted Certificates:

ORA-01591: lock held by in-doubt distributed transaction 1.23.456789

SQL>  select local_tran_id from dba_2pc_pending;

LOCAL_TRAN_ID
----------------------
1.23.456789
SQL> select local_tran_id, state,fail_time,force_time, retry_time 
     from dba_2pc_pending;

LOCAL_TRAN_ID  STATE   FAIL_TIME   RETRY_TIME  MIXED
------------   -----   ---------   ----------  -----
1.23.456789    prepared 1-OCT-23   22-OCT-23    no
SQL> rollback force '1.23.456789';

Rollback complete.

SQL> exec dbms_transaction.purge_lost_db_entry( '1.23.456789');
BEGIN dbms_transaction.purge_lost_db_entry( '1.23.456789'); END;

*
ERROR at line 1:
ORA-01453: SET TRANSACTION must be first statement of transaction
ORA-06512: at "SYS.DBMS_TRANSACTION", line 74
ORA-06512: at "SYS.DBMS_TRANSACTION", line 96
ORA-06512: at line 1

SQL>exec dbms_transaction.purge_lost_db_entry('1.23.456789');

PL/SQL procedure successfully completed.

SQL> select local_tran_id from dba_2pc_pending;

no rows selected