cancel
Showing results for 
Search instead for 
Did you mean: 

*-24988,"Row not found" error after database restore

Former Member
0 Kudos

Hi ,

I met a weird problem. After restore the database with initiation,

when I use dbmcli to check the data of monitor_load table, it showed no data;

But when I use SQL Studio to check the data, I can find this table have 10 data.

I am using SYSDBA user.

Does somebody know how to solve this problem?

--From dbmcli

dbmcli on qas>sql_execute select * from monitor_log

ERR

-24988,ERR_SQL: SQL error

100,Row not found

--From Sql studio

select * from monitor_log

----


I got below 10 data

Log page physical reads 0

Log page physical writes 2

Log queue pages 1000

Log queue max used pages 3

Log queue inserts 4

Log queue overflows 0

Log queue group commits 0

Log queue waits for log page write 2

Log queue max waits per log page 1

Log queue avg waits per log page 0

Thank you very much for help.

Vivian

Edited by: vivian shi on Dec 5, 2008 6:46 AM

Edited by: vivian shi on Dec 5, 2008 6:59 AM

Accepted Solutions (0)

Answers (1)

Answers (1)

lbreddemann
Active Contributor
0 Kudos

Hi Vivivan,

what version of MaxDB do you use?

When using DBMCLI, did you connect to a SQL session before running the sql_execute?

Please try this out:

dbmcli -d <DBSID> -u dba,<pw>

sql_connect

sql_execute select * from monitor_log

do you still get the same result?

regards,

Lars

Former Member
0 Kudos

Hi Lars, Thanks a lot for taking time on my issue.

Yes I was using your method to run the command and that's the same result which I got.

Actually I am doing a DR test, say there is database instance A, database instance B, which are on different servers. and I restored the backup file of A onto B.

The logs show restore was successful, but later when I open "Database manager", and clicked the "Activity" under Information tab, I got :

-24988 SQL error sql_execute SELECT DESCRIPTION,VALUE FROM MONITOR_LOAD ; 100, Row not found

Cliked on the "Caches", I got:

-24988 SQL error sql_execute SELECT DESCRIPTION,NUMERIC_VALUE FROM SYSDBA.CONFIGURATION;100,Row not found

If I log into SQL Studio, I can get records of above tables, but when I use DBMCLI or Database manager, I can not get the records.

I have re-load the system tables with superdba and password of source database several times, but this error still here.

Do you have some idea?

Thanks a lot,

Have a nice day!

Vivian

Edited by: vivian shi on Dec 9, 2008 3:15 AM

Edited by: vivian shi on Dec 9, 2008 3:16 AM

lbreddemann
Active Contributor
0 Kudos

HI Vivian,

what users did you use for each try?

DBM? DBADMIN?

regards,

Lars

Former Member
0 Kudos

Hi Lars, Each time I am using "superdba", which is the SYSDBA of my database.

From the Database Manager, I've tried with DBM operator as well, but errors are same, any idea?

Thanks a lot,

Vivian

0 Kudos

Hi everyone,

please keep in mind the user used for the authentication against the DBM is not the same user which executes the statement from the sql_execute command in the database instance. The default user for the sql_execute will be always the DBM operator.

Have a look at these commands

dbmcli -d <db> -u <dbmusr>,<dbmpwd> sql_execute selete user from dual
dbmcli -d <db> -u <sysdba>,<dbapwd> sql_execute selete user from dual
dbmcli -d <db> -u <dbmusr>,<dbmpwd> -uSQL <sysdba>,<dbapwd> sql_execute selete user from dual
dbmcli -d <db> -u <sysdba>,<dbapwd> -uSQL <sysdba>,<dbapwd> sql_execute selete user from dual

The so called "system tables" with internal information about the database instance are always views which may have user specific conditions in the where clause. This may cause different results for different users.

And please keep in mind dbmcli is not a SQL tool. For command line SQL access please prefer sqlcli.

Best regardds

Bernd