oracle Flashback详解
oracle中闪回语法

oracle中闪回语法全文共四篇示例,供读者参考第一篇示例:Oracle中的闪回功能是一种强大的特性,它可以让用户在数据库操作出现错误时快速恢复数据到之前的状态。
通过使用闪回功能,用户可以在不影响其他正在运行的事务的情况下,进行数据的回滚操作,使数据库恢复到之前一个确定的时间点。
在Oracle中,闪回功能主要通过闪回查询和闪回表来实现。
闪回查询可以让用户查看数据库在某个时间点的数据情况,而闪回表可以让用户将表恢复到之前的状态。
下面我们来详细介绍一下这两种闪回功能的具体语法和用法。
闪回查询的语法如下:```SELECT * FROM table_name AS OF TIMESTAMP timestamp;```这条SQL语句表示从指定的时间戳timestamp时刻查看table_name表的数据情况。
用户可以使用这种方式来查看数据库在某个具体时刻的数据,从而找出误操作的原因,或者进行数据对比和分析。
除了基本的闪回查询和闪回表功能之外,Oracle中还提供了其他一些灵活的闪回功能,比如闪回查询带条件、闪回表到某个SCN号、闪回事务等。
用户可以根据具体的需求和情况,选择合适的闪回方式进行操作。
需要注意的是,闪回功能在数据库恢复和数据修复方面有着非常重要的作用,但在使用时也需要谨慎操作,以避免对数据造成更大的影响。
在使用闪回功能之前,用户最好提前做好数据备份和日志记录,以防止操作出现意外情况。
Oracle中的闪回功能是一项非常实用和强大的特性,它可以帮助用户在数据库操作出现错误时快速恢复数据,有效避免数据丢失和影响。
通过灵活运用闪回功能,可以提高数据库的稳定性和安全性,保证数据的完整和可靠性。
希望本文的介绍能够对大家有所帮助,希望大家在使用Oracle数据库时,能够充分利用闪回功能,提升数据管理的效率和水平。
第二篇示例:Oracle中的闪回语法是一种非常强大的工具,它可以帮助用户轻松地还原数据库到之前的状态。
oracle flashback table语法

oracle flashback table语法
OracleFlashbackTable语法是一种用于恢复或查看历史表数据
的强大工具。
使用FlashbackTable语法可以在数据库中快速恢复表
数据,而无需执行复杂的恢复过程。
Flashback Table语法基于Oracle Database的闪回技术,它能够在不影响当前事务的情况下,快速恢复表的历史数据。
Flashback Table语法可以通过以下方式实现:
1. 使用FLASHBACK TABLE语句恢复表数据:
FLASHBACK TABLE table_name TO TIMESTAMP
(timestamp_value);
该语句将指定表恢复到指定时间戳的状态。
2. 使用FLASHBACK TABLE语句查询表历史数据:
FLASHBACK TABLE table_name TO SCN (scn_value);
该语句将查询指定表在指定系统变更号(SCN)之前的历史数据。
Flashback Table语法还可以使用其他参数来控制恢复的数据量和恢复的范围。
例如,您可以使用如下参数:
- 查询限制参数:通过限制查询范围来加快查询速度。
- 历史数据保留参数:用于控制历史数据在数据库中的保留时间。
- 恢复操作日志参数:用于记录Flashback Table操作的详细信息。
总之,Oracle Flashback Table语法是一种功能强大的数据库
工具。
它可以帮助您快速恢复表数据,从而提高数据库恢复的效率和
准确性。
oracle flash back原理

oracle flash back原理Oracle Flashback是一种数据库恢复和查询技术,它可以基于时间或者特定条件,将数据库恢复到过去的某个状态。
本文将详细介绍Oracle Flashback的原理和实现方式。
现代数据库面临着日益增长的数据量和日志的快速变化。
数据库管理员需要能够在数据损坏或删除时快速恢复数据库,并且能够进行详细的查询和分析操作。
Oracle Flashback技术提供了一种可靠且高效的解决方案,使管理员能够快速恢复数据库,追溯数据变更历史和查询特定时刻的数据状态。
【1. Oracle Flashback的基本原理】Oracle Flashback的原理是通过使用Undo数据和Redo数据来实现数据的恢复和查询。
Undo数据是事务发生前的数据副本,也称为回滚段。
当一个事务发生时,Oracle数据库将当前的数据状态复制一份,称为Undo数据。
在事务执行过程中,所有的修改操作都是在Undo数据上进行的,并且还会保存被修改的数据的一个副本。
这样,当需要恢复到过去的某个时刻时,可通过Undo数据将数据库还原到该时刻的状态。
Redo数据是在数据库中发生修改操作时,记录这些操作的数据。
当数据库发生故障或者需要进行恢复时,通过Redo数据可以将数据库恢复到最近的一次备份或者故障前的状态。
【2. Oracle Flashback的实现方式】Oracle提供了多种方式来实现Flashback技术,包括Flashback Query、Flashback Transaction、Flashback Table、Flashback Database等。
下面分别介绍这些实现方式的原理和使用方法。
(1) Flashback QueryFlashback Query是一种基于时间点查询的技术,可以在一个事务中查询到过去某个时间点的数据库状态。
它通过读取Undo数据和Redo 数据,将数据库恢复到指定时间点的状态,然后执行查询操作。
oracle查询历史insert语句

oracle查询历史insert语句Oracle数据库中,我们可以使用Flashback来查询历史insert语句。
Flashback是Oracle数据库提供的一种用于快速查询历史事务的技术,它能够在不查询日志的情况下还原数据表在过去的某个时间点的数据情况。
那么怎么样使用Flashback查询历史insert语句呢?以下是使用Flashback来查询历史insert语句的步骤:步骤一:确认当前数据库上是否启用了Flashback功能。
在Oracle数据库中开启Flashback功能需要满足以下条件:a.已经打开数据库的归档模式b.数据库没有被drop掉c.数据库没有被清空d.表没有被trunc掉若当前数据库上没有启用Flashback功能,可以按以下步骤进行开启:a.将数据库的归档模式打开SQL> shutdown immediate;SQL> startup mount;SQL> alter database archivelog;SQL> alter database open;b.开启Flashback功能SQL> alter database flashback on;步骤二:查询历史insert语句在确定当前数据库已经启用Flashback功能之后,即可进入查询历史insert语句的操作过程。
具体步骤如下:首先,我们需要确定查询的表名和查询的时间点,比如我们要查询的表名为“student”,查询的时间点为“2021-01-01 10:00:00”。
接下来,我们可以使用如下的SQL语句来查询历史insert语句:SQL> SELECT VERSIONS_XID, VERSIONS_STARTTIME, VERSIONS_OPERATION, SQL_REDOFROM FLASHBACK_TRANSACTION_QUERYWHERE TABLE_NAME = 'student'AND VERSIONS_STARTTIME BETWEEN TO_TIMESTAMP('2021-01-01 10:00:00', 'YYYY-MM-DD HH24:MI:SS')AND TO_TIMESTAMP('2021-01-01 11:00:00', 'YYYY-MM-DDHH24:MI:SS')AND VERSIONS_OPERATION = 'INSERT';注意:上述查询语句中,FLASHBACK_TRANSACTION_QUERY是一个可以在Oracle数据库原始安装时自动创建的视图,用于查询历史事务。
oracle flashback table语法

oracle flashback table语法OracleFlashbackTable语法是一种用于恢复被修改或删除的表数据的技术。
它使您可以使用简单的SQL语句来回滚表数据,并且比使用恢复工具和备份更加方便和快速。
要使用Flashback Table,您需要在Oracle数据库中启用闪回功能。
一旦启用,您可以使用以下语法将表恢复到以前的状态:FLASHBACK TABLE table_name TO TIMESTAMP timestamp_value;其中,table_name是您要恢复的表的名称,timestamp_value是您要将表恢复到的时间戳值。
您可以使用SYSTIMESTAMP或TO_TIMESTAMP函数来指定时间戳值。
例如,以下语句将从my_table表中删除的所有行恢复到3月1日下午2点的状态:FLASHBACK TABLE my_table TO TIMESTAMP '2021-03-0114:00:00';除了使用时间戳值外,您还可以使用SCN(系统更改号码)来恢复表。
以下语法将表恢复到指定的SCN:FLASHBACK TABLE table_name TO SCN scn_value;在使用Flashback Table时,需要注意以下几点:1. 您需要具有FLASHBACK权限才能使用Flashback Table。
2. 恢复表数据将覆盖当前表数据。
如果您在恢复之前未备份表数据,则无法撤消。
3. Flashback Table仅适用于表级别的恢复,无法恢复单个行或单个列。
4. 如果表已被TRUNCATE或DROP,则无法使用Flashback Table 来恢复数据。
总之,Flashback Table是一种快速和方便的恢复表数据的方法,但在使用它之前,请确保您了解其工作原理和限制。
在Oracle中使用Flashback

在Oracle中使用FlashbackFlashback是Oracle数据库中的一项功能,它允许用户在不恢复数据库的情况下,将数据库对象和数据回滚到之前的状态。
Flashback技术提供了一种简单而快速的方式来修复因错误操作而导致的数据丢失或破坏。
Oracle提供了多种Flashback功能,包括Flashback Query、Flashback Version Query、Flashback Table和Flashback Transaction Query等。
首先,Flashback Query是一种查询数据历史状态的功能。
通过使用AS OF子句,可以查询特定时间点或系统变化号(SCN)之前的数据库状态。
这对于检查之前的数据状态以及确定问题源头非常有用。
例如,以下查询将返回在特定时间点之前的员工表数据:```SELECT * FROM employeesASOFTIMESTAMPTO_TIMESTAMP('2024-01-0109:00:00','YYYY-MM-DDHH24:MI:SS');```其次,Flashback Version Query是一种查询特定数据行在历史上的不同版本的功能。
通过使用VERSIONS BETWEEN子句,可以查询一些时间范围内数据行的所有版本。
这对于恢复误删除或误修改的数据非常有用。
例如,以下查询将返回在时间段内特定员工ID的所有数据行版本:```SELECTVERSIONSSTARTSCN,VERSIONSSTARTTIME,VERSIONSENDSCN,VERS IONSENDTIME,*FROM employees VERSIONS BETWEEN TIMESTAMPTO_TIMESTAMP('2024-01-0109:00:00','YYYY-MM-DDHH24:MI:SS')ANDTO_TIMESTAMP('2024-01-3109:00:00','YYYY-MM-DDHH24:MI:SS')WHERE employee_id = 100;```第三,Flashback Table是一种将整个表恢复到之前状态的功能。
oracle 数据库闪回查询语句

Oracle数据库提供了闪回查询(Flashback Query)的功能,它允许你查询表在过去某个时间点的数据。
这个功能对于回溯历史数据或者查找误操作引起的数据变更非常有用。
以下是一些 Oracle 数据库中的闪回查询语句的示例:
1. 查询过去某个时间点的数据:
上述语句中,your_table是表的名称,TIMESTAMP后面的字符串表示你希望查询的具体时间点。
2. 查询过去某个 SCN(系统更改号)的数据:
这里的1234567是你希望查询的 SCN 号。
3. 查询在过去一定时间段内的数据变化:
上述语句中,VERSIONS BETWEEN后面的两个时间戳表示你希望查询的时间段内的数据版本。
4. 使用 AS OF SCN 语法查看历史数据:
这个语句允许你在历史版本中进行条件过滤。
请注意,使用闪回查询功能需要相应的权限,而且 Oracle 数据库的
UNDO_RETENTION参数设置也可能对你能够查询的历史时间范围产生影响。
确保在使用这些功能时了解相关的安全和配置考虑。
oracle中闪回语法

在Oracle数据库中,闪回(Flashback)是一种用于恢复数据库到特定时间点的功能。
它允许您撤销数据库更改,并返回到过去的状态。
通过使用闪回语法,您可以轻松地恢复丢失的数据或解决数据不一致问题。
闪回语法的基本格式如下:```scssFLASHBACK table_name TO TIMESTAMP;```其中,`table_name`是要执行闪回操作的表名,`TIMESTAMP`是要返回到的时间戳。
时间戳可以是日期时间值,也可以是系统保留的关键字,如`SYSDATE-1`表示返回到一分钟前的时间状态。
以下是使用闪回语法的一些常见场景和用法:1. 恢复丢失的数据:如果您不小心删除了某个表中的数据,可以使用闪回语法将其恢复到删除之前的状态。
例如:```sqlFLASHBACK table_name TO SYSDATE;```这将返回到表被删除之前的时间状态。
2. 解决数据不一致问题:如果您发现某个表中的数据不一致,可以使用闪回语法将其恢复到一致的状态。
例如,如果您发现某个事务导致数据发生了错误更改,可以使用闪回语法将表返回到事务开始之前的状态。
3. 历史数据查询:如果您需要查询历史数据,可以使用闪回表(Flashback Table)功能。
通过将表设置为闪回表,您可以查询过去的时间戳数据,而无需创建额外的历史表。
4. 数据备份恢复:如果您需要备份数据库并恢复到过去的时间点,可以使用闪回数据库(Flashback Database)功能。
这将整个数据库视为一个单独的逻辑对象,并提供对过去时间和数据点的访问权限。
需要注意的是,使用闪回语法需要满足一些前提条件,例如表必须具有可回滚的物化视图或物化视图刷新日志(MMMF)的约束。
此外,某些表类型(如分区表)可能需要额外的设置才能使用闪回语法。
总之,闪回语法是Oracle数据库中一个非常有用的功能,它可以帮助您轻松地恢复丢失的数据、解决数据不一致问题以及进行历史数据查询。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
oracle Flashback详解分类:RDBMS 2011-01-25 17:05 430人阅读评论(0) 收藏举报使用oracle数据库时,难免会碰到一些问题.例:1.如何回滚已经commit了的数据2.如何查询已经被覆盖掉的数据[update],或者被delete了的数据3.如何将数据恢复到某个时间点我们就可以使用Flashback相关语句解决相关问题了关于Flashback[回闪]:从9i到10g到最新的11.2g,oracle对Flashback功能进行了进一步的扩展,利用Flashback我们可做到1.flashback query 闪回查询,并不实际修改表的数据2.flashback table 闪回表格,可恢复表格的数据3.flash database 闪回数据库,可恢复db的数据①:关于Flashback Query:1.Flash Query通过undo数据表空间数据,利用一致性的方法来查找用户需要的数据2.作用范围:查找指定时间点被(delete,update)的数据只是做查找操作,如果设计恢复那么就要使用flashback table了3.相关参数:1.查询出来的数据存活时间受undo_retention(默认为900秒)影响 [目标值,该变量(秒)可以影响undo表空间产生的data存活时间,时间一到,即死亡(消失)]2.闪回时间受undo表空间大小影响[关于undo表空间的操作,另一片文章会有讲解]3.查询的仅仅是快照,并不能修改当前状态4.基本语法[两种方式,使用时间片或scn号] 使用时间片的情况比较多1.select * from 你要查询表的名字as of timestamp [查询某一时间该表的数据]2.select * from 你要查询表的名字as of scn 具体scn号[关于scn 号,另一篇文章会讲解]4.原理:简单的说就是将以前被修改,删除了的数据,通过开启Flashback 模式,回到我们需要回到的时间来查看数据,在undo_retention该变量设置的时间过后,该镜像数据会自动被清除.相当于查看的是一个镜像数据.一种方式是利用scn号来查看镜像数据,另一种是通过查找时间片来查询镜像数据案例1:①--创建测试flashQuery表格主要由scn号和系统日期组成create table testQuery(id number,scn number,time varchar2(20),mydate varchar2(20));②--插入测试数据beginfor i in 1..16loopinsert into testQueryvalues(i,dbms_flashback.get_system_change_number(),to_char (sysdate ,'yyyy-mm-dd hh24:mi:ss'),'你好'||i);--插入scn号和sysdate为方便后续查询commit;--如果不实时commit,那么会在循环完后,批量提交,时间点是一样的dbms_lock.sleep(2);--使用dbms_lock.sleep 方法和java的thread睡眠是一个意思参数以秒为单位end loop;end;③--查询未修改的数据result:1 3303552 2011-01-25 11:51:33 你好12 3303556 2011-01-25 11:51:35 你好23 3303558 2011-01-25 11:51:37 你好34 3303560 2011-01-25 11:51:39 你好45 3303562 2011-01-25 11:51:41 你好56 3303564 2011-01-25 11:51:43 你好67 3303566 2011-01-25 11:51:45 你好78 3303568 2011-01-25 11:51:47 你好89 3303570 2011-01-25 11:51:49 你好910 3303572 2011-01-25 11:51:51 你好1011 3303574 2011-01-25 11:51:53 你好1112 3303576 2011-01-25 11:51:55 你好1213 3303578 2011-01-25 11:51:57 你好1314 3303580 2011-01-25 11:51:59 你好1415 3303582 2011-01-25 11:52:01 你好1516 3303584 2011-01-25 11:52:03 你好16④--查询最新的scn号[类似于check point],该scn号在每次commit时,都会自动变化[使用scn号来开启Flashback Query模式]select dbms_flashback.get_system_change_number from dual;result:3307628 --该scn号可以理解成为一个check point点.我们可以借助这个标记来回退到该scn号查询当前的数据④--修改第十条,和第十一条的数据:update testQuery tq set tq.mydate='新年快乐'where scn='3303572'; commit;update testQuery tq set tq.mydate='万事如意'where scn='3303574'; commit;select*from testQueryresult:1 3303552 2011-01-25 11:51:33 你好12 3303556 2011-01-25 11:51:35 你好23 3303558 2011-01-25 11:51:37 你好34 3303560 2011-01-25 11:51:39 你好45 3303562 2011-01-25 11:51:41 你好56 3303564 2011-01-25 11:51:43 你好67 3303566 2011-01-25 11:51:45 你好78 3303568 2011-01-25 11:51:47 你好89 3303570 2011-01-25 11:51:49 你好910 3303572 2011-01-25 11:51:51 新年快乐11 3303574 2011-01-25 11:51:53 万事如意12 3303576 2011-01-25 11:51:55 你好1213 3303578 2011-01-25 11:51:57 你好1314 3303580 2011-01-25 11:51:59 你好1415 3303582 2011-01-25 11:52:01 你好1516 3303584 2011-01-25 11:52:03 你好16⑤--使用scn号来进行闪回查询1.不开启Flashback模式,仅使用Flashback query语句做查询select*from testQuery as of scn 3307628result:1 3303552 2011-01-25 11:51:33 你好12 3303556 2011-01-25 11:51:35 你好23 3303558 2011-01-25 11:51:37 你好34 3303560 2011-01-25 11:51:39 你好45 3303562 2011-01-25 11:51:41 你好56 3303564 2011-01-25 11:51:43 你好67 3303566 2011-01-25 11:51:45 你好78 3303568 2011-01-25 11:51:47 你好89 3303570 2011-01-25 11:51:49 你好910 3303572 2011-01-25 11:51:51 你好1011 3303574 2011-01-25 11:51:53 你好1112 3303576 2011-01-25 11:51:55 你好1213 3303578 2011-01-25 11:51:57 你好1314 3303580 2011-01-25 11:51:59 你好1415 3303582 2011-01-25 11:52:01 你好1516 3303584 2011-01-25 11:52:03 你好162.开启Flashback模式做查询,整个db将会产生某个scn号所在时间点的镜像数据.使用dbms包开启Flashback模式:exec DBMS_FLASHBACK.ENABLE_AT_SYSTEM_CHANGE_NUMBER(3307628);现在查看表的数据:select*from testQuery as of scn 3307628;result:1 3303552 2011-01-25 11:51:33 你好12 3303556 2011-01-25 11:51:35 你好23 3303558 2011-01-25 11:51:37 你好34 3303560 2011-01-25 11:51:39 你好45 3303562 2011-01-25 11:51:41 你好56 3303564 2011-01-25 11:51:43 你好67 3303566 2011-01-25 11:51:45 你好78 3303568 2011-01-25 11:51:47 你好89 3303570 2011-01-25 11:51:49 你好910 3303572 2011-01-25 11:51:51 你好1011 3303574 2011-01-25 11:51:53 你好1112 3303576 2011-01-25 11:51:55 你好1213 3303578 2011-01-25 11:51:57 你好1314 3303580 2011-01-25 11:51:59 你好1415 3303582 2011-01-25 11:52:01 你好1516 3303584 2011-01-25 11:52:03 你好16注:此时整个DB为镜像数据.[如果单独再开启个链接,那么看到的还是真实数据而不是镜像数据];[如果中途要退出Flashback模式请使用:exec DBMS_FLASHBACK.DISABLE;]退出Flashback 模式:exec DBMS_FLASHBACK.DISABLE;select*from testQueryresult:1 3303552 2011-01-25 11:51:33 你好12 3303556 2011-01-25 11:51:35 你好23 3303558 2011-01-25 11:51:37 你好34 3303560 2011-01-25 11:51:39 你好45 3303562 2011-01-25 11:51:41 你好56 3303564 2011-01-25 11:51:43 你好67 3303566 2011-01-25 11:51:45 你好78 3303568 2011-01-25 11:51:47 你好89 3303570 2011-01-25 11:51:49 你好910 3303572 2011-01-25 11:51:51 新年快乐11 3303574 2011-01-25 11:51:53 万事如意12 3303576 2011-01-25 11:51:55 你好1213 3303578 2011-01-25 11:51:57 你好1314 3303580 2011-01-25 11:51:59 你好1415 3303582 2011-01-25 11:52:01 你好1516 3303584 2011-01-25 11:52:03 你好16以上就是使用scn号来做闪回查询了;⑥--使用时间点来进行闪回查询select*from testQuery as of timestamp to_timestamp('2011-01-25 13:25:55','yyyy-mm-dd hh24:mi:ss');做此查询要确保没有对原有表结构进行修改,如果有的话可能引发异常;select*from testQuery;result:1 3303552 2011-01-25 11:51:33 你好12 3303556 2011-01-25 11:51:35 你好23 3303558 2011-01-25 11:51:37 你好34 3303560 2011-01-25 11:51:39 你好45 3303562 2011-01-25 11:51:41 你好56 3303564 2011-01-25 11:51:43 你好67 3303566 2011-01-25 11:51:45 你好78 3303568 2011-01-25 11:51:47 你好89 3303570 2011-01-25 11:51:49 你好910 3303572 2011-01-25 11:51:51 你好1011 3303574 2011-01-25 11:51:53 你好1112 3303576 2011-01-25 11:51:55 你好1213 3303578 2011-01-25 11:51:57 你好1314 3303580 2011-01-25 11:51:59 你好1415 3303582 2011-01-25 11:52:01 你好1516 3303584 2011-01-25 11:52:03 你好16关于scn号和这个timeStamp的转换[这个可能会出问题(undo表空间过小,无法查询到过早的数据)]scn→→timeStamp:select SCN_TO_TIMESTAMP(SCN号)as ts from dual;timeStamp→→scnselect TIMESTAMP_TO_SCN('25-1月-11 01.05.29.046000 下午')from dual;②:关于Flashback Table:1.闪回表格,可将表格的数据闪回到某个时间点2.需要开启行移动模式[enable row movement]3.原理:Flashback Table也是利用Undo数据来恢复对象到指定时间点4.使用范围:恢复当前表及其相关对象到某个时间点5.注意点:1).闪回时间受参数undo_retention影响2).闪回时间受undo表空间大小影响3).和flashback query有差别,恢复表到以前的时间点[真实闪回,而不是镜像]6.语法:1).flashback table table_name to timestamp .... [根据时间点闪回]2).flash table table_name to scn ... [根据scn号回退,实际操作基本上不会用到]3).flashback table table_name to timestamp ... enable triggers. [创建表,开启行移动模式,用的不多]4).flashback table testFlashTable to TIMESTAMP systimestamp - interval '5' minute; [回退到几分钟之前,用的多]例:将第一条数据更新,然后进行闪回表格,得到我们以前的数据;创建新的表格测试:create table testFlashTable(id number,mydata varchar2(60));插入测试数据:insert into testFlashTable values(1,'一帆风顺');commit;select*from testQuery;result:1 一帆风顺------等待5分钟--------让scn号飞一会,不然可能会出错删除数据:delete from testFlashTable;commit;select*from testQuery;result:无;开启行移动模式:alter table testFlashTable enable row movement;使用flashBack:[这种方法用的比较多,不小心删除了,马上就可以闪回][闪回到5分钟以前]flashback table testFlashTable to TIMESTAMP systimestamp-interval'5' minute;或者: [闪回到时间点]flashback table t to timestamp to_timestamp('2011-01-2611:35:40','yyyy-mm-dd hh24:mi:ss');。