Tuesday, January 15, 2013
Friday, January 11, 2013
Identity and Access Management 11GR2
Installing & Configuring IDM 11GR2
Basics:
Prepare "hardware". Use Oracle VirtualBox. Give it plenty (> 6GB) memoryPrepare Operating System. Boot off V33411_01.iso (Oracle UL6.3 x86_64) and choose Minimal Install. No servers, nothing.
Remember: Oracle (Unbreakable) Linux install does not configure your network correctly, so remove the double quotes on values in /etc/sysconfig/network-scripts/ifcfg-eth0.
Then, (re-)start networking:
/etc/init.d/network restart
Apart from that, I had to use a Brigded Network Adapter, or I could not reach my internal network (and vice-versa). This may be due to firewall and/or selinux.
Update your OS:
yum update
This will download about 50MB. Reboot if you got a new kernel (I did). Then continue with:
yum install oracle-rdbms-server-11gR2-preinstall.x86_64
yum install xhost xclock xauth
yum install libgcc.i686 libstdc++.i686 libstdc++-devel.i686
This will add another 35MB or so.Install Database; start by changing the password of the oracle user:
passwd oracle
(groups and user have been created with the preinstall)
Check if xclock works (I use ssh with X forwarding from my Ubuntu guest system:
ssh -X oracle-db-server-ip-address
Basically, follow instructions from this link. You can skip all the prework and checks; the preinstall package took care of that.
Mount the central software repository:
mount -o soft,intr,rsize=8192,wsize=8192,nolock 192.168.4.199:/volume1/oracle /oracle/install
Switch to the oracle user and start installing
[oracle@idm1 ~]$ /oracle/install/Software/11G_Linux/database/runInstaller
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120 MB. Actual 41054 MB Passed
Checking swap space: must be greater than 150 MB. Actual 8015 MB Passed
Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed
Alter the oracle bash_profile, add:
export ORACLE_BASE=/oracle/db
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0
export PATH=$ORACLE_HOME/bin:$PATH
Create an instance; increase open_cursors to 1000, and processes to 650. Allow approx. 1GB of memory to be used by the instance.
Configure a basic listener:
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = idm1.home.local)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /oracle/db
and an evenly simple tnsnames.ora:
idm1.home.local, idm1 =
(DESCRIPTION=
(CONNECT_DATA=(SERVICE_NAME=idm1.home.local))
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.123)(PORT=1521))
)
Prepare:
Build repository. Mount my central software server:
mount -o soft,intr,rsize=8192,wsize=8192,nolock 192.168.4.199:/volume1/oracle /oracle/install
Fire up RCU:
[oracle@idm1 ~]$ /oracle/install/Software/OFM/11.1.2.0/rcuHome/bin/rcu
/oracle/install/Software/OFM/11.1.2.0/rcuHome/bin/rcu:
/oracle/install/Software/OFM/11.1.2.0/rcuHome/jdk/jre/bin/java:
/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
Hmmm... Nice one. The rcu is only available in 32 bit. Forget about it, run it from a Windows client
Monday, January 07, 2013
OID 11G 11.1.1.6.0 fails to start (privileged ports)
After failing to install OID with privileged ports (389/636), you may end up with
login your configuration database (the one you ran the rcu on), connect as user ODS, and manually update:
First, find the ID of the config:
This is, of course, a serious kludge which will probably render your installation supportless, so all usual disclaimers, precautions and warnings apply.
[2013-01-07T14:59:45+01:00] [OID] [NOTIFICATION:16] [] [OIDLDAPD] [host: idm02.home.local] [pid: 6800] [tid: 0] Main:: sgslunlListen: IPV4 Bind failed (port=389), OS error=(13)
[2013-01-07T14:59:45+01:00] [OID] [NOTIFICATION:16] [] [OIDLDAPD] [host: idm02.home.local.nl] [pid: 6800] [tid: 0] Main:: sgslunlListen: IPV4 Bind failed (port=636), OS error=(13)
If not even MOS Document 1304644.1 can help (i.e. you have enabled IPV6, and you did the IP Address trick in opmn.xml), this might:login your configuration database (the one you ran the rcu on), connect as user ODS, and manually update:
First, find the ID of the config:
select entryid from ct_dn where rdn = 'cn=oid1';
This results in 3000 for me. Now for the actual update:
update ds_attrstore set attrval=3060 where entryid=3000 and ottrname='orclnonsslport';
update ds_attrstore set attrval=3131 where entryid=3000 and ottrname='orclsslport';
commit;
Assuming you have all othe configurations reset to ports 3060 and 3131, you should now be able to startup oid.This is, of course, a serious kludge which will probably render your installation supportless, so all usual disclaimers, precautions and warnings apply.
Tuesday, August 14, 2012
APEX and ACL trouble (ORA-31204)
Today, I had to resolve an issue with an APEX LDAP call, that succeeded in the developer database, but failed in test with an ORA-31204: DBMS_LDAP: PL/SQL - Invalid LDAP Session.
As this concerned 11G databases, my initial thought was: "Is an ACL defined?" On the other hand, I would have expected an error like "Access denied by ACL".
Anyway, check acl's:
column host format a30
column acl format a40
set pages 66 lines 132
select host, lower_port, upper_port, acl from dba_network_acls;
This resulted in to different lists; development had to more entries than test, and yes, test lacked an ACL where the LDAP server was mentioned. Checking the principals:
col principal for a30
select acl, principal from dba_network_acl_privileges;
This revealed APEX040100 was not in the list. The following code creates an ACL, adds the resolve privilege, and adds the LDAP server to this ACL:
begin
dbms_network_acl_admin.create_acl (
acl => 'ldap.xml',
description => 'Allow ldap queries',
principal => 'APEX_040100',
is_grant => TRUE,
privilege => 'connect'
);
end;
/
begin
dbms_network_acl_admin.add_privilege (
acl => 'ldap.xml',
principal => 'APEX_040100',
is_grant => TRUE,
privilege => 'resolve'
);
end;
/
begin
dbms_network_acl_admin.assign_acl(
acl => 'ldap.xml',
host => 'ldap.home.local'
);
end;
/
commit;
After that, not only the APEX user APEX_040100 is listed as principal for the newly created ACL, also the LDAP query now succeeds.
As this concerned 11G databases, my initial thought was: "Is an ACL defined?" On the other hand, I would have expected an error like "Access denied by ACL".
Anyway, check acl's:
column host format a30
column acl format a40
set pages 66 lines 132
select host, lower_port, upper_port, acl from dba_network_acls;
This resulted in to different lists; development had to more entries than test, and yes, test lacked an ACL where the LDAP server was mentioned. Checking the principals:
col principal for a30
select acl, principal from dba_network_acl_privileges;
This revealed APEX040100 was not in the list. The following code creates an ACL, adds the resolve privilege, and adds the LDAP server to this ACL:
begin
dbms_network_acl_admin.create_acl (
acl => 'ldap.xml',
description => 'Allow ldap queries',
principal => 'APEX_040100',
is_grant => TRUE,
privilege => 'connect'
);
end;
/
begin
dbms_network_acl_admin.add_privilege (
acl => 'ldap.xml',
principal => 'APEX_040100',
is_grant => TRUE,
privilege => 'resolve'
);
end;
/
begin
dbms_network_acl_admin.assign_acl(
acl => 'ldap.xml',
host => 'ldap.home.local'
);
end;
/
commit;
After that, not only the APEX user APEX_040100 is listed as principal for the newly created ACL, also the LDAP query now succeeds.
Subscribe to:
Posts (Atom)

