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 8.1.7.3 and 8.1.7.4) 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;
}
to
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)