February 19, 2009

Firefighter mathematician

A mathematician is going for a job as a firefighter. The chief asks him "if you see a bin on fire in an alleyway, what do you do?"

"Well, I would make sure it's safe to enter the area, check for electrical hazards, then hose it off or call for help."

"Good. So what if you see a bin in an alleyway that looks like it might catch fire?"

"I'd set it on fire, reducing the problem to one I have already solved ..."

Shamelessly stolen from user "wisty" on slashdot

Posted by jeffreyb at 03:40 PM | Comments (0)

RMAN-10035: exception raised in RPC

Troubleshooting the following error took a bit of time, so I'm putting the solution out there for posterity and Google. Oracle 8i (specifically and are kind of old, but maybe someone will find it helpful.

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03007: retryable error occurred during execution of command: backup
RMAN-07004: unhandled exception during command execution on channel c1
RMAN-10035: exception raised in RPC: ORA-19504: failed to create file "/rman/WEBT6/full_WEBT6_DB_04k7okkf_4_1"
ORA-27044: unable to write the header block of file
Linux Error: 22: Invalid argument
Additional information: 2
RMAN-10031: ORA-19624 occurred during call to DBMS_BACKUP_RESTORE.BACKUPPIECECREATE

The iterative steps to take to ensure that this worked

1. Make sure that the oracle user can write to the baseline directory (in this case, /rman/WEBT6). Use cut and paste to ensure that you are using it exactly.

cp /etc/hosts /rman/WEBT6/full_WEBT6_DB_04k7okkf_4_1

2. Permissions, in my case, were fine. The exact trouble was that Oracle was trying to set up a large backup file, too large to be supported by the elderly 8i release. The solution was to add the "filesperset" flag to my backup command, going from (somewhat redacted)

run {
allocate channel c1 type disk ;
BACKUP format='/rman/WEBT6/full_%t_%d_%s_%p' DATABASE ;
release channel c1;
run {
allocate channel c1 type disk ;
BACKUP format='/rman/WEBT6/full_%t_%d_%s_%p' filesperset 1 DATABASE ;
release channel c1;
Posted by jeffreyb at 03:27 PM | Comments (0)