19 februari 2012

VirtualBox - Oracle VM - networking

I had some trouble finding a working solution for running Oracle ( ovm3 ) in Virtualbox 4.1.8 on Windows 7 Professional 64-bit.

After a while, I found this configuration works (at least the connection between Host and Guest) :


  1. After installing Virtualbox, an extra networking device appears : VirtualBox Host-only Network (1)
    (see Control Panel > Network and Inteternet > Network Connections > Change adapter settings)
    Host-only means you can only establish a connection between guest and host,  your guest will not be able to connect to e.g. the internet
  2. This adapter  (1)  has IP address 192.168.56.1
    (see Control Panel > Network and Inteternet > Network Connections > Change adapter settings > Select VirtualBox Host-Only network > Details
  3. Now change the settings of the virtual machine ovm3 in Oracle VM VirtualBox Manager:
    1. Select ovw3
    2. Click on Settings (and wait until the config is fully read)
    3. Click on Network and choose Adapter 1
      1. [x] Enable Network Adapter
      2. Attached to: Host-only Adapter
      3. Name: VirtualBox Host-Only Ethernet Adapter
      4. In the Advanced section I left the settings to their defaults:
        1. Adapter Type: Inter PRO/1000 MT Desktop (82540EM)
        2. Promiscuous Mode: Deny
        3. Mac address .....
        4. [x] Cable connected
  4. Start the virtual machine ovm3
  5. Configure the network settings as follows:
    1. System > Administration > Network
    2. Enter password for root
    3. Tab Devices : select eth0 and click on Edit
      1. Statically set IP address:
        1. Address: 192.168.56.56   (or another in range 192.168.56.x)
        2. Subnet mask: 255.255.255.0
        3. Default gateway: 192.156.56.1
    4. Tab Hosts: I entered the same IP (..56) for the current hostname (don't know if this is really necessary)
  6. Save this configuration: File > Save
  7. Go back to tab Devices , click on Deactivate and Activate to finalize the network setup 
  8. Now you should be able to ping 192.168.56.56 and 192.168.56.1:
    Applications > Accessoires > Terminal
    ping 192.168.56.56     ...  OK
    ping 192.168.56.1    ...  OK
    pinging other IP addresses won't work because we are using the host-only  configuration in VirtualBox.
  9. Test login OVM console:
    From e.g. Internet Explorer in Windows:
    http:192.168.56.56:7001/ovm/console
    Login as admin/Welcome1
  10. Test sql*plus
    In ovm3: start sql*plus and login as ovs/Welcome1@XE
    Also working :
    -  connect system/Welcome1@XE
    - connect sys/Welcome1@XE as sysdba
  11. Start Oracle Application Express
    http://localhost:8080/apex/apex_admin
    Login als admin/Welcome1 ... je moet onmiddellijk je paswoord wijzigen (Welkom9!)

  12. Login as sys/Welcome1
    Create a new database user:
    Database username: mvr
    Application username: mvr
    Password: Welcome1
    Create Workspace mvr
    Manage workspaces > mvr > Manage developers and users > create/edit user mvr en ken paswoord toe
    Use http://localhost:8080/apex to login workspace mvr username admin password Welkom9! .. lukt niet (ook niet als user mvr)

    Oeps ... I can't yet connect  to http://192.168.56.56:80/apex from Windows
    (Might not be needed anymore, because the cause was the firewall, see further)
    EXEC DBMS_XDB.SETHTTPPORT(8080);exec dbms_xdb.setListenerLocalAccess (l_access =>FALSE)
    ;
    Solution: Disable the firewall in ovm3 (or add port 8080 to the exception list)
    System  > Administration > Security Level and Firewall > Firewall: Disabled
    Now I can use I.E. in Windows to use   http://192.168.56.56:8080/apex
  13. Accessing APEX from SQL*Developer
    1. Tried but failed:
      Hostname: 192.168.56.56
      Port 1521
      SID: XE
      Got error:
      Status: Failure - Test failed: IO Error: The Network Adapter could not establish the connection
    2. Solution:
      In ovm3:
      1. /etc/hosts:
        Verify/add 
        192.168.56.56   wwwdevpc37d.as.local    wwwdevpc37d
      2. In listener.ora and tnsnames.ora:
        replace localhost with   wwwdevpc37d.as.local 
      3. tnsping wwwdevpc37d.as.local
    3. In windows:
      1. c:\windows\system32\drivers\etc\hosts
        Verify/add 192.168.56.56 wwwdevpc37d.as.local
      2. In sql*developer add a Connection:
        Connection name: test1
        Username:sys
        Password: Welcome1
        [x] Save password
        Connection type: Basis  Role: sysdba
        Hostname: wwwdevpc37d.as.local
        Port: 1521
        SID: XE





  14. Info Listener.ora :
    su - root
    su - oracle

    .
    /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh  (don't forget the point + space at the start of this line)

    locate listener.ora

    nano 
    /u01/app/oracle/product/11.2.0/xe/network/admin/listener.oralsnrctl status
  15. Finally got bridged network working. This way the guest machine also can reach the internet.
    (this works for me:)

    Make sure host and guest OS share the same network segment e.g. 192.168.1.*
    Use the correct interface in Settings > Network:
    In my case:
    Adapter 1 [x] Enable Network Adapter
    Attached to: Bridged Adapter
    Name: Intel(R) Centrino(R) Advanced-N 6230 (=my wireless network adapter of the host)
    Advanced (leave the defaults): Adapter Type: Intel PRO/1000 MT Desktop 58254OEM)
    Promiscuous Mode: Deny
    [x] Cable connected


    In the guest VM :
    Not a bad idea to record your ip address and hostname in /etc/hosts
    Assign IP address, gateway and DNS:
    System > Administration > Network
    Doubleclick the eth0 interface and fill out a static IP address, mask and gateway (same as your host)
    On the DNS tab, fill out the Hostname, DNS (same as your host or e.g. 8.8.8.8)

    File > Save
    Activate
  16. Nice link:
    http://devhub.fm/setting-up-an-oracle-11g-sandbox-dev-environment/
  17. Enterprise managerstart Oracle simply type “emctl start dbconsole” into the console .. does not work
    Probably because some environment variables need to be set correctly in emctl
    su - root
    su - oracle
    . ./setenv.sh
    locate emctl
    ... to be continued
    https://localhost.localdomain:1158/em/console/aboutApplication

Geen opmerkingen: