归档模式下,使用RMAN的同一备份两次用于不完全恢复
SCN的序列的递增性不随数据库的任何操作而改变,即使是RESETLOGS也如此。RESETLOGS清除所有联机日志文件中未应用的重做记录,RES
实验理论基础:
SCN的序列的递增性不随数据库的任何操作而改变,即使是RESETLOGS也如此。
RESETLOGS清除所有联机日志文件中未应用的重做记录,RESETLOGS只重置日志文件的序列号为1,但对SCN无影响,SCN仍按原序列递增。
在控制文件中保存resetlogs SCN和计数器,以便唯一地标识用RESETLOGS选项执行的每一次打开数据库的操作。
这个值被写进每个数据文件头以及重做日志文件。
如果重做日志文件的日志序列号与Oracle的要求值不相符,则在恢复中不能应用重做日志文件。
执行不完全恢复后,数据库要求日志序列号为1的日志文件,所以原来的日志序列中剩余的日志文件将不可用。
RESETLOGS操作创建数据库的新形体,即一个拥有从1开始的新的日志序列号流的数据库。
根据以上理论:SCN为顺序数据流,在数据库存在期间始终递增,而日志文件序列流也是递增序列,只不过会因RESETLOGS而重置为1,但日志文件序列流中的SCN序列流却保持递增不变。
因此可以用RESETLOGS之前的归档日志流和RESETLOGS之后的归档日志流来连接和延续SCN序列流,这样就实现了用RESETLOGS之前的备份恢复RESETLOGS之后的数据。
前提是:
保证两股日志流(RESETLOGS之前的归档日志流和RESETLOGS之后的归档日志流)完整,并且有相应两股日志流的控制文件。
建议:在RESETLOGS前保证数据库以前备份的数据安全,在创建RESETLOGS之后的第一个一致性备份之前,一定不可删掉在RESETLOGS前创建的一致数据库备份。
如空间足够,建议永久保留RESETLOGS前创建的一致数据库备份。
实验思路、步骤:
1.关库做备份--RMAN,记下SCN与时间,,记录序号及REDO。
2.打开库,记下时间/SCN,删除一个用户,做基于时间点的不完全恢复。记录不完全恢复后的SCN,归档序号
3.在恢复后的库,记下时间/SCN,再删除一个用户,使用步骤1中备份可以对RESETLOS后的库再次做不完全恢复。
##########################################################################################################
SYS@bys1>col name for a50
SYS@bys1>select * from (select name,recid,sequence#,status,applied from v$archived_log order by recid desc) where rownumNAME RECID SEQUENCE# S APPLIED
-------------------------------------------------- ---------- ---------- - ---------
/u01/archbys1/arc_1_31_829941492.arc 120 31 A NO
/u01/archbys1/arc_1_30_829941492.arc 119 30 A NO
/u01/archbys1/arc_1_29_829941492.arc 118 29 A NO
/u01/archbys1/arc_1_28_829941492.arc 117 28 A NO
BYS@bys1>select incarnation#,resetlogs_change#,resetlogs_time,prior_resetlogs_time,status,resetlogs_id from v$database_incarnation;后来补充-可以从此视图查出历次RESETLOGS情况
INCARNATION# RESETLOGS_CHANGE# RESETLOGS_TIME PRIOR_RESETLOGS_TIM STATUS RESETLOGS_ID
------------ ----------------- ------------------- ------------------- ------- ------------
1 1 2009/08/13 23:00:48 PARENT 694825248
2 754488 2013/08/01 08:58:04 2009/08/13 23:00:48 PARENT 822301084
3 2541692 2013/10/27 19:18:12 2013/08/01 08:58:04 PARENT 829941492
4 3228984 2013/11/06 00:14:08 2013/10/27 19:18:12 PARENT 830736848
5 3229505 2013/11/06 00:27:42 2013/11/06 00:14:08 CURRENT 830737662
SYS@bys1>startup mount;
ORACLE instance started.
Total System Global Area 631914496 bytes
Fixed Size 1338364 bytes
Variable Size 385876996 bytes
Database Buffers 239075328 bytes
Redo Buffers 5623808 bytes
SYS@bys1>exit
[oracle@bys001 ~]$ cat fullback.sh
rman log /home/oracle/backfull-`date +%Y%m%d-%H%M`.log connect target /;
run {
backup full tag 'bys001-full' database
format "/home/oracle/bys001full_%d_%t_%s"
plus archivelog
format "/home/oracle/bys001arch_%d_%t_%s"
delete all input;
}
exit
[oracle@bys001 ~]$ sh fullback.sh
RMAN> RMAN> 2> 3> 4> 5> 6> 7> RMAN>
[oracle@bys001 ~]$ sqlplus / as sysdba
SYS@bys1>alter database open;
Database altered.
###############
4.记录当前系统的SCN,并删除一个用户
SYS@bys1>select open_mode from v$database;
OPEN_MODE
--------------------
READ WRITE
SYS@bys1>select dbid,checkpoint_change# from v$database;
DBID CHECKPOINT_CHANGE#
---------- ------------------
3957527513 3228508
SYS@bys1>col name for a40
SYS@bys1>select file#,name,checkpoint_change#,to_char(checkpoint_time,'yyyy-mm-dd hh24:mi:ss') cptime from v$datafile;
FILE# NAME CHECKPOINT_CHANGE# CPTIME
---------- ---------------------------------------- ------------------ -------------------
1 /u01/oradata/bys1/system01.dbf 3228508 2013-11-05 23:51:15
2 /u01/oradata/bys1/sysaux01.dbf 3228508 2013-11-05 23:51:15
3 /u01/oradata/bys1/undotbs01.dbf 3228508 2013-11-05 23:51:15
4 /u01/oradata/bys1/users01.dbf 3228508 2013-11-05 23:51:15
5 /u01/oradata/bys1/example01.dbf 3228508 2013-11-05 23:51:15
6 /u01/oradata/bys1/test1.dbf 3228508 2013-11-05 23:51:15
SYS@bys1> select GROUP#,sequence#,STATUS,FIRST_CHANGE#,to_char(FIRST_TIME,'yyyy/mm/dd:hh24:mi:ss') time from V$log;
GROUP# SEQUENCE# STATUS FIRST_CHANGE# TIME
---------- ---------- ---------------- ------------- -------------------
1 31 INACTIVE 3222825 2013/11/05:22:08:56
2 32 CURRENT 3228378 2013/11/05:23:38:08 可以看到当前REDO日志的序号是32
3 30 INACTIVE 3218774 2013/11/05:22:00:30
SYS@bys1>set time on
23:55:34 SYS@bys1> select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
3228983
23:55:35 SYS@bys1>conn test/test
Connected.
23:55:53 TEST@bys1>select * from cat;
TABLE_NAME TABLE_TYPE
------------------------------ -----------
TEST1 SYNONYM
23:56:06 TEST@bys1>conn / as sysdba
Connected.
23:56:18 SYS@bys1>drop user test cascade;
User dropped.
删除用户完成
######################################################################

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

全表掃描在MySQL中可能比使用索引更快,具體情況包括:1)數據量較小時;2)查詢返回大量數據時;3)索引列不具備高選擇性時;4)複雜查詢時。通過分析查詢計劃、優化索引、避免過度索引和定期維護表,可以在實際應用中做出最優選擇。

是的,可以在 Windows 7 上安裝 MySQL,雖然微軟已停止支持 Windows 7,但 MySQL 仍兼容它。不過,安裝過程中需要注意以下幾點:下載適用於 Windows 的 MySQL 安裝程序。選擇合適的 MySQL 版本(社區版或企業版)。安裝過程中選擇適當的安裝目錄和字符集。設置 root 用戶密碼,並妥善保管。連接數據庫進行測試。注意 Windows 7 上的兼容性問題和安全性問題,建議升級到受支持的操作系統。

InnoDB的全文搜索功能非常强大,能够显著提高数据库查询效率和处理大量文本数据的能力。1)InnoDB通过倒排索引实现全文搜索,支持基本和高级搜索查询。2)使用MATCH和AGAINST关键字进行搜索,支持布尔模式和短语搜索。3)优化方法包括使用分词技术、定期重建索引和调整缓存大小,以提升性能和准确性。

聚集索引和非聚集索引的區別在於:1.聚集索引將數據行存儲在索引結構中,適合按主鍵查詢和範圍查詢。 2.非聚集索引存儲索引鍵值和數據行的指針,適用於非主鍵列查詢。

MySQL是一個開源的關係型數據庫管理系統。 1)創建數據庫和表:使用CREATEDATABASE和CREATETABLE命令。 2)基本操作:INSERT、UPDATE、DELETE和SELECT。 3)高級操作:JOIN、子查詢和事務處理。 4)調試技巧:檢查語法、數據類型和權限。 5)優化建議:使用索引、避免SELECT*和使用事務。

MySQL 和 MariaDB 可以共存,但需要謹慎配置。關鍵在於為每個數據庫分配不同的端口號和數據目錄,並調整內存分配和緩存大小等參數。連接池、應用程序配置和版本差異也需要考慮,需要仔細測試和規劃以避免陷阱。在資源有限的情況下,同時運行兩個數據庫可能會導致性能問題。

MySQL 數據庫中,用戶和數據庫的關係通過權限和表定義。用戶擁有用戶名和密碼,用於訪問數據庫。權限通過 GRANT 命令授予,而表由 CREATE TABLE 命令創建。要建立用戶和數據庫之間的關係,需創建數據庫、創建用戶,然後授予權限。

MySQL支持四種索引類型:B-Tree、Hash、Full-text和Spatial。 1.B-Tree索引適用於等值查找、範圍查詢和排序。 2.Hash索引適用於等值查找,但不支持範圍查詢和排序。 3.Full-text索引用於全文搜索,適合處理大量文本數據。 4.Spatial索引用於地理空間數據查詢,適用於GIS應用。
