Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OracleDatabase 11.2.0.2 XE setPassword.sh not working #1641

Closed
stefanwendelmann opened this issue Jun 26, 2020 · 3 comments
Closed

OracleDatabase 11.2.0.2 XE setPassword.sh not working #1641

stefanwendelmann opened this issue Jun 26, 2020 · 3 comments
Labels

Comments

@stefanwendelmann
Copy link

We re developing an app for a bigger customer using the oracle 11g DB in Production.
Since we use Docker to do TDD / CI/CD and so on we need a Express version of the oracle DB running in a controlled env using a specific password for the DBA.

I found out the setPassword.sh is not working correctly.

✔ Positive test with random password:

Server:

$ docker run --name oracle-1 --shm-size=1g -p 1521:1521 -p 8080:8080 oracle/database:11.2.0.2-xe 
ORACLE PASSWORD FOR SYS AND SYSTEM: 74ef8c123b4a1128

Oracle Database 11g Express Edition Configuration
-------------------------------------------------
This will configure on-boot properties of Oracle Database 11g Express
Edition.  The following questions will determine whether the database should
be starting upon system boot, the ports it will use, and the passwords that
will be used for database accounts.  Press <Enter> to accept the defaults.
Ctrl-C will abort.

Specify the HTTP port that will be used for Oracle Application Express [8080]:
Specify a port that will be used for the database listener [1521]:
Specify a password to be used for database accounts.  Note that the same
password will be used for SYS and SYSTEM.  Oracle recommends the use of
different passwords for each database account.  This can be done after
initial configuration:
Confirm the password:

Do you want Oracle Database 11g Express Edition to be started on boot (y/n) [y]:
Starting Oracle Net Listener...Done
Configuring database...Done
Starting Oracle Database 11g Express Edition instance...Done
Installation completed successfully.

SQL*Plus: Release 11.2.0.2.0 Production on Fri Jun 26 07:07:51 2020

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


Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

SQL> 
PL/SQL procedure successfully completed.

SQL> SQL>
Database altered.

SQL>
Database altered.

SQL>
Database altered.

SQL>
System altered.

SQL>
System altered.

SQL>
System altered.

SQL>
Database altered.

SQL>
Database altered.

SQL> SQL>
System altered.

SQL> Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
#########################
DATABASE IS READY TO USE!
#########################
The following output is now a tail of the alert.log:
  Current log# 5 seq# 4 mem# 0: /u01/app/oracle/oradata/XE/redo05.log
      ALTER DATABASE DROP LOGFILE GROUP 1
Deleted Oracle managed file /u01/app/oracle/fast_recovery_area/XE/onlinelog/o1_mf_1_hhc7nz4d_.log
Completed:       ALTER DATABASE DROP LOGFILE GROUP 1
      ALTER DATABASE DROP LOGFILE GROUP 2
Deleted Oracle managed file /u01/app/oracle/fast_recovery_area/XE/onlinelog/o1_mf_2_hhc7nzbr_.log
Completed:       ALTER DATABASE DROP LOGFILE GROUP 2
Cleared LOG_ARCHIVE_DEST_1 parameter default value
Using LOG_ARCHIVE_DEST_1 parameter default value as /u01/app/oracle/product/11.2.0/xe/dbs/arch
ALTER SYSTEM SET db_recovery_file_dest='' SCOPE=BOTH;
Fri Jun 26 07:12:48 2020
Starting background process SMCO
Fri Jun 26 07:12:48 2020
SMCO started with pid=28, OS id=930

✔ Connection via sqlplus form the same container:

$ docker exec -ti oracle-1 sqlplus sys/74ef8c123b4a1128@//localhost:1521/XE as sysdba

SQL*Plus: Release 11.2.0.2.0 Production on Fri Jun 26 07:11:25 2020

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


Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

SQL> SELECT 1
  2  ;

*
ERROR at line 2:
ORA-00923: FROM keyword not found where expected


SQL> SELECT 1;
SELECT 1
       *
ERROR at line 1:
ORA-00923: FROM keyword not found where expected


SQL> SELECT 1 FROM DUAL;

         1
----------
         1

SQL>

❌Negative test with specific password:

Server:

$ docker run --name oracle11g-test --shm-size=1g  -p 1521:1521 -p 8080:8080 -e ORACLE_PWD=admin oracle/database:11.2.0.2-xebase:11.2.0.2-xe
ORACLE PASSWORD FOR SYS AND SYSTEM: admin

Oracle Database 11g Express Edition Configuration
-------------------------------------------------
This will configure on-boot properties of Oracle Database 11g Express
Edition.  The following questions will determine whether the database should
be starting upon system boot, the ports it will use, and the passwords that
will be used for database accounts.  Press <Enter> to accept the defaults.
Ctrl-C will abort.

Specify the HTTP port that will be used for Oracle Application Express [8080]:
Specify a port that will be used for the database listener [1521]:
Specify a password to be used for database accounts.  Note that the same
password will be used for SYS and SYSTEM.  Oracle recommends the use of
different passwords for each database account.  This can be done after
initial configuration:
Confirm the password:

Do you want Oracle Database 11g Express Edition to be started on boot (y/n) [y]:
Starting Oracle Net Listener...Done
Configuring database...Done
Starting Oracle Database 11g Express Edition instance...Done
Installation completed successfully.

SQL*Plus: Release 11.2.0.2.0 Production on Fri Jun 26 07:16:56 2020

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


Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

SQL> 
PL/SQL procedure successfully completed.

SQL> SQL>
Database altered.

SQL>
Database altered.

SQL>
Database altered.

SQL>
System altered.

SQL>
System altered.

SQL>
System altered.

SQL>
Database altered.

SQL>
Database altered.

SQL> SQL>
System altered.

SQL> Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
#########################
DATABASE IS READY TO USE!
#########################
The following output is now a tail of the alert.log:
  Current log# 5 seq# 4 mem# 0: /u01/app/oracle/oradata/XE/redo05.log
      ALTER DATABASE DROP LOGFILE GROUP 1
Deleted Oracle managed file /u01/app/oracle/fast_recovery_area/XE/onlinelog/o1_mf_1_hhc85zow_.log
Completed:       ALTER DATABASE DROP LOGFILE GROUP 1
      ALTER DATABASE DROP LOGFILE GROUP 2
Deleted Oracle managed file /u01/app/oracle/fast_recovery_area/XE/onlinelog/o1_mf_2_hhc85zxs_.log
Completed:       ALTER DATABASE DROP LOGFILE GROUP 2
Cleared LOG_ARCHIVE_DEST_1 parameter default value
Using LOG_ARCHIVE_DEST_1 parameter default value as /u01/app/oracle/product/11.2.0/xe/dbs/arch
ALTER SYSTEM SET db_recovery_file_dest='' SCOPE=BOTH;
Fri Jun 26 07:18:07 2020


***********************************************************************

Fatal NI connect error 12170.

  VERSION INFORMATION:
        TNS for Linux: Version 11.2.0.2.0 - Production
        Oracle Bequeath NT Protocol Adapter for Linux: Version 11.2.0.2.0 - Production
        TCP/IP NT Protocol Adapter for Linux: Version 11.2.0.2.0 - Production
  Time: 26-JUN-2020 07:18:07
  Tracing not turned on.
  Tns error struct:
    ns main err code: 12535

TNS-12535: TNS:operation timed out
    ns secondary err code: 12606
    nt main err code: 0
    nt secondary err code: 0
    nt OS err code: 0
  Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=48138))
WARNING: inbound connection timed out (ORA-3136)
Fri Jun 26 07:21:53 2020
Starting background process SMCO
Fri Jun 26 07:21:53 2020
SMCO started with pid=26, OS id=927

❌ Connection via sqlplus form the same container:

$ docker exec -ti oracle11g-test sqlplus sys/admin@//localhost:1521/XE as sysdba
SQL*Plus: Release 11.2.0.2.0 Production on Fri Jun 26 07:17:07 2020

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

ERROR:
ORA-01017: invalid username/password; logon denied


Enter user-name: sys
Enter password: 
ERROR:
ORA-12547: TNS:lost contact


Enter user-name: SYSTEM
Enter password: 
ERROR:
ORA-12547: TNS:lost contact


SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus

#!/bin/bash
ORACLE_PWD=$1
su -p oracle -c "sqlplus / as sysdba << EOF
ALTER USER SYS IDENTIFIED BY "$ORACLE_PWD";
ALTER USER SYSTEM IDENTIFIED BY "$ORACLE_PWD";
exit;
EOF"

@gavvvr
Copy link

gavvvr commented Dec 29, 2020

@stefanwendelmann, IMO the tests above have nothing to do with setPasswords.sh.

runOracle.sh does not seem to invoke setPasswords.sh. The password you set with -e is assigned through xe.rsp. admin does not seem to be a valid value, do not know why though. Try anything other value, i.e. ADMIN, it works

@mark-au
Copy link
Member

mark-au commented Jan 13, 2021

@gvenzl is this issue due to admin not meeting password complexity requirements?

@abhisbyk
Copy link
Contributor

Oracle does not support 11.2.0.2 XE now. Please migrate to 21.3 XE.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants