Archiving to a shared directory [message #670926] |
Fri, 03 August 2018 05:29 |
John Watson
Messages: 8963 Registered: January 2010 Location: Global Village
|
Senior Member |
|
|
This is a 2 node RAC, running on Windows server 2012. I need to configure archiving from both nodes to go to a shared device. A file system, not an ASM disc group.
We tried a normal Windows share. That doesn't work, I think because the database is running as a service and it has no permissions on a mapped drive: it can't even see it. So we tried NFS. Win2012 does come with an NFS server and client, but that doesn't work either. This article
https://social.technet.microsoft.com/Forums/windowsserver/en-US/44445dc3-0185-407f-b8ad-711f22cd4ec6/windows-nfs-client-reconnect-to- nfs-target-on-reboot?forum=winserverfiles
describes the problem, and at the very bottom suggests a solution:
Quote:Create a batch file which maps the drives and scheduled it to run at Windows
start up in NTAUTHORITY\SYSTEM context. Drives mapped in SYSTEM context are visible
in all logon sessions. I can't really try this, not without multiple reboots of a production system.
Does anyone have a recommendation for this: archiving to a shared directory in a Windows environment?
Thank you for any insight.
|
|
|
|
Re: Archiving to a shared directory [message #670946 is a reply to message #670944] |
Mon, 06 August 2018 09:58 |
John Watson
Messages: 8963 Registered: January 2010 Location: Global Village
|
Senior Member |
|
|
Thank you, JP, I'll try the first solution.
FYI, the issue is not space, it is hassles getting all redo to a common location and on to a manually managed standby where it can be applied.
|
|
|
|
|
|
Re: Archiving to a shared directory [message #671083 is a reply to message #670944] |
Wed, 15 August 2018 04:50 |
John Watson
Messages: 8963 Registered: January 2010 Location: Global Village
|
Senior Member |
|
|
JPBoileau wrote on Mon, 06 August 2018 15:30I'm not a fan of using network drives for Oracle storage, as they seem to disconnect on a whim.
That being said, there are a few ways to do it:
1) Create script (batch file) that will map the drive, and drop that batch file in the \ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp directory. This will run at start-up and map your drive.
2) Map the drive for all users. link.http://nerdynerdnerdz.com/3202/windows-server-20082012-map-network-drive-for-all-users/
If your issue is a space issue, you may consider putting the archive log in ASM and running a batch to move the archive log at a scheduled interval, using a given username that can map the drive itself.
JP Thanks, JP, but it doesn't work for me. Using (1), the drive does get mapped on boot up, but Oracle can't see it. Any attempt to use it givesORA-19504: failed to create file "S:\CF.BSET"
ORA-27040: file create error, unable to create file
OSD-04002: unable to open file
O/S-Error: (OS 3) The system cannot find the path specified. or similar. I tried (2), but that seems to require a domain controller or something, not just a local user.
Help! Surely there must be a way to let Oracle see a Windows share? Or is a clustered file system the only way?
|
|
|
|
Re: Archiving to a shared directory [message #671110 is a reply to message #671106] |
Wed, 15 August 2018 11:12 |
John Watson
Messages: 8963 Registered: January 2010 Location: Global Village
|
Senior Member |
|
|
Thanks for replying. It has to be the database instance because I need to archive to it.
The problem is that I have only one shared device: a single ASM diskgroup. So I'm archiving to local, non-shared, destinations. This screws up the scripts I run on each node, because RMAN doesn't realize which archives are on which machine. Typically, the problem is when a node is rebooted. The surviving node will archive the current log from the failed thread to its local device, and then when RMAN does the BACKUP, CROSSCHECK, and DELETE EXPIRED commands in my scripts they mess up the repository because the archive is on the "wrong" machine.
|
|
|