当前位置: 首页 > Oracle, oracle 10g, oracle 11g > 正文

RMAN-06059错误案例模拟-清理备份垃圾

某客户最近在实施数据库备份计划,在备份数据库时,遇到RMAN-06059错误导致备份失败,该客户备份的数据库数据量较大,由于在很长时间后RMAN才抛出这个错误,客户也很纠结。客户埋怨要是在开始备份时就抛出错误,就不会耽误他们这么长时间了。^_^

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: backup 命令 (在 12/03/2013 11:55:24 上) 失败
RMAN-06059: 没有找到预期的归档日志, 归档日志的丢失将影响可恢复性
ORA-19625: 识别文件D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\ARCHIVELOG\2013_03_18\O1_MF_1_503_8NFRLPSC_.ARC时出错
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 3) 系统找不到指定的路径。

客户环境:OEL 5.7 for 64bit,ORACLE 11.2.0.2.0

故障原因:由于该客户每天都在向数据库加载图片数据,归档日志生成量巨大,每天大概800G左右,存放归档的空间16TB,开发人员不定期通过ASMCMD客户端登录ASM直接rm掉几天前的归档,防止空间满影响数据库正常使用。可是这样删除归档,数据库是不知道的,在控制文件里依然记录着这些归档日志是正常状态,在RMAN备份归档日志时,找不到这些归档日志,就抛出RMAN-06059错误,然后备份中断。

以下是我在自己的测试环境进行的模拟。首先将数据库打开到归档模式。

SQL> archive log list
数据库日志模式            存档模式
自动存档             启用
存档终点            D:\ARCH
最早的联机日志序列     1034
下一个存档日志序列   1036
当前日志序列           1036

然后切换日志,生成归档。

SQL> alter system switch logfile;

系统已更改。

SQL> /

系统已更改。

SQL> /

系统已更改。

SQL> /

系统已更改。

在操作系统上可以看到归档已经产生。

C:\Windows\system32>d:

D:\>cd arch

D:\arch>dir/b
SID0000001030_0782406866_0001.ARC
SID0000001031_0782406866_0001.ARC
SID0000001032_0782406866_0001.ARC
SID0000001033_0782406866_0001.ARC
SID0000001034_0782406866_0001.ARC
SID0000001035_0782406866_0001.ARC

使用操作系统命令删除这些归档。

D:\arch>del *
D:\arch\*, 是否确认(Y/N)? y

D:\arch>dir/b

归档已经全表删掉,使用RMAN备份归档,就会抛出RMAN-06059错误。

C:\Windows\system32>rman target /

恢复管理器: Release 11.2.0.1.0 - Production on 星期二 12月 3 11:54:33 2013

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

连接到目标数据库: DBDREAM (DBID=2326242578)

RMAN> backup archivelog all format 'D:\archive.bak';

启动 backup 于 03-12月-13
当前日志已存档
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=72 设备类型=DISK
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: backup 命令 (在 12/03/2013 11:55:24 上) 失败
RMAN-06059: 没有找到预期的归档日志, 归档日志的丢失将影响可恢复性
ORA-19625: 识别文件D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\ARCHIVELOG\2013_03_18\O1_MF_1_503_8NFRLPSC_.ARC时出错
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 3) 系统找不到指定的路径。

要解决这个问题很简单,只要更新下控制文件,告诉控制文件这些归档已经不存在就可以了。但怎么样才能更新控制文件的归档信息呢?难道需要重建控制文件?当然不是了,RMAN就可以完成这个任务。使用RMAN的CROSSCHECK命令检查下归档日志,RMAN就会发现这些归档已经不存在了。

RMAN> crosscheck archivelog all;
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=135 设备类型=DISK
对归档日志的验证失败
归档日志文件名=D:\ARCH\SID0000001030_0782406866_0001.ARC RECID=249 STAMP=833197926
对归档日志的验证失败
归档日志文件名=D:\ARCH\SID0000001031_0782406866_0001.ARC RECID=250 STAMP=833197928
对归档日志的验证失败
归档日志文件名=D:\ARCH\SID0000001032_0782406866_0001.ARC RECID=251 STAMP=833197929
对归档日志的验证失败
归档日志文件名=D:\ARCH\SID0000001033_0782406866_0001.ARC RECID=252 STAMP=833197929
对归档日志的验证失败
归档日志文件名=D:\ARCH\SID0000001034_0782406866_0001.ARC RECID=253 STAMP=833197931
对归档日志的验证失败
归档日志文件名=D:\ARCH\SID0000001035_0782406866_0001.ARC RECID=254 STAMP=833197949
对归档日志的验证成功
归档日志文件名=D:\ARCH\SID0000001036_0782406866_0001.ARC RECID=255 STAMP=833198123
已交叉检验的 7 对象

然后通过RMAN删除掉这些归档,RMAN就会把这些归档的信息同步到控制文件,再次备份归档日志时,就不会因为这些归档不存在而报错了。

RMAN> delete expired archivelog all;
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=135 设备类型=DISK
db_unique_name 为 DBDREAM 的数据库的归档日志副本列表
=====================================================================

关键字     线程序列     S 时间下限  
------- ---- ------- - ----------
249     1    1030    X 03-12月-13
        名称: D:\ARCH\SID0000001030_0782406866_0001.ARC

250     1    1031    X 03-12月-13
        名称: D:\ARCH\SID0000001031_0782406866_0001.ARC

251     1    1032    X 03-12月-13
        名称: D:\ARCH\SID0000001032_0782406866_0001.ARC

252     1    1033    X 03-12月-13
        名称: D:\ARCH\SID0000001033_0782406866_0001.ARC

253     1    1034    X 03-12月-13
        名称: D:\ARCH\SID0000001034_0782406866_0001.ARC

254     1    1035    X 03-12月-13
        名称: D:\ARCH\SID0000001035_0782406866_0001.ARC


是否确定要删除以上对象 (输入 YES 或 NO)? yes
已删除的归档日志
归档日志文件名=D:\ARCH\SID0000001030_0782406866_0001.ARC RECID=249 STAMP=833197926
已删除的归档日志
归档日志文件名=D:\ARCH\SID0000001031_0782406866_0001.ARC RECID=250 STAMP=833197928
已删除的归档日志
归档日志文件名=D:\ARCH\SID0000001032_0782406866_0001.ARC RECID=251 STAMP=833197929
已删除的归档日志
归档日志文件名=D:\ARCH\SID0000001033_0782406866_0001.ARC RECID=252 STAMP=833197929
已删除的归档日志
归档日志文件名=D:\ARCH\SID0000001034_0782406866_0001.ARC RECID=253 STAMP=833197931
已删除的归档日志
归档日志文件名=D:\ARCH\SID0000001035_0782406866_0001.ARC RECID=254 STAMP=833197949
6 EXPIRED 对象已删除

在备份归档日志,就不会遇到之前的错误了。

RMAN> backup archivelog all format 'd:\archive.bak';

启动 backup 于 03-12月-13
当前日志已存档
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动归档日志备份集
通道 ORA_DISK_1: 正在指定备份集内的归档日志
输入归档日志线程=1 序列=1036 RECID=255 STAMP=833198123
输入归档日志线程=1 序列=1037 RECID=256 STAMP=833199012
通道 ORA_DISK_1: 正在启动段 1 于 03-12月-13
通道 ORA_DISK_1: 已完成段 1 于 03-12月-13
段句柄=D:\ARCHIVE.BAK 标记=TAG20131203T121013 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01
完成 backup 于 03-12月-13

启动 Control File and SPFILE Autobackup 于 03-12月-13
段 handle=D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\AUTOBACKUP\2013_12_03\O1_MF_S_833199015_99TPF84Y_.BKP comment=NONE
完成 Control File and SPFILE Autobackup 于 03-12月-13
    这里需要额外提一嘴标红部分,如果打开了控制文件的自动备份,默认情况下控制文件的自动备份不会备份到RMAN命令指定的format路径下,而是在闪回恢复区内,之前就有个客户在给数据库升级时,做完全备后,删除了ORACLE_HOME,并用dd命令擦除了ASM磁盘,重新安装数据库软件,然后发现控制文件丢了,虽然有备份,但是RMAN无法恢复,很纠结。这个恢复过程详见使用dbms_backup_restore包恢复丢失控制文件的RMAN备份以及ORA-06553 PLS-801错误。
    既然这里说到用RMAN清理归档垃圾,那么也演示下怎么用RMAN清理备份垃圾吧。还拿这个测试环境,由于这个测试环境经常会做一些风险较大的测试,之前做过几次备份,但是后来关闭了归档模式,备份文件也就直接让我在操作系统上删掉了,但是RMAN是不知道这些备份已经被删的了。可以使用report obsolete命令来查看过期的备份,具体什么才算是过期的备份和备份保留策略有关,我的环境一切都是默认。
RMAN> report obsolete;

RMAN 保留策略将应用于该命令
将 RMAN 保留策略设置为冗余 1
已废弃的备份和副本报表
类型                 关键字 完成时间           文件名/句柄
-------------------- ------ ------------------ --------------------
备份集               8      14-3月 -13
备份片段       8      14-3月 -13         D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\BACKUPSET\2013_03_14\O1_MF_NNSNF_TAG20130314T135853_8N2V7
PPM_.BKP
备份集               11     18-3月 -13
备份片段       11     18-3月 -13         D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\BACKUPSET\2013_03_18\O1_MF_NNNDF_TAG20130318T174316_8NFRF
OWW_.BKP
备份集               10     18-3月 -13
备份片段       10     18-3月 -13         D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\BACKUPSET\2013_03_18\O1_MF_NNNDF_TAG20130318T174316_8NFRF
Q4Z_.BKP
备份集               13     18-3月 -13
备份片段       13     18-3月 -13         D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\BACKUPSET\2013_03_18\O1_MF_NCNNF_TAG20130318T174316_8NFRL
MPJ_.BKP
备份集               12     18-3月 -13
备份片段       12     18-3月 -13         D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\BACKUPSET\2013_03_18\O1_MF_NNSNF_TAG20130318T174316_8NFRL
LJT_.BKP
备份集               14     10-10月-13
备份片段       14     10-10月-13         D:\FULL.BAK
备份集               16     10-11月-13
备份片段       16     10-11月-13         D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\AUTOBACKUP\2013_11_10\O1_MF_S_831144685_97YNMGJS_.BKP
数据文件副本         1      19-11月-13         D:\DATAF4.BAK
备份集               17     10-11月-13
备份片段       17     10-11月-13         D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\AUTOBACKUP\2013_11_10\O1_MF_S_831145588_97YOHOO3_.BKP
备份集               18     19-11月-13
备份片段       18     19-11月-13         D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\AUTOBACKUP\2013_11_19\O1_MF_S_831907608_98OXTL7S_.BKP
备份集               20     19-11月-13
备份片段       20     19-11月-13         D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\AUTOBACKUP\2013_11_19\O1_MF_S_831926406_98PJ07OJ_.BKP

可以看到过期的备份还有有一些的,可以通过delete obsolete命令删除过期的备份。

RMAN> delete obsolete;

RMAN 保留策略将应用于该命令
将 RMAN 保留策略设置为冗余 1
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=131 设备类型=DISK
删除以下已废弃的备份和副本:
类型                 关键字 完成时间           文件名/句柄
-------------------- ------ ------------------ --------------------
备份集               8      14-3月 -13
备份片段       8      14-3月 -13         D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\BACKUPSET\2013_03_14\O1_MF_NNSNF_TAG20130314T135853_8N2V7
PPM_.BKP
备份集               11     18-3月 -13
备份片段       11     18-3月 -13         D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\BACKUPSET\2013_03_18\O1_MF_NNNDF_TAG20130318T174316_8NFRF
OWW_.BKP
备份集               10     18-3月 -13
备份片段       10     18-3月 -13         D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\BACKUPSET\2013_03_18\O1_MF_NNNDF_TAG20130318T174316_8NFRF
Q4Z_.BKP
备份集               13     18-3月 -13
备份片段       13     18-3月 -13         D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\BACKUPSET\2013_03_18\O1_MF_NCNNF_TAG20130318T174316_8NFRL
MPJ_.BKP
备份集               12     18-3月 -13
备份片段       12     18-3月 -13         D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\BACKUPSET\2013_03_18\O1_MF_NNSNF_TAG20130318T174316_8NFRL
LJT_.BKP
备份集               14     10-10月-13
备份片段       14     10-10月-13         D:\FULL.BAK
备份集               16     10-11月-13
备份片段       16     10-11月-13         D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\AUTOBACKUP\2013_11_10\O1_MF_S_831144685_97YNMGJS_.BKP
数据文件副本         1      19-11月-13         D:\DATAF4.BAK
备份集               17     10-11月-13
备份片段       17     10-11月-13         D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\AUTOBACKUP\2013_11_10\O1_MF_S_831145588_97YOHOO3_.BKP
备份集               18     19-11月-13
备份片段       18     19-11月-13         D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\AUTOBACKUP\2013_11_19\O1_MF_S_831907608_98OXTL7S_.BKP
备份集               20     19-11月-13
备份片段       20     19-11月-13         D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\AUTOBACKUP\2013_11_19\O1_MF_S_831926406_98PJ07OJ_.BKP

是否确定要删除以上对象 (输入 YES 或 NO)? yes
已删除备份片段
备份片段句柄=D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\AUTOBACKUP\2013_11_10\O1_MF_S_831144685_97YNMGJS_.BKP RECID=16 STAMP=831144686
已删除备份片段
备份片段句柄=D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\AUTOBACKUP\2013_11_10\O1_MF_S_831145588_97YOHOO3_.BKP RECID=17 STAMP=831145589
已删除备份片段
备份片段句柄=D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\AUTOBACKUP\2013_11_19\O1_MF_S_831907608_98OXTL7S_.BKP RECID=18 STAMP=831907794
已删除备份片段
备份片段句柄=D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\AUTOBACKUP\2013_11_19\O1_MF_S_831926406_98PJ07OJ_.BKP RECID=20 STAMP=831926407
4 对象已删除

RMAN-06207: 警告: 由于状态不匹配, 所以不能删除 7 对象 (对于 DISK 通道)。
RMAN-06208: 请用 CROSSCHECK 命令修正状态
RMAN-06210: 不匹配对象的列表
RMAN-06211: ==========================
RMAN-06212: 对象类型   文件名/句柄
RMAN-06213: --------------- ---------------------------------------------------
RMAN-06214: Backup Piece    D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\BACKUPSET\2013_03_14\O1_MF_NNSNF_TAG20130314T135853_8N2V7PPM_.BKP
RMAN-06214: Backup Piece    D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\BACKUPSET\2013_03_18\O1_MF_NNNDF_TAG20130318T174316_8NFRFOWW_.BKP
RMAN-06214: Backup Piece    D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\BACKUPSET\2013_03_18\O1_MF_NNNDF_TAG20130318T174316_8NFRFQ4Z_.BKP
RMAN-06214: Backup Piece    D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\BACKUPSET\2013_03_18\O1_MF_NCNNF_TAG20130318T174316_8NFRLMPJ_.BKP
RMAN-06214: Backup Piece    D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\BACKUPSET\2013_03_18\O1_MF_NNSNF_TAG20130318T174316_8NFRLLJT_.BKP
RMAN-06214: Backup Piece    D:\FULL.BAK
RMAN-06214: Datafile Copy   D:\DATAF4.BAK

只成功删除掉 4个,为什么?因为没有被删除的7个已经被我从操作系统上删掉了,成功删掉的那4个我之前懒得去闪回恢复区去删,就幸免了,对于已经被删掉不存在的备份,直接delete obsolete是不允许的,还得像删除归档垃圾一样先使用CROSSCHECK命令检查确定这些备份是EXPIRED状态,然后才可以删除。

RMAN> crosscheck backup;

使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=135 设备类型=DISK
交叉校验备份片段: 找到为 'EXPIRED'
备份片段句柄=D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\BACKUPSET\2013_03_14\O1_MF_NNSNF_TAG20130314T135853_8N2V7PPM_.BKP RECID=8 STAMP=81005
1830
交叉校验备份片段: 找到为 'EXPIRED'
备份片段句柄=D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\BACKUPSET\2013_03_18\O1_MF_NNNDF_TAG20130318T174316_8NFRFQ4Z_.BKP RECID=10 STAMP=8104
09398
交叉校验备份片段: 找到为 'EXPIRED'
备份片段句柄=D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\BACKUPSET\2013_03_18\O1_MF_NNNDF_TAG20130318T174316_8NFRFOWW_.BKP RECID=11 STAMP=8104
09397
交叉校验备份片段: 找到为 'EXPIRED'
备份片段句柄=D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\BACKUPSET\2013_03_18\O1_MF_NNSNF_TAG20130318T174316_8NFRLLJT_.BKP RECID=12 STAMP=8104
09554
交叉校验备份片段: 找到为 'EXPIRED'
备份片段句柄=D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\BACKUPSET\2013_03_18\O1_MF_NCNNF_TAG20130318T174316_8NFRLMPJ_.BKP RECID=13 STAMP=8104
09555
交叉校验备份片段: 找到为 'EXPIRED'
备份片段句柄=D:\FULL.BAK RECID=14 STAMP=828443760
交叉校验备份片段: 找到为 'EXPIRED'
备份片段句柄=D:\FULL-BK.BAK RECID=15 STAMP=828443943
交叉校验备份片段: 找到为 'EXPIRED'
备份片段句柄=D:\USER-FULL.BAK RECID=19 STAMP=831926391
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\AUTOBACKUP\2013_12_02\O1_MF_S_833110269_99QZQY8V_.BKP RECID=21 STAMP=833110270
已交叉检验的 9 对象

ORACLE这一点挺像现在的医生,必须先去挂号,并且确诊之后才给开药。然后再使用delete obsolete命令就可以清理这些垃圾备份了。

RMAN>  delete obsolete;

RMAN 保留策略将应用于该命令
将 RMAN 保留策略设置为冗余 1
使用通道 ORA_DISK_1
删除以下已废弃的备份和副本:
类型                 关键字 完成时间           文件名/句柄
-------------------- ------ ------------------ --------------------
备份集               8      14-3月 -13
备份片段       8      14-3月 -13         D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\BACKUPSET\2013_03_14\O1_MF_NNSNF_TAG20130314T135853_8N2V7
PPM_.BKP
备份集               13     18-3月 -13
备份片段       13     18-3月 -13         D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\BACKUPSET\2013_03_18\O1_MF_NCNNF_TAG20130318T174316_8NFRL
MPJ_.BKP
备份集               12     18-3月 -13
备份片段       12     18-3月 -13         D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\BACKUPSET\2013_03_18\O1_MF_NNSNF_TAG20130318T174316_8NFRL
LJT_.BKP
备份集               14     10-10月-13
备份片段       14     10-10月-13         D:\FULL.BAK

是否确定要删除以上对象 (输入 YES 或 NO)? yes
已删除备份片段
备份片段句柄=D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\BACKUPSET\2013_03_14\O1_MF_NNSNF_TAG20130314T135853_8N2V7PPM_.BKP RECID=8 STAMP=81005
1830
已删除备份片段
备份片段句柄=D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\BACKUPSET\2013_03_18\O1_MF_NCNNF_TAG20130318T174316_8NFRLMPJ_.BKP RECID=13 STAMP=8104
09555
已删除备份片段
备份片段句柄=D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\BACKUPSET\2013_03_18\O1_MF_NNSNF_TAG20130318T174316_8NFRLLJT_.BKP RECID=12 STAMP=8104
09554
已删除备份片段
备份片段句柄=D:\FULL.BAK RECID=14 STAMP=828443760
4 对象已删除

 

本文固定链接: https://www.dbdream.com.cn/2013/12/rman-06059%e9%94%99%e8%af%af%e6%a1%88%e4%be%8b%e6%a8%a1%e6%8b%9f-%e6%b8%85%e7%90%86%e5%a4%87%e4%bb%bd%e5%9e%83%e5%9c%be/ | 信春哥,系统稳,闭眼上线不回滚!

该日志由 dbdream 于2013年12月05日发表在 Oracle, oracle 10g, oracle 11g 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: RMAN-06059错误案例模拟-清理备份垃圾 | 信春哥,系统稳,闭眼上线不回滚!
关键字: , , , , , ,

RMAN-06059错误案例模拟-清理备份垃圾:等您坐沙发呢!

发表评论

快捷键:Ctrl+Enter