【Oracle】rman中SBT_TYPE类型的备份如何删除
技阳的rman数据库出现删除rman备份失败,原因是出现SBT_TYPE的磁带备份。
[BEGIN] 2018/8/13 13:48:42
RMAN> list backup;
List of Backup Sets
===================
BS Key Size Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ ---------------
8480 117.00M SBT_TAPE 00:00:11 03-AUG-18
BP Key: 9170 Status: AVAILABLE Compressed: NO Tag: TAG20180803T045555
Handle: 8249_ORCL_a2t9joer_1_1 Media: V_9139_26800
List of Archived Logs in backup set 8480
Thrd Seq Low SCN Low Time Next SCN Next Time
---- ------- ---------- --------- ---------- ---------
1 606 1919655867 03-AUG-18 1919656111 03-AUG-18
1 607 1919656111 03-AUG-18 1919656212 03-AUG-18
1 608 1919656212 03-AUG-18 1919666497 03-AUG-18
1 609 1919666497 03-AUG-18 1919666601 03-AUG-18
1 610 1919666601 03-AUG-18 1919746627 03-AUG-18
1 611 1919746627 03-AUG-18 1919746646 03-AUG-18
...省略部分内容...
RMAN> allocate channel for maintenance device type 'SBT_TAPE';
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of allocate command on ORA_MAINT_SBT_TAPE_2 channel at 08/13/2018 13:54:31
ORA-19554: error allocating device, device type: SBT_TAPE, device name:
ORA-27211: Failed to load Media Management Library
Additional information: 2
RMAN> delete obsolete;
RMAN retention policy will be applied to the command
RMAN retention policy is set to recovery window of 7 days
Deleting the following obsolete backups and copies:
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Backup Set 8480 03-AUG-18
Backup Piece 9170 03-AUG-18 8249_ORCL_a2t9joer_1_1
Backup Set 8481 03-AUG-18
Backup Piece 9171 03-AUG-18 8250_ORCL_a3t9jof6_1_1
...省略部分内容...
Backup Set 8742 06-AUG-18
Backup Piece 9432 06-AUG-18 8883_ORCL_i8t9sh7i_1_1
Backup Set 8744 06-AUG-18
Backup Piece 9434 06-AUG-18 8882_ORCL_i9t9sh7i_1_1
Backup Set 8743 06-AUG-18
Backup Piece 9433 06-AUG-18 c-1404877812-20180806-0a
Backup Set 8745 06-AUG-18
Backup Piece 9435 06-AUG-18 c-1404877812-20180806-0b
Backup Set 8747 06-AUG-18
Backup Piece 9437 06-AUG-18 8883_ORCL_idt9shrf_1_1
Backup Set 8748 06-AUG-18
Backup Piece 9438 06-AUG-18 c-1404877812-20180806-0c
Backup Set 8750 06-AUG-18
Backup Piece 9440 06-AUG-18 8882_ORCL_igt9shsf_1_1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of delete command at 08/13/2018 13:58:26
RMAN-06091: no channel allocated for maintenance (of an appropriate type)
RMAN> delete force backupset 9440;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of delete command at 08/13/2018 13:59:06
RMAN-20215: backup set not found
RMAN-06159: error while looking up backup set
RMAN> delete force backupset 8750;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of delete command at 08/13/2018 13:59:19
RMAN-06160: no backup pieces found for backup set key: 8750
RMAN> crosscheck backupset 8750;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of crosscheck command at 08/13/2018 13:59:56
RMAN-06160: no backup pieces found for backup set key: 8750
RMAN> delete obsolete;
RMAN retention policy will be applied to the command
RMAN retention policy is set to recovery window of 7 days
Deleting the following obsolete backups and copies:
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Backup Set 8480 03-AUG-18
Backup Piece 9170 03-AUG-18 8249_ORCL_a2t9joer_1_1
Backup Set 8481 03-AUG-18
Backup Piece 9171 03-AUG-18 8250_ORCL_a3t9jof6_1_1
...省略部分内容...
Backup Set 8748 06-AUG-18
Backup Piece 9438 06-AUG-18 c-1404877812-20180806-0c
Backup Set 8750 06-AUG-18
Backup Piece 9440 06-AUG-18 8882_ORCL_igt9shsf_1_1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of delete command at 08/13/2018 14:00:33
RMAN-06091: no channel allocated for maintenance (of an appropriate type)
RMAN> show all;
RMAN configuration parameters for database with db_unique_name ORCL are:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/11.2.0/db_1/dbs/snapcf_orcl.f'; # default
[oracle@SHQTbobcat logs]$ vi rman_inc_1_20180813.log
[END] 2018/8/13 14:30:51
首先构造环境如下,相同操作执行两遍。
[oracle@oracle ~]$ rman target /
Recovery Manager: Release 11.2.0.4.0 - Production on Mon Aug 20 14:19:55 2018
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: PROC (DBID=341599061)
RMAN> run{
2> allocate channel ch1 type 'sbt_tape' maxpiecesize=3072M PARMS="SBT_LIBRARY=oracle.disksbt,ENV=(BACKUP_DIR=/home/oracle/rman)";
3> backup incremental level 0 format '/home/oracle/rman/proc_%d_%s_%p_%t' database tag 'test';
4> release channel ch1;
5> }
using target database control file instead of recovery catalog
allocated channel: ch1
channel ch1: SID=95 device type=SBT_TAPE
channel ch1: WARNING: Oracle Test Disk API
Starting backup at 20-AUG-18
channel ch1: starting incremental level 0 datafile backup set
channel ch1: specifying datafile(s) in backup set
input datafile file number=00007 name=/home/oracle/WMWHSE2_DATA.dbf
input datafile file number=00005 name=/u01/app/oracle/oradata/proc/example01.dbf
input datafile file number=00003 name=/u01/app/oracle/oradata/proc/undotbs01.dbf
channel ch1: starting piece 1 at 20-AUG-18
channel ch1: finished piece 1 at 20-AUG-18
piece handle=/home/oracle/rman/proc_PROC_33_1_984666016 tag=TEST comment=API Version 2.0,MMS Version 8.1.3.0
channel ch1: backup set complete, elapsed time: 00:01:25
channel ch1: starting incremental level 0 datafile backup set
channel ch1: specifying datafile(s) in backup set
input datafile file number=00001 name=/u01/app/oracle/oradata/proc/system01.dbf
input datafile file number=00006 name=/home/oracle/test.dbf
input datafile file number=00004 name=/u01/app/oracle/oradata/proc/users01.dbf
input datafile file number=00002 name=/u01/app/oracle/oradata/proc/sysaux01.dbf
channel ch1: starting piece 1 at 20-AUG-18
channel ch1: finished piece 1 at 20-AUG-18
piece handle=/home/oracle/rman/proc_PROC_34_1_984666101 tag=TEST comment=API Version 2.0,MMS Version 8.1.3.0
channel ch1: backup set complete, elapsed time: 00:01:26
channel ch1: starting incremental level 0 datafile backup set
channel ch1: specifying datafile(s) in backup set
including current control file in backup set
including current SPFILE in backup set
channel ch1: starting piece 1 at 20-AUG-18
channel ch1: finished piece 1 at 20-AUG-18
piece handle=/home/oracle/rman/proc_PROC_35_1_984666187 tag=TEST comment=API Version 2.0,MMS Version 8.1.3.0
channel ch1: backup set complete, elapsed time: 00:00:03
Finished backup at 20-AUG-18
released channel: ch1
RMAN>
冗余策略如下:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
RMAN> crosscheck backup;
using channel ORA_DISK_1
specification does not match any backup in the repository
RMAN> report obsolete;
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
Report of obsolete backups and copies
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Archive Log 5 15-AUG-18 /u01/app/oracle/archivelog/1_22_979397527.dbf
...省略部分内容...
Archive Log 103 17-AUG-18 /u01/app/oracle/archivelog/1_120_979397527.dbf
Archive Log 104 17-AUG-18 /u01/app/oracle/archivelog/1_121_979397527.dbf
Archive Log 105 20-AUG-18 /u01/app/oracle/archivelog/1_122_979397527.dbf
Backup Set 32 20-AUG-18
Backup Piece 32 20-AUG-18 /home/oracle/rman/proc_PROC_33_1_984666016
Backup Set 33 20-AUG-18
Backup Piece 33 20-AUG-18 /home/oracle/rman/proc_PROC_34_1_984666101
Backup Set 34 20-AUG-18
Backup Piece 34 20-AUG-18 /home/oracle/rman/proc_PROC_35_1_984666187
RMAN> delete obsolete;
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
using channel ORA_DISK_1
Deleting the following obsolete backups and copies:
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Archive Log 5 15-AUG-18 /u01/app/oracle/archivelog/1_22_979397527.dbf
...省略部分内容...
Archive Log 103 17-AUG-18 /u01/app/oracle/archivelog/1_120_979397527.dbf
Archive Log 104 17-AUG-18 /u01/app/oracle/archivelog/1_121_979397527.dbf
Archive Log 105 20-AUG-18 /u01/app/oracle/archivelog/1_122_979397527.dbf
Backup Set 32 20-AUG-18
Backup Piece 32 20-AUG-18 /home/oracle/rman/proc_PROC_33_1_984666016
Backup Set 33 20-AUG-18
Backup Piece 33 20-AUG-18 /home/oracle/rman/proc_PROC_34_1_984666101
Backup Set 34 20-AUG-18
Backup Piece 34 20-AUG-18 /home/oracle/rman/proc_PROC_35_1_984666187
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of delete command at 08/20/2018 14:37:01
RMAN-06091: no channel allocated for maintenance (of an appropriate type)
将磁盘上实际的备份文件删除,用crosscheck backup无法有效检查出问题来。
RMAN> crosscheck backup;
using channel ORA_DISK_1
specification does not match any backup in the repository
RMAN> list backup;
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
32 Incr 0 2.41G SBT_TAPE 00:01:15 20-AUG-18
BP Key: 32 Status: AVAILABLE Compressed: NO Tag: TEST
Handle: /home/oracle/rman/proc_PROC_33_1_984666016 Media: /rman,/home/oracle/rman/p
List of Datafiles in backup set 32
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
3 0 Incr 1325882 20-AUG-18 /u01/app/oracle/oradata/proc/undotbs01.dbf
5 0 Incr 1325882 20-AUG-18 /u01/app/oracle/oradata/proc/example01.dbf
7 0 Incr 1325882 20-AUG-18 /home/oracle/WMWHSE2_DATA.dbf
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
33 Incr 0 1.94G SBT_TAPE 00:01:21 20-AUG-18
BP Key: 33 Status: AVAILABLE Compressed: NO Tag: TEST
Handle: /home/oracle/rman/proc_PROC_34_1_984666101 Media: /rman,/home/oracle/rman/p
List of Datafiles in backup set 33
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
1 0 Incr 1325974 20-AUG-18 /u01/app/oracle/oradata/proc/system01.dbf
2 0 Incr 1325974 20-AUG-18 /u01/app/oracle/oradata/proc/sysaux01.dbf
4 0 Incr 1325974 20-AUG-18 /u01/app/oracle/oradata/proc/users01.dbf
...省略部分内容...
需要使用Oralce自带的磁带库入分配channel来删除即可。
RMAN> run{
2> allocate channel ch1 type 'sbt_tape' maxpiecesize=3072M PARMS="SBT_LIBRARY=oracle.disksbt,ENV=(BACKUP_DIR=/home/oracle/rman)";
3> crosscheck backup;
4> release channel ch1;
5> }
released channel: ORA_DISK_1
allocated channel: ch1
channel ch1: SID=95 device type=SBT_TAPE
channel ch1: WARNING: Oracle Test Disk API
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/home/oracle/rman/proc_PROC_33_1_984666016 RECID=32 STAMP=984666016
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/home/oracle/rman/proc_PROC_34_1_984666101 RECID=33 STAMP=984666102
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/home/oracle/rman/proc_PROC_35_1_984666187 RECID=34 STAMP=984666188
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/home/oracle/rman/proc_PROC_36_1_984666424 RECID=35 STAMP=984666424
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/home/oracle/rman/proc_PROC_37_1_984666499 RECID=36 STAMP=984666499
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/home/oracle/rman/proc_PROC_38_1_984666585 RECID=37 STAMP=984666586
Crosschecked 6 objects
released channel: ch1
再次检查状态已经是expired了。
RMAN> list expired backup;
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
32 Incr 0 2.41G SBT_TAPE 00:01:15 20-AUG-18
BP Key: 32 Status: EXPIRED Compressed: NO Tag: TEST
Handle: /home/oracle/rman/proc_PROC_33_1_984666016 Media: /rman,/home/oracle/rman/p
List of Datafiles in backup set 32
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
3 0 Incr 1325882 20-AUG-18 /u01/app/oracle/oradata/proc/undotbs01.dbf
5 0 Incr 1325882 20-AUG-18 /u01/app/oracle/oradata/proc/example01.dbf
7 0 Incr 1325882 20-AUG-18 /home/oracle/WMWHSE2_DATA.dbf
...省略部分内容...
RMAN> run{
2> allocate channel ch1 type 'sbt_tape' maxpiecesize=3072M PARMS="SBT_LIBRARY=oracle.disksbt,ENV=(BACKUP_DIR=/home/oracle/rman)";
3> report obsolete;
4> release channel ch1;
5> }
allocated channel: ch1
channel ch1: SID=95 device type=SBT_TAPE
channel ch1: WARNING: Oracle Test Disk API
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
no obsolete backups found
released channel: ch1
RMAN> run{
2> allocate channel ch1 type 'sbt_tape' maxpiecesize=3072M PARMS="SBT_LIBRARY=oracle.disksbt,ENV=(BACKUP_DIR=/home/oracle/rman)";
3> delete expired backup;
4> release channel ch1;
5> }
allocated channel: ch1
channel ch1: SID=95 device type=SBT_TAPE
channel ch1: WARNING: Oracle Test Disk API
List of Backup Pieces
BP Key BS Key Pc# Cp# Status Device Type Piece Name
------- ------- --- --- ----------- ----------- ----------
32 32 1 1 EXPIRED SBT_TAPE /home/oracle/rman/proc_PROC_33_1_984666016
33 33 1 1 EXPIRED SBT_TAPE /home/oracle/rman/proc_PROC_34_1_984666101
34 34 1 1 EXPIRED SBT_TAPE /home/oracle/rman/proc_PROC_35_1_984666187
35 35 1 1 EXPIRED SBT_TAPE /home/oracle/rman/proc_PROC_36_1_984666424
36 36 1 1 EXPIRED SBT_TAPE /home/oracle/rman/proc_PROC_37_1_984666499
37 37 1 1 EXPIRED SBT_TAPE /home/oracle/rman/proc_PROC_38_1_984666585
Do you really want to delete the above objects (enter YES or NO)? yes
deleted backup piece
backup piece handle=/home/oracle/rman/proc_PROC_33_1_984666016 RECID=32 STAMP=984666016
deleted backup piece
backup piece handle=/home/oracle/rman/proc_PROC_34_1_984666101 RECID=33 STAMP=984666102
deleted backup piece
backup piece handle=/home/oracle/rman/proc_PROC_35_1_984666187 RECID=34 STAMP=984666188
deleted backup piece
backup piece handle=/home/oracle/rman/proc_PROC_36_1_984666424 RECID=35 STAMP=984666424
deleted backup piece
backup piece handle=/home/oracle/rman/proc_PROC_37_1_984666499 RECID=36 STAMP=984666499
deleted backup piece
backup piece handle=/home/oracle/rman/proc_PROC_38_1_984666585 RECID=37 STAMP=984666586
Deleted 6 EXPIRED objects
released channel: ch1
RMAN> list backup;
specification does not match any backup in the repository
【Oracle】rman中SBT_TYPE类型的备份如何删除的更多相关文章
- RMAN中FILESPERSET设置对备份速度的影响
看到网上部分人说不指定FILESPERSET(默认值=64)则会导致分配的通道只走第一个而导致备份效率低下,今天仔细研究了一下,参照了多个博主文章,得出结论如下: 如果没有指定filesperset, ...
- 示例说明Oracle RMAN两种库增量备份的差别
1差异增量实验示例 1.1差异增量备份 为了演示增量备份的效果,我们在执行一次0级别的备份后,对数据库进行一些改变. 再执行一次1级别的差异增量备份: 执行完1级别的备份后再次对数据库进行更改: 再执 ...
- 在Oracle中实现每日表备份并删除7天前的备份表
不用闪回技术,因为业务想眼睁睁的看到备份表,而不是让DBA搞一通之后,才能看到备份数据表 OK,那好办了,写个存储过程解决你的需求,每天建个新表,把数据备份进去,业务人员可以看到这些每天的备份表 然后 ...
- Oracle数据库中number类型在java中的使用
1)如果不指定number的长度,或指定长度n>18 id number not null,转换为pojo类时,为java.math.BigDecimal类型 2)如果number的长度在10 ...
- [转载] Oracle在windows下面的自动备份以及删除今天的脚本..
@echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本 echo ...
- Oracle涂抹oracle学习笔记第8章RMAN说,我能备份
本次测试服务器为172.16.25.33 使用rman连接本地数据库 rman target / 在rman中执行启动与关闭的命令与sqlplus相同 在rman中执行sql语句 sql ‘需要执行的 ...
- linux篇--mysql数据库备份并删除前一分钟的数据
linux 中mysql数据库定时备份并删除前一分钟的所有数据 #!/bin/bash #mysqldump -uroot -ppassword01! imaginebase > /home/b ...
- Oracle RMAN备份中catalog和nocatalog区别
nocatalog方式:用control file作为catalog,每一次备份都要往控制文件里面写好多备份信息,控制文件里面会有越来越多的备份信息,即RMAN的备份信息写在本地控制文件里面. cat ...
- Oracle 11g 中恢复管理器RMAN介绍
这是我平时摘录的笔记,从管理艺术那本书上摘录出来的,放到这里 RMAN 可在数据库服务器的帮助下从数据库内备份数据文件,可构造数据文件映像副本.控制文件和控制文件映像.对当日志 SPFILE 和RMA ...
随机推荐
- java实现BellmanFord算法
1 问题描述 何为BellmanFord算法? BellmanFord算法功能:给定一个加权连通图,选取一个顶点,称为起点,求取起点到其它所有顶点之间的最短距离,其显著特点是可以求取含负权图的单源最短 ...
- java实现第七届蓝桥杯愤怒小鸟
愤怒小鸟 题目描述 X星球愤怒的小鸟喜欢撞火车! 一根平直的铁轨上两火车间相距 1000 米 两火车 (不妨称A和B) 以时速 10米/秒 相对行驶. 愤怒的小鸟从A车出发,时速50米/秒,撞向B车, ...
- 优雅的敲JS代码的几个原则
一.条件语句 1,使用 Array.includes 来处理多重 || 条件 // ----- 一般 ------ if (fruit == 'apple' || fr ...
- MySql多表查询优化
一.多表查询连接的选择 相信内连接,左连接什么的大家都比较熟悉了,当然还有左外连接什么的,基本用不上,我就补贴出来了,这个图只是让大家熟悉一下各种连接查询.然后要告诉大家的是,需要根据查询的信息,想好 ...
- thinkphp5集成GatewayWorker
Workerman是一款纯PHP开发的开源高性能的PHP socket 服务器框架,而GatewayWorker则是基于Workerman开发的一个长连接框架,支持分布式部署,支持全局广播或者向任意客 ...
- [每日一题2020.06.08]洛谷P1605 DFS
今天cf又杯具的只写出2题, 虽然AB题20分钟左右就搞定了, 但是CD写了2个小时也没写出来 D题我用到了DFS, 虽然必不正确, 但是我至少发现了一个问题, 那就是我连DFS都忘了, 于是怒找DF ...
- (五)POI-设置单元格的对齐方式
原文链接:https://blog.csdn.net/class157/article/details/92817149 package com.java.poi; import org.apache ...
- 其他函数-web_concurrent
web_concurrent_start函数是并发组开始的标记.组中所有的函数是并发执行的,并发组的结束符为web_concurrent_end 函数. 在并发组中,可以包含的函数有: web_url ...
- Linux切换超级管理员root用户
Ubuntu用$标志表示你现在处于普通用户,#表示超级用户. 普通用户会有限制,想从普通变成超级用户,可以输入 su 或 su - 命令,要求你输入密码, 你如记得密码就可以直接输入,再Enter即可 ...
- UWP实现第二字幕并且跟随系统的设置
话不多说,先看一下最终效果 系统设置默认 在系统设置里面更改字幕的显示效果 需求 要求播放器可以显示第二字幕,类似旁白的文字解释.比如片中出现了一个专业术语,这个时候观众可能有些疑惑.所以需要在屏幕上 ...