[20180423]flashback tablespace與snapshot standby.txt

来源:https://www.cnblogs.com/lfree/archive/2018/04/23/8916255.html
-Advertisement-
Play Games

[20180423]flashback tablespace與snapshot standby.txt--//預設建立表空間是打開flashback on,如果某個表空間flashback off,在dg啟動snapshot standby時註意,可能"回不來",--//通過測試說明問題.1.環境: ...


[20180423]flashback tablespace與snapshot standby.txt

--//預設建立表空間是打開flashback on,如果某個表空間flashback off,在dg啟動snapshot standby時註意,可能"回不來",
--//通過測試說明問題.

1.環境:
SCOTT@book> @ ver1
PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

2.設置備庫tea表空間關閉flashback.

SCOTT@book> alter tablespace tea flashback off;
Tablespace altered.

SCOTT@book> select * from v$tablespace;
         TS# NAME      INC BIG FLA ENC
------------ --------- --- --- --- ---
           0 SYSTEM    YES NO  YES
           1 SYSAUX    YES NO  YES
           2 UNDOTBS1  YES NO  YES
           4 USERS     YES NO  YES
           3 TEMP      NO  NO  YES
           6 EXAMPLE   YES NO  YES
           7 TEA       YES NO  NO
7 rows selected.

--//tea表空間FLASHBACK_ON設置為NO.註意這些信息應該記錄在控制文件,你可以發現備庫還是On .
--//備庫:
SYS@bookdg> select flashback_on from v$database;
FLASHBACK_ON
------------------
NO

SYS@bookdg> select * from v$tablespace;
       TS# NAME                 INC BIG FLA ENC
---------- -------------------- --- --- --- ---
         0 SYSTEM               YES NO  YES
         1 SYSAUX               YES NO  YES
         2 UNDOTBS1             YES NO  YES
         4 USERS                YES NO  YES
         3 TEMP                 NO  NO  YES
         6 EXAMPLE              YES NO  YES
         7 TEA                  YES NO  YES
7 rows selected.
--//備庫還是yes,tea表空間.

SYS@bookdg> alter tablespace tea flashback off;
alter tablespace tea flashback off
                     *
ERROR at line 1:
ORA-16000: database open for read-only access
--//無法在open read only修改.

SYS@bookdg> startup mount
ORACLE instance started.
Total System Global Area  634732544 bytes
Fixed Size                  2255792 bytes
Variable Size             197133392 bytes
Database Buffers          427819008 bytes
Redo Buffers                7524352 bytes
Database mounted.
SYS@bookdg> alter tablespace tea flashback off;
Tablespace altered.

SYS@bookdg> select * from v$tablespace;
       TS# NAME                 INC BIG FLA ENC
---------- -------------------- --- --- --- ---
         0 SYSTEM               YES NO  YES
         1 SYSAUX               YES NO  YES
         2 UNDOTBS1             YES NO  YES
         4 USERS                YES NO  YES
         3 TEMP                 NO  NO  YES
         6 EXAMPLE              YES NO  YES
         7 TEA                  YES NO  NO
7 rows selected.
--//OK,現在成功.

3.備庫打開snapshot standby:
--//參考http://blog.itpub.net/267265/viewspace-2134547/
--//實際上就是保證存儲點,只要閃回區足夠,許多dml操作沒有問題,在轉換physical standby時,返回原來的存儲點;

--//備庫:
SYS@bookdg> alter database convert to snapshot standby;
Database altered.

SYS@bookdg> select database_role from v$database;
DATABASE_ROLE
----------------
SNAPSHOT STANDBY

SYS@bookdg> alter database open ;
Database altered.

SCOTT@bookdg> create table tt1 tablespace tea as select * from dba_objects;
Table created.

--//在主庫也產生一些日誌對於tea表空間:
SCOTT@book> create table empx tablespace tea as select * from emp;
Table created.

--//現在轉換為physical standby
--//備庫:
SYS@bookdg> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SYS@bookdg> startup mount
ORACLE instance started.
Total System Global Area  634732544 bytes
Fixed Size                  2255792 bytes
Variable Size             197133392 bytes
Database Buffers          427819008 bytes
Redo Buffers                7524352 bytes
Database mounted.

SYS@bookdg> alter database convert to physical standby ;
alter database convert to physical standby
*
ERROR at line 1:
ORA-38753: Cannot flashback data file 6; no flashback log data.
ORA-01110: data file 6: '/mnt/ramdisk/book/tea01.dbf'

--//可以發現備庫的數據文件6無法轉換,這個應該引起足夠重視,在備庫轉換為snapshot standby時,註意檢查表空間是否flashvback是否都是on的狀態.
$ oerr ora 38753
38753, 00000, "Cannot flashback data file %s; no flashback log data."
// *Cause:  An attempt to perform a FLASHBACK DATABASE failed because the file
//          does not have enough flashback log data to cover the time to
//          flash back.  Either the file did not have flashback generation
//          enabled for it, or had flashback generation turned off for it
//          some time during the time span of the flashback.
// *Action: The file cannot be flashed back.  The file must be taken offline
//          or the tablespace dropped before continuing with the FLASHBACK
//          DATABASE command.

4.恢復:
--//簡單一點,主庫tea表空間設置為read only;
--//主庫:
SCOTT@book> alter tablespace tea read only;
Tablespace altered.

$ scp /mnt/ramdisk/book/tea01.dbf [email protected]:/mnt/ramdisk/book/
tea01.dbf                            100%   40MB  40.0MB/s   00:01

--//備庫:
SYS@bookdg> alter database convert to physical standby ;
alter database convert to physical standby
*
ERROR at line 1:
ORA-38753: Cannot flashback data file 6; no flashback log data.
ORA-01110: data file 6: '/mnt/ramdisk/book/tea01.dbf'
--//不行:

SYS@bookdg> alter tablespace tea flashback on;
Tablespace altered.

SYS@bookdg> alter database convert to physical standby ;
alter database convert to physical standby
*
ERROR at line 1:
ORA-19926: Database cannot be converted at this time

--//根本不能這樣轉換.

SYS@bookdg> alter tablespace tea offline;
alter tablespace tea offline
*
ERROR at line 1:
ORA-01109: database not open

SYS@bookdg> alter database datafile 6 offline;
Database altered.

--//關閉備庫重來.
SYS@bookdg> startup mount
ORACLE instance started.
Total System Global Area  634732544 bytes
Fixed Size                  2255792 bytes
Variable Size             197133392 bytes
Database Buffers          427819008 bytes
Redo Buffers                7524352 bytes
Database mounted.

SYS@bookdg> alter database convert to physical standby ;
Database altered.

SYS@bookdg> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.

SYS@bookdg> startup mount
ORACLE instance started.
Total System Global Area  634732544 bytes
Fixed Size                  2255792 bytes
Variable Size             197133392 bytes
Database Buffers          427819008 bytes
Redo Buffers                7524352 bytes
Database mounted.

SYS@bookdg> alter database datafile 6 online;
Database altered.

SYS@bookdg> alter database recover managed standby database using current logfile disconnect ;
Database altered.

SYS@bookdg> @ &r/dg/dg
PROCESS       PID STATUS       CLIENT_P GROUP# THREAD#  SEQUENCE#     BLOCK#     BLOCKS DELAY_MINS
--------- ------- ------------ -------- ------ ------- ---------- ---------- ---------- ----------
ARCH         2394 CONNECTED    ARCH     N/A          0          0          0          0          0
ARCH         2396 CONNECTED    ARCH     N/A          0          0          0          0          0
ARCH         2398 CONNECTED    ARCH     N/A          0          0          0          0          0
RFS          2403 IDLE         UNKNOWN  N/A          0          0          0          0          0
RFS          2405 IDLE         LGWR     2            1        789         50          1          0
ARCH         2400 CLOSING      ARCH     4            1        788          1        183          0
MRP0         2407 APPLYING_LOG N/A      N/A          1        789         50     102400          0
7 rows selected.
--//日誌開始傳輸並應用.

SYS@bookdg> alter database recover managed standby database cancel ;
Database altered.

SYS@bookdg> alter database open read only;
Database altered.

SYS@bookdg> alter database recover managed standby database using current logfile disconnect ;
Database altered.

SYS@bookdg> select count(*) from scott.empx;
  COUNT(*)
----------
        14

SYS@bookdg> select count(*) from scott.tt1;
select count(*) from scott.tt1
                           *
ERROR at line 1:
ORA-00942: table or view does not exist
--//測試時建立的表不存在.
        
--//主庫執行:
SCOTT@book> alter tablespace tea read write;
Tablespace altered.

SCOTT@book> delete from empx where rownum=1;
1 row deleted.

SCOTT@book> commit ;
Commit complete.

--//在備庫檢查,發現少一條記錄.
SYS@bookdg> select count(*) from scott.empx;
  COUNT(*)
----------
        13

總結:
--//這個在以後工作中註意,在轉換snapshot standby,註意表空間flaashback是否在on狀態.


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 除了很多主流的資料庫,我們很熟悉之外,越來越多的國產資料庫也涌現出來。 這次就小結一些有關武漢的達夢資料庫7這個開發版資料庫的有別或者需要註意的地方進行一個簡單備註吧。 1、第一件大事就是下載。資料庫開發版下載位置去官網搜索就很容易找到,http://www.dameng.com/down.aspx ...
  • 本文為mariadb官方手冊:group_concat()函數的譯文。 原文:https://mariadb.com/kb/en/group_concat/ 我提交到MariaDB官方手冊的譯文:https://mariadb.com/kb/zh-cn/group_concat/ 回到Linux系列 ...
  • 本文由 網易雲 發佈。 一、商業智能行業分析 根據Gartner、Tableau等發佈的行業權威報告,2017年BI行業的發展是:業務人員自助分析、可視化探索、產品的靈活+易用性 1、商業智能和分析平臺市場的主流已經從IT主導分析報表轉向商業主導分析 2、基於可視的探索模式已成為主流 3、市場對靈活 ...
  • 本文由 網易雲 發佈。 本期高手問答(4月23日—4月28日),我們請來了桑文鋒老師和大家一起探討數據驅動方面的問題。桑老師基於他在百度的大數據工作,撰寫了《數據驅動:從方法到實踐》一書,它是從理論到實踐的全面且細緻的企業數據驅動指南。 詳解了大數據本質、理念與現狀,圍繞數據驅動四環節——採集、建模 ...
  • 問題一: 今天拿到一份有近百萬條數據的Excel要導到資料庫裡面,我先在本地(2014)用自帶Excel,然後生成腳本文件去伺服器(2008)上執行;文件SQL打開不了 解決方法: 用自帶的sqlcmd工具 第一步:Win+R 鍵入:cmd 命令,開啟命令行工具; 第二步:鍵入:cd C:\Prog ...
  • Oracle資料庫伺服器DG從庫重啟後,無法完成數據同步,具體報錯信息如下: 一、報錯信息 alter log報錯 二、錯誤原因分析 根據報錯信息可以看到通過tns連接logdb服務名存在問題,可通過排查監聽是否啟動,是否有防火牆限制等。 三、處理步驟 通過排查監聽和防火牆限制,發現沒有問題,主庫通 ...
  • 什麼是資料庫: 資料庫(database)是按照數據結構來組織、存儲和管理數據的倉庫,每個資料庫都有一個或多個不同的API用於創建、訪問、管理、搜索和複製所保存的數據。 什麼是mysql: mysql是關係型資料庫管理系統,可以更好的支持WEB應用。 關係型資料庫與非關係型資料庫: 關係型資料庫是通 ...
  • list類型是一個鏈表結構,主要功能有push,pop等。而且list是一個雙向鏈表,可以通過相關操作進行集合的頭部或者尾部添加,刪除元素。 lpush key string 在key對應的list的頭部添加字元串元素,返回1表示成功,0表示key存在且不是list類型 rpush key stri ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...