對于DBA來說,資料伺服器存儲是永遠不可消除的疼,因為存儲總會時不時的不足,磁盤空間總會因種種理由不能通過加盤擴容,那麼解決問題的方法就是
看有沒有其他存儲賦予的存儲提供給資料庫伺服器。本文介紹windwos伺服器共享網絡存儲目錄給急需存儲空間的DB伺服器。
首先,要保證提供存儲的windows伺服器與DB伺服器的網絡是通的。
DB伺服器ping測試到windows伺服器的網絡連通性:
windows存儲端網絡共享目錄設定
1、NFS服務端為管理者添加密碼(有則跳過)
2、 建立windows NFS共享檔案夾
3、 修改共享檔案夾屬性
設定檔案夾共享
點選權限,設定everyone完全控制權限(建議使用完取消檔案夾共享)
如果共享權限(組和使用者)中沒有everyone使用者,則點選添加-》進階-》立即查找-》搜尋結果中定位到everyone-》确定
設定好的everyone使用者的控制權限
DB端windows 伺服器的共享用戶端配置
1、打開我的電腦(計算機)
2、網絡選項找到存儲共享的windwos主機
3、在共享檔案夾上右鍵選擇:映射網絡驅動器
4、映射網絡檔案夾的設定
完成映射時要提供存儲伺服器windows的管理者密碼
5、測試客戶機的管理者讀寫權限
如果出現如下情況,原因是windows存儲伺服器的共享檔案夾沒有開啟everyone的完全控制權限
6、配置DB windwos用戶端的everyone通路權限
如果安全(組和使用者)中沒有everyone使用者,則點選編輯-》添加-》進階-》立即查找-》搜尋結果中定位到everyone使用者
點選确定,然後修改everyone的通路控制權限
點選确定後檢視計算機(我的電腦)
用戶端再次測試讀寫可用性(可以正常通路了,讀沒問題)
在用戶端建立新檔案,測試寫可用性
windows伺服器端檢視用戶端寫的新檔案
到此,windows伺服器端網絡檔案夾共享到DB 伺服器端的設定完成!
windows oracle 11.2.0.1 expdp備份到windows存儲伺服器網絡共享檔案夾
1、檢視DB狀态
2、先rman遠端備份資料庫控制檔案到windows存儲伺服器的共享檔案夾下
如果出現如下ORA-27040錯誤,原因是不能使用遠端共享盤符,要使用windows共享存儲的Ip位址
C:\Windows\system32>rman target /
恢複管理器: Release 11.2.0.1.0 - Production on 星期三 1月 18 11:36:04 2017
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
連接配接到目标資料庫: ORADB (DBID=2664147949)
RMAN> backup current controlfile format 'z:\orabak\ctl.ora';
啟動 backup 于 18-1月 -17
使用目标資料庫控制檔案替代恢複目錄
配置設定的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=8 裝置類型=DISK
通道 ORA_DISK_1: 正在啟動全部資料檔案備份集
通道 ORA_DISK_1: 正在指定備份集内的資料檔案
備份集内包括目前控制檔案
通道 ORA_DISK_1: 正在啟動段 1 于 18-1月 -17
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-03009: backup 指令 (ORA_DISK_1 通道上, 在 01/18/2017 11:36:32 上) 失敗
ORA-19504: 無法建立檔案"Z:\ORABAK\CTL.ORA"
ORA-27040: 檔案建立錯誤, 無法建立檔案
OSD-04002: 無法打開檔案
O/S-Error: (OS 3) 系統找不到指定的路徑。
RMAN>
如果測試卡在“正在指定備份集内的資料檔案”,則需調整windows的oracle服務程序啟動權限
恢複管理器: Release 11.2.0.1.0 - Production on 星期三 1月 18 11:46:00 2017
RMAN> backup current controlfile format '\\192.168.144.200\orabackup\ctl.ora';
通道 ORA_DISK_1: SID=169 裝置類型=DISK
如果不修改windwos的oracle啟動程序服務權限就進行expdp備份會以ORA-39070失敗而告終
C:\Windows\system32>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期三 1月 18 11:47:32 2017
Copyright (c) 1982, 2010, Oracle. All rights reserved.
連接配接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> create directory zhul as '\\192.168.144.200\orabackup\oracle\windows\';
目錄已建立。
SQL>
C:\Windows\system32>expdp '/ as sysdba' directory=zhul dumpfile=orcl_full.dmp filesize=500m logfile=orcl_full_
win.log full=y
Export: Release 11.2.0.1.0 - Production on 星期三 1月 18 11:50:44 2017
連接配接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
ORA-39002: 操作無效
ORA-39070: 無法打開日志檔案。
ORA-29283: 檔案操作無效
ORA-06512: 在 "SYS.UTL_FILE", line 536
調整oracle資料庫的服務程序權限
關閉資料庫的監聽及資料庫服務
C:\Windows\system32>lsnrctl stop
LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 18-1月 -2017 11:57:17
Copyright (c) 1991, 2010, Oracle. All rights reserved.
正在連接配接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=3t5dq72)(PORT=1521)))
指令執行成功
C:\Windows\system32>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期三 1月 18 11:57:22 2017
SQL> shutdown immediate;
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
C:\Windows\system32>
重新開機監聽及OracleServiceORCL後嘗試rman備份控制檔案到網絡共享檔案夾
恢複管理器: Release 11.2.0.1.0 - Production on 星期三 1月 18 12:59:46 2017
通道 ORA_DISK_1: SID=86 裝置類型=DISK
通道 ORA_DISK_1: 已完成段 1 于 18-1月 -17
段句柄=\\192.168.144.200\ORABACKUP\CTL.ORA 标記=TAG20170118T130016 注釋=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:15
完成 backup 于 18-1月 -17
到windows共享檔案夾下檢視備份的控制檔案
接下來就可以進行expdp全庫備份到windows網絡共享檔案夾下了
;;;
Export: Release 11.2.0.1.0 - Production on 星期三 1月 18 13:04:27 2017
啟動 "SYS"."SYS_EXPORT_FULL_01": "/******** AS SYSDBA" directory=zhul dumpfile=orcl_full.dmp filesize=500m logfile=orcl_full_win.log full=y
正在使用 BLOCKS 方法進行估計...
處理對象類型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
使用 BLOCKS 方法的總估計: 199 MB
處理對象類型 DATABASE_EXPORT/TABLESPACE
處理對象類型 DATABASE_EXPORT/PROFILE
處理對象類型 DATABASE_EXPORT/SYS_USER/USER
處理對象類型 DATABASE_EXPORT/SCHEMA/USER
處理對象類型 DATABASE_EXPORT/ROLE
...
. . 導出了 "ZHUL"."TMP_REPAYMENTPLAN_BILLDETAIL" 0 KB 0 行
. . 導出了 "ZHUL"."TMP_REPAYMENTPLAN_BILLDETAIL2" 0 KB 0 行
. . 導出了 "ZHUL"."TMP_STA_BILL_ILLEGAL" 0 KB 0 行
. . 導出了 "ZHUL"."TMP_STA_BILL_ILLEGAL_BILL" 0 KB 0 行
. . 導出了 "ZHUL"."TMP_STA_BILL_ILLEGAL_DETAIL" 0 KB 0 行
. . 導出了 "ZHUL"."TMP_STA_BILL_PROBLEM" 0 KB 0 行
. . 導出了 "ZHUL"."TMP_STA_BILL_PROBLEM_BILL" 0 KB 0 行
. . 導出了 "ZHUL"."TMP_STA_BILL_PROBLEM_DETAIL" 0 KB 0 行
. . 導出了 "ZHUL"."TMP_STA_CLASSIFY_ILL_DETAIL" 0 KB 0 行
. . 導出了 "ZHUL"."TMP_SYNCDATA" 0 KB 0 行
. . 導出了 "ZHUL"."VERSION" 0 KB 0 行
. . 導出了 "ZHUL"."ZHUDANFYLXY" 0 KB 0 行
. . 導出了 "ZHUL"."ZHUDANLXY" 0 KB 0 行
. . 導出了 "ZHUL"."部分違反規則記錄" 0 KB 0 行
. . 導出了 "ZHUL"."部分違反規則記錄1" 0 KB 0 行
. . 導出了 "ZHUL"."部分違反規則記錄2" 0 KB 0 行
. . 導出了 "ZHUL"."部分違反規則記錄3" 0 KB 0 行
已成功加載/解除安裝了主表 "SYS"."SYS_EXPORT_FULL_01"
******************************************************************************
SYS.SYS_EXPORT_FULL_01 的轉儲檔案集為:
\\192.168.144.200\ORABACKUP\ORACLE\WINDOWS\ORCL_FULL.DMP
作業 "SYS"."SYS_EXPORT_FULL_01" 已于 13:08:09 成功完成
DB端本地檢查備份集及備份日志
windows存儲端檢視備份集及備份日志
linux oracle 11.2.0.4 expdp備份到windows存儲伺服器網絡共享檔案夾
[root@oratest ~]# mkdir /win
[root@oratest ~]# mount //10.117.196.52/orabak /win -o username=localadmin,password="P@ssw0rd",directio,noperm,rsize=32768,wsize=32768,rw,file_mode=0777,dir_mode=0777,uid=600,gid=501,_netdev
[root@oratest ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 11G 4.7G 5.5G 46% /
/dev/sda2 9.7G 152M 9.1G 2% /home
/dev/sda1 4.9G 145M 4.5G 4% /boot
tmpfs 1006M 456M 551M 46% /dev/shm
/dev/sdb1 16G 7.2G 7.8G 49% /oradata
//10.117.196.52/orabak
239G 206G 33G 86% /win
[root@oratest ~]#su - oracle
[oracle@oratest ~]$ cd /win
[oracle@oratest win]$ vi orcl.txt
[oracle@oratest win]$ ls
orcl.txt
[oracle@oratest win]$
[oracle@oratest ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Thu Jan 19 14:14:00 2017
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
SQL>
SQL> create directory win as '/win';
Directory created.
SQL> select * from dba_directories where directory_name='WIN';
OWNER DIRECTORY_NAME DIRECTORY_PATH
--------------- -------------------- ----------------------------------------
SYS WIN /win
[oracle@oratest ~]$ expdp system/oracle directory=win dumpfile=oradb_11204_full.dmp logfile=oradb_11204_expdp_full.log full=y
Export: Release 11.2.0.4.0 - Production on Thu Jan 19 14:12:24 2017
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
Starting "SYSTEM"."SYS_EXPORT_FULL_02": system/******** directory=win dumpfile=oradb_11204_full.dmp logfile=oradb_11204_expdp_full.log full=y
Estimate in progress using BLOCKS method...
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 64.31 MB
......
. . exported "SYSTEM"."REPCAT$_RUNTIME_PARMS" 0 KB 0 rows
. . exported "SYSTEM"."REPCAT$_SITES_NEW" 0 KB 0 rows
. . exported "SYSTEM"."REPCAT$_SITE_OBJECTS" 0 KB 0 rows
. . exported "SYSTEM"."REPCAT$_SNAPGROUP" 0 KB 0 rows
. . exported "SYSTEM"."REPCAT$_TEMPLATE_OBJECTS" 0 KB 0 rows
. . exported "SYSTEM"."REPCAT$_TEMPLATE_PARMS" 0 KB 0 rows
. . exported "SYSTEM"."REPCAT$_TEMPLATE_REFGROUPS" 0 KB 0 rows
. . exported "SYSTEM"."REPCAT$_TEMPLATE_SITES" 0 KB 0 rows
. . exported "SYSTEM"."REPCAT$_TEMPLATE_TARGETS" 0 KB 0 rows
. . exported "SYSTEM"."REPCAT$_USER_AUTHORIZATIONS" 0 KB 0 rows
. . exported "SYSTEM"."REPCAT$_USER_PARM_VALUES" 0 KB 0 rows
. . exported "SYSTEM"."SQLPLUS_PRODUCT_PROFILE" 0 KB 0 rows
Master table "SYSTEM"."SYS_EXPORT_FULL_02" successfully loaded/unloaded
Dump file set for SYSTEM.SYS_EXPORT_FULL_02 is:
/win/oradb_11204_full.dmp
Job "SYSTEM"."SYS_EXPORT_FULL_02" successfully completed at Thu Jan 19 14:15:42 2017 elapsed 0 00:03:18
[oracle@oratest ~]$
windows存儲端檢視expdp備份集備份日志