1. 数据库导出某个时间段的语句
在我通用聊天记录你可以选择时间。
2. 数据库获取现在的时间
1、打开plsql,连接上oracle数据库,使用sql语句创建一张测试表。
2、使用sql语句插入3行测试数据到上一步创建的测试表中,日期栏位使用系统当前时间插入。
3、执行完sql之后,记得点击提交按钮,提交更改到数据库保存,否则,数据不会真正存储到数据库中。
4、提交完之后,查询刚刚插入的数据,select*fromTestDate。
5、修改第一行Updatedate栏位的值,此时直接拼接日期格式的字符串更新,oracle是无法执行的。
6、修改第一行Updatedate栏位的值,将字符串的日期转换为日期类型,之后再修改,就可以更新了。
7、修改第一行Updatedate栏位的值,使用当前日期减去2天,直接减2即可。
3. 数据库取当前时间
oracle 取数据库时间:
select sysdate from dual 通常格式2009-3-4 15:34:40
只取日期:select to_char(sysdate,'yyyy-mm-dd') from dual
只取时间:select to_char(sysdate,'hh24:mi:ss') from dual
sqlserver取数据库时间:
SELECT GETDATE() AS datatime
只取日期:SELECT CONVERT(varchar(10), GETDATE(), 121) AS date
只取时间:SELECT CONVERT(varchar(8), GETDATE(), 108) AS time
执行sql之后,可以使用datatable或者dataset存储数据
例如:
string sql = “上面的sql语句”;
Dtatable dt = sqlhelper.getDataTable(sql);//sqlhelper是类,getdatatable是方法;自己根据代码灵活处理;
string myTime = dt.Rows[0][0].ToString(); //取0行0列的值
只要将myTime 的值赋给你的空间或者在页面上显示就可以了
例如控件:
lable1.text=myTime;
页面显示;
<%=myTime%> //先要先将myTime设置成全局变量
4. sql取一个时间段的数据
问题:
仅用慢日志文件,如何快速获取分时报告?
如果有监控系统,获取分时报告(每小时慢查询的条数报告)不难,如果只有慢日志文件,就会有点费劲。
实验:
通过 pt-query-digest --timeline 功能,可以输出带时间戳的慢查询条目
用 sed 将 timeline 报告滤出
安装 termsql
使用 termsql,将报告导入,并使用 SQL 查询一条记录,以展示 termsql 的效果
可以看到 termsql 将 timeline 报告的每一行,整理成了一条数据,放在 SQLite 中。
下面就可以尽情使用 SQL 获取分时报告:
用一个复杂一点慢日志,获得如下结果:
可以轻松定位到慢查询的热点时段,也便于发现业务的周期性规律。
termsql 是一个很方便的小工具:
1. 可以用于将文本导出到 SQLite 中,方便 SQL 查询。
2. 它与 ps 或者 top 合用也有惊喜,比如找出 CPU 占用率高于 25% 的进程:
5. 数据库还原到某个时间点
oracle中可以利用 rman 还原归档日志到某个时间点:
1、理解还原与恢复
恢复(recover): 将备份之后的归档日志apply到数据库,也就根据归档日志的事务将数据库刷新到特定或最新状态(通常在还原之后操作)。对于归
档日志中那些已提交的事务进行前滚,未提交的事务进行回滚。
还原归档日志: 还原归档日志是位于还原数据库与恢复数据库之间的这么一个过程。它会将那些在备份归档日志时使用delete [all] input方式
删除的归档日志还原到缺省的归档位置。在还原数据库之后,如果要做recover,也就是作介质恢复那就需要用到归档日志。那还原之后进行
recover需要的归档日志在哪里呢?归档日志在指定的归档路径那里,那到底有没有呢?如果有,还原时出现提示,归档日志已经在指定位置。
如果没有,但是备份的归档备份集那里有,也行啊。备份集里包含备份片,也就是打包了归档日志。那既然打包就要解包,解包到缺省路径
或指定路径。这就是还原归档日志。
--演示环境
--为了较好的模拟还原归档日志,我们仅仅使用了一个特定的数据文件进行copy方式备份,然后备份归档日志(备份时删除归档日志)
--接下来破坏数据文件,还原数据文件,还原归档日志文件,恢复日志文件。
[oracle@linux3 ~]$ cat /etc/issue
Enterprise Linux Enterprise Linux Server release 5.5 (Carthage)
Kernel \r on an \m
[oracle@linux3 ~]$ sqlplus -V
SQL*Plus: Release 11.2.0.1.0 Production
a、备份数据文件及归档日志
RMAN> list backup of archivelog all; --->列出当前数据库已经备份的归档日志
specification does not match any backup in the repository
RMAN> list backupset; --->列出当前数据库已存在的备份集
specification does not match any backup in the repository
SQL> select username,default_tablespace from dba_users where username='SCOTT'; -->查看用户scott所在的表空间及数据文件
6. 数据库导出某个时间段的语句怎么设置
TIME函数可以将参数转化为时间
TEXT函数可以设置时间格式
ROW()返回参数所在行行号,下拉可以递增
&可以连接字符串
示例里的公式
=TEXT(TIME(0,0+(ROW(1:1)-1)*15,0),"h:mm")&"~"&TEXT(TIME(0,0+(ROW(1:1))*15,0),"h:mm")
7. 数据库取时间
update 表名 set checktime=replace(cast(checktime as varchar(20)),substring(cast(checktime as varchar(20)),1,10),'2009-3-2' ) 绝对能该没一点问题,如果你只想把指定时间改为2009-3-2,则只需把上面substring(cast(checktime as varchar(20)) 改为指定日期如:2010-10-11
- 相关评论
- 我要评论
-