AW: (RADIATOR) SQL-Recovery file ... only numerical values

Martin Wallner Martin.Wallner at eunet.co.at
Wed Nov 9 12:57:01 CST 2005


Jason, all....
 
yep, that's the same problem I'm encountering. I was NOT faking a broken SQL server, the SQL-Server was (for Radiator) broken (can't connect), and I get always only the integers in the insert-string.
 
The thing is, _not_ loosing the Data is _vital_ for our setup... I can and have worked around anything else what comes up on this table: double, triple, n-time, delayed, too long delayed (don't ask :-), mangles (THANKS, CISCO :-<), loss of clients, anything, but we _have to_ have _ALL_ and _ANY_ Accounting Records, and scribbling it into a plain text log is not an option (not with 48 Mil entries a month you would have to crosscheck)
 
I sniffed a bit around in the code, and, as far I could say - and I couldn't verify it until yet - _maybe_ it's a thing of currently NOT escaping the quotes for the strings when you use 'print'  as you do in the sub for the write to the SQLRecoveryFile .... _maybe_ the solution would be to forget the actual quote and set it together for the SQLFile from scratch (but that could have timing issues)... 
 
I wasn't able to test it, and I probably wont be able for the next weeks due to a hefty work scedule, I would have to take down one of my production servers for testing, so please, if anyone could do this, I think a lot of people here would very much appreciate it.
 
=mw=
 

________________________________

Von: owner-radiator at open.com.au im Auftrag von L. Jason Godsey
Gesendet: Di 08.11.2005 19:32
An: radiator at open.com.au
Betreff: Re: (RADIATOR) SQL-Recovery file ... only numerical values




I'd like to see SQLRecoveryFile properly documented.

SQLRecoveryFile is for the most part not useable for PostgreSQL and
MySQL.

Here is my original post on the subject:
http://www.open.com.au/archives/radiator/2004-03/msg00162.html

I haven't received a work around yet.

L. Jason Godsey


--- Martin Wallner <Martin.Wallner at eunet.co.at> wrote:

> Hi list,
>
> I'm a bit stuck here....
>
> We are using PostGresql (8) to store (among other things) our
> accounting info.
>
> Last week we had to take down the SQL-Server for a short maintainance
> cycle, after finishing this, I wanted to restore the accounting data
> that was stored in the SQL-Restore-File, which was created like it
> was set up to.
>
> Boy, was I surprised when I found out that only the 'integer' and
> 'bigint' variables were actually filled out in the statements, but
> not the strings ... and, besides that, that the syntax for the
> 'insert' statements was not completely correct (missing semicolon at
> the end)?.... Any ideas what happened here? Maybe 'declare' in the
> AcctColumnDef that it's a string? But why does it work then when the
> db-connection is on?
>
> It was good that this was happening in a controlled maintainance
> cycle, so the data loss was negligable.
>
> Any ideas?
>
> ------------------------- config AuthSQL -----------------
> <AuthBy SQL>
>    Identifier SQLAccounting
>    AuthSelect
>
> # primary database on SQL2, ONLY DB to put Accounting on,
> # missed entries due to error will be handled by SQLRecoveryFile
>    DBSource dbi:Pg:dbname=radius;host=172.27.0.92
>    DBUsername radius
>    DBAuth xxxxxx
>    AccountingTable accounting
>    AcctColumnDef   USERNAME,User-Name
>    AcctColumnDef   TIME_STAMP,Timestamp,integer
>    AcctColumnDef   ACCTSTATUSTYPE,Acct-Status-Type
>    AcctColumnDef   ACCTDELAYTIME,Acct-Delay-Time,integer
>    AcctColumnDef   ACCTINPUTOCTETS,Acct-Input-Octets,integer
>    AcctColumnDef   ACCTOUTPUTOCTETS,Acct-Output-Octets,integer
>    AcctColumnDef   ACCTSESSIONID,Acct-Session-Id
>    AcctColumnDef   ACCTSESSIONTIME,Acct-Session-Time,integer
>    AcctColumnDef   ACCTTERMINATECAUSE,Acct-Terminate-Cause
>    AcctColumnDef   NASIDENTIFIER,NAS-Identifier
>    AcctColumnDef   NASPORT,NAS-Port,integer
>    AcctColumnDef   FRAMEDIPADDRESS,Framed-IP-Address
>    AcctColumnDef   CALLEDSTATIONID,Called-Station-Id
>    AcctColumnDef   CALLINGSTATIONID,Calling-Station-Id
>    AcctColumnDef   ACCTINPUTPACKETS,Acct-Input-Packets,integer
>    AcctColumnDef   ACCTOUTPUTPACKETS,Acct-Output-Packets,integer
>    AcctColumnDef   ACCTMULTISESSID,Acct-Multi-Session-Id
>    AcctColumnDef   ACCTLINKCOUNT,Acct-Link-Count,integer
>    AcctColumnDef   PORT_NR,NAS-Port,integer
>    AcctColumnDef   ACCTAUTHENTIC,Acct-Authentic,integer
>    AcctColumnDef   NASIPADDR,NAS-IP-Address
>    AcctColumnDef   LOGIN_HOST,Login-IP-Host
>    AcctColumnDef   LOGIN_SERVICE,Login-Service,integer
>    AcctColumnDef   USER_SERVICE_TYPE,Service-Type,integer
>    AcctColumnDef   FRAMED_PROTOCOL,Framed-Protocol,integer
>    AcctColumnDef   NASPORTTYPE,NAS-Port-Type
>    Description Generic Accounting
>    SQLRecoveryFile %L/sqlrecovery-%y-%m-%d.sql
> #        AcctLogFileName /var/log/radiator/radacct/radius.acct
> </AuthBy>
>
> ------------------------- output found in SQL-Recovery
> ------------------
> insert into accounting
>
(ACCTAUTHENTIC,ACCTDELAYTIME,ACCTINPUTOCTETS,ACCTINPUTPACKETS,ACCTOUTPUTOCTETS,ACCTOUTPUTPACKETS,ACCTSESSIONI
>
D,ACCTSESSIONTIME,ACCTSTATUSTYPE,FRAMEDIPADDRESS,FRAMED_PROTOCOL,NASIPADDR,NASPORT,NASPORTTYPE,PORT_NR,TIME_STAMP,USERNAME,USER_SERV
> ICE_TYPE) values
> (1,5,193088,8681,117254,7329,,37485,,,1,,1345,,1345,1128708835,,2)
> insert into accounting
>
(ACCTAUTHENTIC,ACCTDELAYTIME,ACCTINPUTOCTETS,ACCTINPUTPACKETS,ACCTOUTPUTOCTETS,ACCTOUTPUTPACKETS,ACCTSESSIONI
>
D,ACCTSESSIONTIME,ACCTSTATUSTYPE,FRAMEDIPADDRESS,FRAMED_PROTOCOL,NASIPADDR,NASPORT,NASPORTTYPE,PORT_NR,TIME_STAMP,USERNAME,USER_SERV
> ICE_TYPE) values
> (1,0,2161317,19212,11639864,19004,,3870,,,1,,334,,334,1128708840,,2)
> insert into accounting
>
(ACCTAUTHENTIC,ACCTDELAYTIME,ACCTINPUTOCTETS,ACCTINPUTPACKETS,ACCTOUTPUTOCTETS,ACCTOUTPUTPACKETS,ACCTSESSIONI
>
D,ACCTSESSIONTIME,ACCTSTATUSTYPE,FRAMEDIPADDRESS,FRAMED_PROTOCOL,NASIPADDR,NASPORT,NASPORTTYPE,PORT_NR,TIME_STAMP,USERNAME,USER_SERV
> ICE_TYPE) values
>
(1,5,12843276,186390,129036554,208643,,352488,,,1,,490,,490,1128708835,,2)
> --------------------------------------------------------
>
> regards
> Martin Wallner (=mw=)
>
> -----
> Eunet Telekom GmbH                    e-mail 'martin.wallner at eunet.co.at
> vorm. Nextra Österreich                       e-mail 'martin.wallner at nextranet.at'
> vorm. ViP EDV-Dienstleistungs GesmbH  e-mail 'hostmaster at vip.at'
> vorm. Gramtel Austria GmbH.           e-mail 'hostmaster at gramtel.at'
> Systems                                       RIPE:     WM355-RIPE
> Nussdorfer Lände 23                   NicAT:    WM503823-NICAT
> 1190 Wien, Vienna, Austria            Tel. +43 (0) 59 1 59 - 1354    
>
> --
> Archive at http://www.open.com.au/archives/radiator/
> Announcements on radiator-announce at open.com.au
> To unsubscribe, email 'majordomo at open.com.au' with
> 'unsubscribe radiator' in the body of the message.
>

--
Archive at http://www.open.com.au/archives/radiator/
Announcements on radiator-announce at open.com.au
To unsubscribe, email 'majordomo at open.com.au' with
'unsubscribe radiator' in the body of the message.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.open.com.au/pipermail/radiator/attachments/20051109/7938c8db/attachment.html>


More information about the radiator mailing list