Home Database Mysql Tutorial RMAN基于表空间的不完全恢复(TSPITR)

RMAN基于表空间的不完全恢复(TSPITR)

Jun 07, 2016 pm 02:52 PM
rm based on recover

RMAN基于表空间的不完全恢复(TSPITR) 表空间时间点恢复(TSPITR):概念 通过执行TSPITR 可将一个或多个表空间快速恢复到以前的某个时间。 执行TSPITR 不会影响数据库中其它表空间或对象的状态。 使用RMAN 自动表空间时间点恢复(TSPITR) 可将Oracle DB 中的一

RMAN基于表空间的不完全恢复(TSPITR)

  • 表空间时间点恢复(TSPITR):概念

通过执行TSPITR 可将一个或多个表空间快速恢复到以前的某个时间。

执行TSPITR 不会影响数据库中其它表空间或对象的状态。

使用RMAN 自动表空间时间点恢复(TSPITR) 可将Oracle DB 中的一个或多个表空间快速恢复到以前的某个时间,而不会影响数据库中其它表空间和对象的状态。

  • 表空间时间点恢复(TSPITR):术语

目标时间:表空间恢复到的时间点或SCN

恢复集:组成要恢复的表空间的数据文件

辅助集:对恢复集执行TSPITR 时所必需的,但不属于恢复集的数据文件。辅助集通常包括:

– SYSTEM表空间

– 还原段表空间

– 临时表空间

辅助目标:存储文件的磁盘位置

讨论TSPITR 时使用了以下术语:

目标时间:执行TSPITR 期间表空间将恢复到的时间点或系统更改号(SCN)。

恢复集:组成要恢复的表空间的数据文件。

辅助集:对恢复集执行TSPITR 时所必需的,但本身不属于恢复集的数据文件。辅助集通常包括:

- SYSTEM表空间的副本

- 包含来自目标实例的还原段的数据文件

- 某些情况下从辅助实例导出数据库对象期间使用的临时表空间

辅助目标:执行TSPITR 期间在磁盘上存储辅助实例的任何辅助集数据文件、控制文件和联机日志的位置。执行完TSPITR 之后可删除辅助目标中存储的文件。

  • 表空间时间点恢复:体系结构

图表中显示了下列TSPITR 实体:

目标数据库:包含要恢复的表空间

控制文件:向RMAN 提供备份信息

备份集:来自目标数据库,用作重建表空间的来源

归档重做日志:来自目标数据库,用作重建表空间的来源

辅助实例:在恢复过程中用来执行恢复的Oracle DB 实例

RMAN 在执行表空间时间点恢复期间会执行下列步骤:

1.将目标时间之前某个时间点的备份控制文件还原到辅助实例。将恢复集的数据文件还原到目标数据库,将辅助集的数据文件还原到辅助实例。

2.将还原的数据文件恢复到指定的时间点。

 

3.将已恢复表空间中对象的字典元数据导出到目标数据库。

4.在目标数据库上发出SWITCH命令,以使目标数据库控制文件指向辅助实例上已恢复的恢复集中的数据文件。

5.将辅助实例中的字典元数据导入目标实例,以便能访问已恢复对象。

  • 执行基本RMAN TSPITR

注意:要恢复的表空间必须是自包含的表空间

  • 完全自动执行的TSPITR

  • – 指定辅助目标。

  • – RMAN 会管理TSPITR 的所有方面。

  • – 这是推荐的方法。

  • 使用自动辅助实例的定制TSPITR

  • – 这是在完全自动执行TSPITR 的基础上进行的。

  • – 定制文件位置。

  • – 指定初始化参数。

  • – 指定通道配置。

  • 使用您自己辅助实例的TSPITR

  • – 配置并管理辅助实例。

  • 执行TSPITR 时有下列选项:

  • 完全自动执行的TSPITR:指定辅助目标,RMAN 会管理TSPITR 操作的所有方面。这是最简单的执行TSPITR 的方法,建议采用这种方法,除非明确指出需要在执行

  • TSPITR 之后控制恢复集的位置,或者在执行TSPITR 期间控制辅助集文件的位置,或者需要控制辅助实例的通道配置或其它某个方面。

  • 使用自动辅助实例的定制TSPITR:TSPITR 基于完全自动执行的TSPITR 的行为,可能仍使用辅助目标。可以自定义其行为的一个或多个方面,如辅助集文件或恢复集

  • 文件的位置。可以为RMAN 创建并管理的辅助实例指定初始化参数或通道配置。

  • 使用你自己辅助实例的TSPITR:设置、启动、停止和清除在TSPITR 中使用的辅助实例。另外,可以借助使用自动辅助实例的定制TSPITR 中的一些方法来管理TSPITR 过程。

RMAN自动执行TSPITR案例:

1、工作环境

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

12:21:32 SCOTT@ prod>create table emp1 as select * from emp;

Table created.

Elapsed: 00:00:00.65

14:07:41 SCOTT@ prod>insert into emp1 select * from emp where rownum <5;

4 rows created.

Elapsed: 00:00:00.02

14:08:18 SCOTT@ prod>commit;

Commit complete.

Elapsed: 00:00:00.04

14:08:19 SCOTT@ prod>select count(*) from emp1;

  COUNT(*)

----------

        18

Elapsed: 00:00:00.02

emp1表数据被误删除:

14:08:20 SCOTT@ prod>truncate table emp1;

Table truncated.

Elapsed: 00:00:00.32

14:08:30 SCOTT@ prod>insert into emp1 select * from emp where empno=7788;

1 row created.

Elapsed: 00:00:00.03

14:08:46 SCOTT@ prod>commit;

Commit complete.

Elapsed: 00:00:00.06

14:08:48 SCOTT@ prod>select * from emp1;

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO

---------- ---------- --------- ---------- --------- ---------- ---------- ----------

      7788 SCOTT      ANALYST         7566 19-APR-87       3000                    20

Elapsed: 00:00:00.08

14:08:55 SCOTT@ prod>update emp1 set empno=8888;

1 row updated.

Elapsed: 00:00:00.02

14:09:06 SCOTT@ prod>commit;

Commit complete.

Elapsed: 00:00:00.01

14:09:08 SCOTT@ prod>select * from emp1;

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO

---------- ---------- --------- ---------- --------- ---------- ---------- ----------

      8888 SCOTT      ANALYST         7566 19-APR-87       3000                    20

Elapsed: 00:00:00.01

14:09:12 SCOTT@ prod>

Copy after login


2、做恢复前的检测

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

检测tablespace是否自包含:

10:39:16 SCOTT@ prod>CONN /as sysdba

Connected.

10:39:25 SYS@ prod>exec DBMS_TTS.TRANSPORT_SET_CHECK('TBS1',TRUE);

PL/SQL procedure successfully completed.

Elapsed: 00:01:58.45

10:41:43 SYS@ prod>select * from TRANSPORT_SET_VIOLATIONS t;

no rows selected

确认所要恢复的数据文件:

14:13:34 SYS@ prod>select * from dba_data_files t  where T.TABLESPACE_NAME='TBS1';

FILE_NAME

------------------------------------------------------------------------------------------------------------------------

   FILE_ID TABLESPACE_NAME                     BYTES     BLOCKS STATUS    RELATIVE_FNO AUT   MAXBYTES  MAXBLOCKS

---------- ------------------------------ ---------- ---------- --------- ------------ --- ---------- ----------

INCREMENT_BY USER_BYTES USER_BLOCKS ONLINE_

------------ ---------- ----------- -------

/u01/app/oracle/oradata/prod/tbs1.dbf

         6 TBS1                             10485760       1280 AVAILABLE            6 NO           0          0

           0    9437184        1152 ONLINE

Elapsed: 00:00:00.02

14:14:42 SYS@ prod>

检查是否包含辅助集SYSTEM UNDO和CONTROLFILE:

14:14:38 SYS@ prod>select file_name name from dba_data_files t  where T.TABLESPACE_NAME IN('SYSTEM','UNDOTBS1')

14:14:40   2  union

14:14:41   3  select max(name) from v$controlfile t;

NAME

-------------------------------------------------------------------------------------------

/u01/app/oracle/oradata/prod/control01.ctl

/u01/app/oracle/oradata/prod/system01.dbf

/u01/app/oracle/oradata/prod/undotbs01.dbf

Elapsed: 00:00:00.03

检查TSP之后可能丢失的对象:

14:14:42 SYS@ prod>select * from TS_PITR_OBJECTS_TO_BE_DROPPED T where T.OWNER='TBS1';

no rows selected

Elapsed: 00:00:00.17

Copy after login

3、执行基于RMAN的TSPITR

[root@rh6 prod]# mkdir /home/oracle/prod

存放辅助库文件

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

224

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239

240

241

242

243

[oracle@rh6 ~]$ rman target /

Recovery Manager: Release 11.2.0.1.0 - Production on Tue Jun 24 14:24:46 2014

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

connected to target database: PROD (DBID=239333010)

 

执行recover tablespace:

 

RMAN> recover tablespace tbs1 until time "to_date('2014-06-24 14:08:18','yyyy-mm-dd hh24:mi:ss')" auxiliary destination '/home/oracle/prod';

 

 

Starting recover at 24-JUN-14

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=40 device type=DISK

RMAN-05026: WARNING: presuming following set of tablespaces applies to specified point-in-time

List of tablespaces expected to have UNDO segments

Tablespace SYSTEM

Tablespace UNDOTBS1

Creating automatic instance, with SID='nhxv'

 

建立Auxiliary instance:

 

initialization parameters used for automatic instance:

db_name=PROD

db_unique_name=nhxv_tspitr_PROD

compatible=11.2.0.0.0

db_block_size=8192

db_files=200

sga_target=280M

processes=50

db_create_file_dest=/home/oracle/prod

log_archive_dest_1='location=/home/oracle/prod'

#No auxiliary parameter file used

starting up automatic instance PROD

Oracle instance started

Total System Global Area     292278272 bytes

Fixed Size                     2212736 bytes

Variable Size                100666496 bytes

Database Buffers             184549376 bytes

Redo Buffers                   4849664 bytes

Automatic instance created

Running TRANSPORT_SET_CHECK on recovery set tablespaces

TRANSPORT_SET_CHECK completed successfully

contents of Memory Script:

{

# set requested point in time

set until  time "to_date('2014-06-24 14:08:18','yyyy-mm-dd hh24:mi:ss')";

# restore the controlfile

restore clone controlfile;

# mount the controlfile

sql clone 'alter database mount clone database';

# archive current online log

sql 'alter system archive log current';

# avoid unnecessary autobackups for structural changes during TSPITR

sql 'begin dbms_backup_restore.AutoBackupFlag(FALSE); end;';

}

 

通过备份建立Auxiliary database:

 

executing Memory Script

executing command: SET until clause

Starting restore at 24-JUN-14

allocated channel: ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: SID=19 device type=DISK

channel ORA_AUX_DISK_1: starting datafile backup set restore

channel ORA_AUX_DISK_1: restoring control file

channel ORA_AUX_DISK_1: reading from backup piece /dsk4/bak/PROD_10.bak

channel ORA_AUX_DISK_1: piece handle=/dsk4/bak/PROD_10.bak tag=TAG20140624T121907

channel ORA_AUX_DISK_1: restored backup piece 1

channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01

output file name=/home/oracle/prod/PROD/controlfile/o1_mf_9tl6lyhz_.ctl

Finished restore at 24-JUN-14

sql statement: alter database mount clone database

sql statement: alter system archive log current

sql statement: begin dbms_backup_restore.AutoBackupFlag(FALSE); end;

contents of Memory Script:

{

# set requested point in time

set until  time "to_date('2014-06-24 14:08:18','yyyy-mm-dd hh24:mi:ss')";

plsql <<<-- tspitr_2

declare

  sqlstatement       varchar2(512);

  offline_not_needed exception;

  pragma exception_init(offline_not_needed, -01539);

begin

  sqlstatement := 'alter tablespace '||  'TBS1' ||' offline immediate';

  krmicd.writeMsg(6162, sqlstatement);

  krmicd.execSql(sqlstatement);

exception

  when offline_not_needed then

    null;

end; >>>;

# set destinations for recovery set and auxiliary set datafiles

set newname for clone datafile  1 to new;

set newname for clone datafile  3 to new;

set newname for clone datafile  2 to new;

set newname for clone tempfile  1 to new;

set newname for datafile  6 to

 "/u01/app/oracle/oradata/prod/tbs1.dbf";

# switch all tempfiles

switch clone tempfile all;

# restore the tablespaces in the recovery set and the auxiliary set

restore clone datafile  1, 3, 2, 6;

switch clone datafile all;

}

 

restore 数据到Auxiliary database:

 

executing Memory Script

executing command: SET until clause

sql statement: alter tablespace TBS1 offline immediate

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

renamed tempfile 1 to /home/oracle/prod/PROD/datafile/o1_mf_temp_%u_.tmp in control file

Starting restore at 24-JUN-14

using channel ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: starting datafile backup set restore

channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set

channel ORA_AUX_DISK_1: restoring datafile 00001 to /home/oracle/prod/PROD/datafile/o1_mf_system_%u_.dbf

channel ORA_AUX_DISK_1: restoring datafile 00003 to /home/oracle/prod/PROD/datafile/o1_mf_undotbs1_%u_.dbf

channel ORA_AUX_DISK_1: restoring datafile 00002 to /home/oracle/prod/PROD/datafile/o1_mf_sysaux_%u_.dbf

channel ORA_AUX_DISK_1: restoring datafile 00006 to /u01/app/oracle/oradata/prod/tbs1.dbf

channel ORA_AUX_DISK_1: reading from backup piece /dsk4/bak/PROD_9.bak

channel ORA_AUX_DISK_1: piece handle=/dsk4/bak/PROD_9.bak tag=TAG20140624T121907

channel ORA_AUX_DISK_1: restored backup piece 1

channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:01:55

Finished restore at 24-JUN-14

datafile 1 switched to datafile copy

input datafile copy RECID=5 STAMP=851092186 file name=/home/oracle/prod/PROD/datafile/o1_mf_system_9tl6m7sd_.dbf

datafile 3 switched to datafile copy

input datafile copy RECID=6 STAMP=851092186 file name=/home/oracle/prod/PROD/datafile/o1_mf_undotbs1_9tl6m7x5_.dbf

datafile 2 switched to datafile copy

input datafile copy RECID=7 STAMP=851092186 file name=/home/oracle/prod/PROD/datafile/o1_mf_sysaux_9tl6m7vy_.dbf

contents of Memory Script:

{

# set requested point in time

set until  time "to_date('2014-06-24 14:08:18','yyyy-mm-dd hh24:mi:ss')";

# online the datafiles restored or switched

sql clone "alter database datafile  1 online";

sql clone "alter database datafile  3 online";

sql clone "alter database datafile  2 online";

sql clone "alter database datafile  6 online";

# recover and open resetlogs

recover clone database tablespace  "TBS1", "SYSTEM", "UNDOTBS1", "SYSAUX" delete archivelog;

alter clone database open resetlogs;

}

 

将Auxiliary database的datafile激活,只需要system、undo、sysaux和要恢复的表空间(tbs1):

 

executing Memory Script

executing command: SET until clause

sql statement: alter database datafile  1 online

sql statement: alter database datafile  3 online

sql statement: alter database datafile  2 online

sql statement: alter database datafile  6 online

Starting recover at 24-JUN-14

using channel ORA_AUX_DISK_1

starting media recovery

archived log for thread 1 with sequence 25 is already on disk as file /dsk4/arch1/arch_1_25_847900609.log

archived log file name=/dsk4/arch1/arch_1_25_847900609.log thread=1 sequence=25

media recovery complete, elapsed time: 00:00:05

Finished recover at 24-JUN-14

database opened

contents of Memory Script:

{

# make read only the tablespace that will be exported

sql clone 'alter tablespace  TBS1 read only';

# create directory for datapump import

sql "create or replace directory TSPITR_DIROBJ_DPDIR as ''

/home/oracle/prod''";

# create directory for datapump export

sql clone "create or replace directory TSPITR_DIROBJ_DPDIR as ''

/home/oracle/prod''";

}

 

通过Auxiliary database导出恢复的数据:

 

executing Memory Script

sql statement: alter tablespace  TBS1 read only

sql statement: create or replace directory TSPITR_DIROBJ_DPDIR as ''/home/oracle/prod''

sql statement: create or replace directory TSPITR_DIROBJ_DPDIR as ''/home/oracle/prod''

Performing export of metadata...

EXPDP> Starting "SYS"."TSPITR_EXP_nhxv"

   EXPDP> Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK

   EXPDP> Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK

   EXPDP> Master table "SYS"."TSPITR_EXP_nhxv" successfully loaded/unloaded

   EXPDP> ******************************************************************************

   EXPDP> Dump file set for SYS.TSPITR_EXP_nhxv is:

   EXPDP>   /home/oracle/prod/tspitr_nhxv_69835.dmp

   EXPDP> ******************************************************************************

   EXPDP> Datafiles required for transportable tablespace TBS1:

   EXPDP>   /u01/app/oracle/oradata/prod/tbs1.dbf

   EXPDP> Job "SYS"."TSPITR_EXP_nhxv" successfully completed at 14:32:23

Export completed

contents of Memory Script:

{

# shutdown clone before import

shutdown clone immediate

# drop target tablespaces before importing them back

sql 'drop tablespace  TBS1 including contents keep datafiles';

}

 

在目标库导入要恢复的数据:

 

executing Memory Script

database closed

database dismounted

Oracle instance shut down

sql statement: drop tablespace  TBS1 including contents keep datafiles

Performing import of metadata...

   IMPDP> Master table "SYS"."TSPITR_IMP_nhxv" successfully loaded/unloaded

   IMPDP> Starting "SYS"."TSPITR_IMP_nhxv"

   IMPDP> Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK

   IMPDP> Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK

   IMPDP> Job "SYS"."TSPITR_IMP_nhxv" successfully completed at 14:32:55

Import completed

contents of Memory Script:

{

# make read write and offline the imported tablespaces

sql 'alter tablespace  TBS1 read write';

sql 'alter tablespace  TBS1 offline';

# enable autobackups after TSPITR is finished

sql 'begin dbms_backup_restore.AutoBackupFlag(TRUE); end;';

}

executing Memory Script

sql statement: alter tablespace  TBS1 read write

sql statement: alter tablespace  TBS1 offline

sql statement: begin dbms_backup_restore.AutoBackupFlag(TRUE); end;

Removing automatic instance

Automatic instance removed

auxiliary instance file /home/oracle/prod/PROD/datafile/o1_mf_temp_9tl6qbyc_.tmp deleted

auxiliary instance file /home/oracle/prod/PROD/onlinelog/o1_mf_3_9tl6q6v9_.log deleted

auxiliary instance file /home/oracle/prod/PROD/onlinelog/o1_mf_2_9tl6q41j_.log deleted

auxiliary instance file /home/oracle/prod/PROD/onlinelog/o1_mf_1_9tl6q1bx_.log deleted

auxiliary instance file /home/oracle/prod/PROD/datafile/o1_mf_sysaux_9tl6m7vy_.dbf deleted

auxiliary instance file /home/oracle/prod/PROD/datafile/o1_mf_undotbs1_9tl6m7x5_.dbf deleted

auxiliary instance file /home/oracle/prod/PROD/datafile/o1_mf_system_9tl6m7sd_.dbf deleted

auxiliary instance file /home/oracle/prod/PROD/controlfile/o1_mf_9tl6lyhz_.ctl deleted

Finished recover at 24-JUN-14

RMAN>

Copy after login

4、恢复完成校验

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

14:33:44 SCOTT@ prod>conn /as sysdba

Connected.

14:34:17 SYS@ prod>select tablespace_name,status from dba_tablespaces;

TABLESPACE_NAME                STATUS

------------------------------ ---------

SYSTEM                         ONLINE

SYSAUX                         ONLINE

UNDOTBS1                       ONLINE

TEMP                           ONLINE

USERS                          ONLINE

EXAMPLE                        ONLINE

TBS1                           OFFLINE

7 rows selected.

Elapsed: 00:00:00.03

14:34:20 SYS@ prod>alter tablespace tbs1 online;

Tablespace altered.

Elapsed: 00:00:00.24

14:34:30 SYS@ prod>select count(*) from scott.emp1;

  COUNT(*)

----------

         18

Copy after login

当执行表空间基于时间的恢复,通过使用当前数据文件的镜像副本可以避免转储数据文件,从而提高TSPITR的性能。

1

2

3

4

5

6

7

8

建立数据文件镜像的两种方法:

RMAN> backup as copy format='/dsk4/bak/system.bak' datafile 1;

RMAN> copy datafile 2 to '/dsk4/bak/sysaux.bak'

RMAN> configure auxname for datafile 1 to '/dsk4/bak/system.bak';

RMAN> configure auxname for datafile 2 to '/dsk4/bak/sysaux.bak';   

RMAN> recover tablespace tbs1 untiltime '2014-06-24 14:08:18' auxiliary destination '/home/oracle/prod'

RMAN> configure auxname for datafile 1 clear;

RMAN> configure auxname for datafile 2 clear;

Copy after login


Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to recover expired WeChat files? Can expired WeChat files be recovered? How to recover expired WeChat files? Can expired WeChat files be recovered? Feb 22, 2024 pm 02:46 PM

Open WeChat, select Settings in Me, select General and then select Storage Space, select Management in Storage Space, select the conversation in which you want to restore files and select the exclamation mark icon. Tutorial Applicable Model: iPhone13 System: iOS15.3 Version: WeChat 8.0.24 Analysis 1 First open WeChat and click the Settings option on the My page. 2 Then find and click General Options on the settings page. 3Then click Storage Space on the general page. 4 Next, click Manage on the storage space page. 5Finally, select the conversation in which you want to recover files and click the exclamation mark icon on the right. Supplement: WeChat files generally expire in a few days. If the file received by WeChat has not been clicked, the WeChat system will clear it after 72 hours. If the WeChat file has been viewed,

How to recover browsing history in incognito mode How to recover browsing history in incognito mode Feb 19, 2024 pm 04:22 PM

Private browsing is a very convenient way to browse and protect your privacy when surfing the Internet on your computer or mobile device. Private browsing mode usually prevents the browser from recording your visit history, saving cookies and cache files, and preventing the website you are browsing from leaving any traces in the browser. However, for some special cases, we may need to restore the browsing history of Incognito Browsing. First of all, we need to make it clear: the purpose of private browsing mode is to protect privacy and prevent others from obtaining the user’s online history from the browser. Therefore, incognito browsing

How to fix Windows 11 keyboard not typing problem How to fix Windows 11 keyboard not typing problem Dec 28, 2023 pm 05:59 PM

Recently, some friends have encountered the problem of large characters on the win11 keyboard. They don't know which key to press to restore it. In fact, this may be because our keyboard is locked and we only need to unlock it. Which key should I press to recover if I can’t type on the win11 keyboard? 1. First, we press the “left shift+left alt+numlock” key combination on the keyboard. 2. Then, after opening the menu shown below, click the "Yes" button to enable the mouse keys. 3. Next, click the "Start Menu" or "Search" icon to open the taskbar. 4. After that, enter "osk" in the search box above to open the on-screen keyboard application. 5. Finally, click the "numlock" key in the lower right corner of the on-screen keyboard. Ps: If you are using a laptop, then

How to restore chat spark on TikTok How to restore chat spark on TikTok Mar 16, 2024 pm 01:25 PM

On Douyin, a short video platform full of creativity and vitality, we can not only enjoy a variety of exciting content, but also have in-depth communications with like-minded friends. Among them, chat sparks are an important indicator of the intensity of interaction between the two parties, and they often inadvertently ignite the emotional bonds between us and our friends. However, sometimes due to some reasons, the chat spark may be disconnected. So what should we do if we want to restore the chat spark? This tutorial guide will bring you a detailed introduction to the content strategy, hoping to help everyone. How to restore the spark of Douyin chat? 1. Open the Douyin message page and select a friend to chat. 2. Send messages and chat to each other. 3. If you send messages continuously for 3 days, you can get the spark logo. On a 3-day basis, send pictures or videos to each other

How to restore Xiaomi Cloud photo album to local How to restore Xiaomi Cloud photo album to local Feb 24, 2024 pm 03:28 PM

How to restore Xiaomi Cloud Photo Album to local? You can restore Xiaomi Cloud Photo Album to local in Xiaomi Cloud Photo Album APP, but most friends don’t know how to restore Xiaomi Cloud Photo Album to local. The next step is to restore Xiaomi Cloud Photo Album to local. Local method graphic tutorials, interested users come and take a look! How to restore Xiaomi cloud photo album to local 1. First open the settings function in Xiaomi phone and select [Personal Avatar] on the main interface; 2. Then enter the Xiaomi account interface and click the [Cloud Service] function; 3. Then jump to Xiaomi For the function of cloud service, select [Cloud Backup]; 4. Finally, in the interface as shown below, click [Cloud Album] to restore the album to local.

Tutorial to restore win11 default avatar Tutorial to restore win11 default avatar Jan 02, 2024 pm 12:43 PM

If we change our system account avatar but don’t want it anymore, we can’t find how to change the default avatar in win11. In fact, we only need to find the folder of the default avatar to restore it. Restore the default avatar in win11 1. First click on the "Windows Logo" on the bottom taskbar 2. Then find and open "Settings" 3. Then enter "Account" on the left column 4. Then click on "Account Information" on the right 5. After opening, click "Browse Files" in the selected photo. 6. Finally, enter the "C:\ProgramData\Microsoft\UserAccountPictures" path to find the system default avatar picture.

How to restore default wallpaper in win10 How to restore default wallpaper in win10 Feb 10, 2024 pm 10:51 PM

Windows 10's May 2019 Update features a new, brighter default desktop background. It looks great - with the new light theme. If you use Windows 10’s dark theme, you may want a darker background. Strangely, the original Windows 10 desktop background has been removed from the latest version of Windows 10. You have to download it from the web or copy its files from an old Windows 10 PC. Although we were unable to find this wallpaper image on Microsoft's official website, you can download it from other sources. We found a copy of the original Windows 10 desktop wallpaper in 4K resolution on Imgur. Additionally, there are other sizes and more default walls

How to restore Win10 keyboard shortcut settings? How to restore Win10 keyboard shortcut settings? Dec 28, 2023 pm 11:49 PM

When we use the keyboard every day, we always encounter various keyboard problems. Most of them have updated the win10 system, and even more so. What should we do when the keyboard has become a shortcut key? Let’s take a look at the specific solutions below. How to restore the win10 keyboard to shortcut keys 1. It may be that the + shortcut key is turned on. 2. The method of closing is + (cannot press it backwards and forwards). 3. Another thing is to + return to the lock screen interface to log in. 4. Another possibility is to lock the keyboard. Press + to try. 5. If that doesn't work, just press ++ and then cancel. The above is the recovery method for converting the Win10 keyboard into shortcut keys that this website asked you. I hope it can solve your confusion. If you want to know more questions, please bookmark this site. welcome

See all articles