PoshCode Archive  Artifact [b6547a7d43]

Artifact b6547a7d434cad5d3759bc888ec4f85faa7a301a32ebdc167b13becd870df9e0:

  • File Oracle-NetApp-CommVault.ps1 — part of check-in [64022f7fdc] at 2018-06-10 13:10:45 on branch trunk — This file was uploaded by a PowerGUI Script Editor Add-on. (user: arodd size: 2829)

# encoding: ascii
# api: powershell
# title: Oracle NetApp CommVault 
# description: This file was uploaded by a PowerGUI Script Editor Add-on.
# version: 11.2.0
# type: module
# author: arodd
# license: CC0
# x-poshcode-id: 2463
# x-archived: 2015-05-08T23:57:00
# x-published: 2011-01-18T09:58:00
#
#
#Path Below must be set to reflect ORACLE_HOME
[Reflection.Assembly]::LoadFile("C:\app\oracle\product\11.2.0\client_1\ODP.NET\bin\2.x\Oracle.DataAccess.dll")
Import-Module DataOntap
#Populate credentials below
function nas2snapadd
{param ($volname)
Connect-NaController -Name nau-nas2.naucom.com | out-null
Write-Output $volname
New-NaSnapshot -Name $volname -SnapName "backup_agent" | Out-Null
}

function nas1snapadd
{param ($volname)
Connect-NaController -Name nau-nas1.naucom.com | out-null
Write-Output $volname
New-NaSnapshot -Name $volname -SnapName "backup_agent" | Out-Null
}
function nas2snaprem
{param ($volname)
 Connect-NaController -Name nau-nas2.naucom.com | Out-Null
 $snapstodel = Get-NaSnapshot -Name $volname -snapname backup_agent
 if ($snapstodel -ne $null){
 foreach($sn in $snapstodel){
  Write-Output $volname $sn.Name
  Remove-NaSnapshot -Volume $volname -SnapName $sn.Name -Confirm:$false
 }
}
}

function nas1snaprem
{param ($volname)
 Connect-NaController -Name nau-nas1.naucom.com | out-null
 $snapstodel = Get-NaSnapshot -Name $volname -snapname backup_agent
 if ($snapstodel -ne $null){
 foreach($sn in $snapstodel){
  Write-Output $volname $sn.Name
  Remove-NaSnapshot -Volume $volname -SnapName $sn.Name -Confirm:$false
 }
}
}

$nas1vols = @("ncpp_data01", "ncpp_data03", "ncpp_redo01", "ncpp_redo03")
$nas2vols = @("ncpp_data02", "ncpp_data04", "ncpp_data05", "ncpp_redo02", "ncpp_redo04")

foreach($vol in $nas1vols){
nas1snaprem $vol
}
foreach($vol in $nas2vols){
nas2snaprem $vol
}

$constr = "User Id=backup_agent;Password=password;Data Source=ncrp"
$sql="ALTER DATABASE BEGIN BACKUP"
$sql2="ALTER DATABASE END BACKUP"
$conn = New-Object Oracle.DataAccess.Client.OracleConnection($constr)
$conn.Open()
$command = New-Object Oracle.DataAccess.Client.OracleCommand( $sql,$conn)
$reader=$command.ExecuteReader()
$reader.Dispose()
$command.Dispose()

foreach($vol in $nas1vols){
nas1snapadd $vol
}
foreach($vol in $nas2vols){
nas2snapadd $vol
}

$command = New-Object Oracle.DataAccess.Client.OracleCommand( $sql2,$conn)
$reader=$command.ExecuteReader()
$reader.Dispose()
$command.Dispose()
$conn.Close()

#Start CommVault Tape Job
$psi = new-object System.Diagnostics.ProcessStartInfo
$psi.Verb = "runas"
$psi.FileName = "N:\scripts\ncpp_nas1.bat"
[System.Diagnostics.Process]::Start($psi) | out-null
$psi.FileName = "N:\scripts\ncpp_nas2.bat"
[System.Diagnostics.Process]::Start($psi) | out-null