[Users] Openser and Oracle

Klaus Darilion klaus.mailinglists at pernau.at
Wed Mar 14 11:59:29 CET 2007


Papadopoulos Georgios wrote:
> Hello,
>  
> First of all congratulations to everyone involved in the new release. I
> haven't been able to get my hands on it yet, but just reading about it
> makes me very excited. Great job!
>  
> I would like to address the issue of Openser and Oracle working
> together. We are currently using Openser with a local MySQL. Our main
> database is Oracle and we are just copying data to MySQL so that Openser
> can work. This is a little difficult to maintain so I thought I would
> try to make Openser use directly our Oracle. Of course I ran into a
> number of issues. 
> 1. modules/acc and unixodbc. The acc_db_request() was not working
> because inserting a string in a date column does not work with Oracle.
> So, I had to change functions time2str() and time2odbc() in order to
> make this work. Also had to change acc.c to treat column time as DB_TIME
> instead of DB_STR (I think this could be treated as a bug).
> 2. modules/lcr. The query uses char_length() and rand() which I had to
> replace with lengthc() and dbms_random.value. Should these be modules
> params?

Hi!

I guess oracle allows the defintion of new function. Then you could 
write the functions char_length() and rand() which would be just 
wrappers to lengthc() and dbms_random.value.

> 3. modules/avpops. All issues were resolved by config changes and
> replacing avp_db_load() with avp_db_query(). 

Be careful - raw queries are vulnerable to SQL injection!!!

> 4. modules/auth_db, alias_db, uri_db, group. Since MySQL is case
> insensitive and Oracle is not, I made changes in the code to use
> raw_query() instead of query(). All queries have to be in the form
> "select ... from ... where username=upper(...)" 

Again: Be careful - raw queries are vulnerable to SQL injection!!!
>  
> I would be happy to provide patches and help in any way in order to make
> this migration easier in the future. However I am not sure whether my
> changes are general enough for everybody to use. So, do you have any
> suggestions about how to deal with these issues?

There is a oracle module in ser - you could port it to openser ;-)

regards
klaus

> Another issue that came up is the number of connections from Openser to
> the database. In our case, listening to five interfaces, with tcp
> disabled and children=5, we get 28 connections to DB which is a great
> waste of resources. From those five interfaces, one is receiving the
> bulk of traffic and the rest receive minimal traffic. Since each child
> has its own connection, then what is the purpose of connection pooling?
> How difficult would it be to have a common connection pool for all
> children?
>  
> sorry for the long email and thank you in advance for any answer.
>  
> George
>  
>  
>  
>  
> 
> Disclaimer
> The information in this e-mail and any attachments is confidential. It is intended solely for the attention and use of the named addressee(s). If you are not the intended recipient, or person responsible for delivering this information to the intended recipient, please notify the sender immediately. Unless you are the intended recipient or his/her representative you are not authorized to, and must not, read, copy, distribute, use or retain this message or any part of it. E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses.
> 
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Users mailing list
> Users at openser.org
> http://openser.org/cgi-bin/mailman/listinfo/users


-- 
Klaus Darilion
nic.at





More information about the Users mailing list