Database started in Single user mode

Posted by Anurag Sharma on 01-Mar-2017 09:54

Hi, During a maintenance activity a cron job started my database in single user mode. The problem is, that in this scenario I am almost out of the database (as there was some batch using the database). I need to kill all the active process with DB id to continue working. which is problematic (.lk file, process, shared memory etc.)

Is there any other better and optimized way to do it ? (I mean, to shut down the DB which is running in single user mode) or to directly upgrade it to multiuser mode? I am using 11.3

why proshut, promon utilities doesn't works in such scenario?

Posted by George Potemkin on 02-Mar-2017 03:34

DB running in single user mode does not use shared memory. That is why proshut and promon utilities don't work. You should stop the process that opened DB in single user mode (kill PID). But as I tried to say earlier the better solution is to disable DB access for all processes.

Posted by gus bjorklund on 03-Mar-2017 03:38

> On Mar 1, 2017, at 10:55 AM, Anurag Sharma wrote:

>

> why proshut, promon utilities doesn't works in such scenario?

When a database is open in single-user mode, it is completely controlled by the program that has it open in this mode. There is (on purpose) no capability to communicate with the programs that do this.

depending on what type of program is using the database, you may be able to terminate it by sending it a SIGHUP or SIGTERM.

All Replies

Posted by George Potemkin on 01-Mar-2017 12:20

> During a maintenance activity a cron job started my database in single user mode

Can you use  proutil -C dbrestrict to prevent this?

Posted by Anurag Sharma on 02-Mar-2017 01:10

Hello George, thanks for your reply. I may restrict other processes to use my db by dbrestrict, but however I was trying to stop my db (which was running in single user mode) and then I wanted it to run in multiuser mode.

Posted by George Potemkin on 02-Mar-2017 03:34

DB running in single user mode does not use shared memory. That is why proshut and promon utilities don't work. You should stop the process that opened DB in single user mode (kill PID). But as I tried to say earlier the better solution is to disable DB access for all processes.

Posted by gus bjorklund on 03-Mar-2017 03:38

> On Mar 1, 2017, at 10:55 AM, Anurag Sharma wrote:

>

> why proshut, promon utilities doesn't works in such scenario?

When a database is open in single-user mode, it is completely controlled by the program that has it open in this mode. There is (on purpose) no capability to communicate with the programs that do this.

depending on what type of program is using the database, you may be able to terminate it by sending it a SIGHUP or SIGTERM.

This thread is closed