Friday, May 15, 2009

Configuring iSQL*Plus for web dba access (Linux)

Brief Description: iSQL*Plus/dba can be trickier to configure than the non-dba iSQL*Plus web interface.

Configuring iSQL*Plus for web dba access was tricky for me as an Oracle beginner.

I had difficulty finding straightforward instructions on getting it up and running for use on the dba url (basic iSQL*Plus worked as soon as I enabled it and opened the port). By default it should be installed but disabled with a base install of Oracle 10gR2. For complete SQL*Plus configuration information see Oracle's SQL*Plus configuration document.

How to:
The steps that got me up and running are below (I'm on SLES 10.2 x64, but this should apply generally to other distributions), any corrections are welcome.

Note: Some services need to be restarted. Don't do this on a production server without following your company's testing/change control policies.
  • Configure iSQL*Plus for autostart and allow access.
    • Enable iSQL*Plus to start on boot
      • edit etc/sysconfig/oracle and set START_ORACLE_DB_ISQLPLUS = yes
        • sed command is
          • sed -e '/DB_ISQLPLUS/ s/"no"/"yes"/' -i /etc/sysconfig/oracle
      • If you're running a local firewall, open port 5560 for iSQL*Plus
        • To open port on SLES 10.2 (requires root or sudo privileges)
          • With root or sudo privileges
            • edit /etc/sysconfig/SuSEfirewall2
            • add ports to FW_SERVICES_EXT space separated, well known ports can be listed by name (i.e. ssh, http).
              • example: FW_SERVICES_EXT_TCP="5801 5901 ssh 5560 1158 1521"
            • restart firewall services
              • /sbin/SuSEfirewall2 stop
              • /sbin/SuSEfirewall2 start
    • set a temporary JAVA_HOME (10g explicitly unsets JAVA_HOME to avoid conflicts for Oracle Java apps).
      • export JAVA_HOME=$ORACLE_HOME/jdk
    • Verify that the application server process is running
      • ps -eaf egrep " "
    • Start the JAZN (Oracle's Java AuthoriZatioN ) Shell
      • Make sure you're in the working directory
        • $ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/isqlplus
      • If this is a new install the default admin for iSQL*Plus will be 'admin' with a password of 'welcome' if this is an existing install, consult your records or another DBA.
      • To start with default user/pass (Do not leave it as default)
        • $JAVA_HOME/bin/java$ORACLE_HOME/sqlplus/admin/iplus/provider -jar $ORACLE_HOME/oc4j/j2ee/home/jazn.jar -user "iSQL*Plus DBA/admin" -password welcome -shell
      • If password was the default and you are the owner of the system/database, change the iSQLPlus Admin password from JAZN
        • setpasswd "iSQL*Plus DBA" admin old_password new_password
    • Enable iSQL*Plus Web DBA Access
      • Once logged into the shell
        • Create a user
          • adduser "iSQL*Plus DBA"
        • grant the webDba role
        • grantrole webDba "iSQL*Plus DBA"
    • Changes will not take effect until iSQL*Plus is restarted (this affects only the availability of iSQL*Plus, database availability should not be affected).
      • To restart iSQL*Plus
        • $ORACLE_HOME/bin/isqlplusctl stop
        • $ORACLE_HOME/bin/isqlplusctl start
    • iSQL*Plus should now be ready for access
      • the default urls for access are
        • http://:5560/isqlplus (standard)
        • http://:5560/isqlplus/dba
      • Log in as the new user.

No comments:

Post a Comment