怎样查看自己运行的sql语句的情况

怎样查看自己运行的sql语句的情况,第1张

SPID SID SERIAL# MACHINE9497 49 3406 yz2、利用10046事件开始跟踪SQL>execute sysdbms_systemset_ev(49, 3406,10046,1,'');PL/SQL procedure successfully completed3、这时候你可以运行应用程序,对于web 应用你就可以打开你认为性能比较差页面。4、如果你要查看这段时间执行了哪些sql语句,可以执行下面的语句结束跟踪SQL>execute sysdbms_systemset_ev(49,3406,10046,0,''); PL/SQL procedure successfully completed5、SQL trace 工具会收集这个过程中执行的SQL的性能状态数据,记录到一个跟踪文件中这个跟踪文件提供了许多有用的信息,例如解析次数执行次数,CPU使用时间等。6、这时候你可以通过下面的语句获得产生的跟踪文件所在的目录SQL> select value from v$parameter where name = 'user_dump_dest';VALUE--------------------------------------------------------------------------------/opt/oracle/admin/ocn/udump7、在/opt/oracle/admin/ocn/udump下找到yzoracle_ora_9497trc。9497是你当前应用的spid。8、注意yzoracle_ora_9497trc是不可读的,我们需要执行oracle的tkprof命令,将yzoracle_ora_9497trc转化为我们可读的文本文件。

select from table1 where 平均成绩>60

select 姓名 from table1 where 性别='0' and 学号

select from table1 order by 编号dssc//将学好按照降序排列

select from table1 order by 学号asc //将学号按照升序排列

use 数据库(aa) //使用数据库aa

create bb(数据库) //创建数据库bb

create table table3 ( name varchar(10),sex varchar(2),money money, brithday datetime)//创建一个表3中有姓名,学号,课程编号,平均成绩(此表说明有四列)

drop database aa //删除数据库aa

drop table table3 //删除表3

delete from table3 //删除table3 中所有的数据,但table3这个表还在

delete from table1 where 姓名='倪涛' and 日期 is null

delete from table1 where 姓名='倪涛' and 日期='1971'

select into table2 from table3 //将表3中的所有数据转换成表2 (相当于复制)

update table3 set money=money12 //为表3所有人工资都增长20%

update table3 set money=money12 where title='经理' //为表3中“职位”是经理的人工资增长20%

update table1 set 工资= 5000 where 姓名='孙八' //将姓名为孙八的人的工资改为5000

update table1 set 姓名='敬光' where 姓名='倪涛' and 性别=1 //将性别为男和姓名为倪涛的人改为敬光

建议你首先找一本SQL命令集看看,SQL srever 2000 [安装之后,会有一个联机从书,那里面可谓详尽的讲述了SQL命令,注意:SQL server 2000与SQL命令是重大区别的SQL是结构化查询设计语言的缩写,:SQL server 2000则是微软的关系数据库产品,一切关系数据库都是依赖SQL的这当然要看数据库内建了多少SQL命令,ACCESS和,SQL srever 2000 都接受SQL命令的 *** 作,但是 *** 作ACCESS的SQL命令和语句,几乎可以不加修改的用于SQL server ,但是反过来不行,比如ACCESS根本就不支持使用case语句等
SQL命令并不很多,百十个而已,但是 *** 作起数据库来,几乎是达到出神入画的地步用人工可以需要几天的时间才能弄到结果,用SQL命令只不过是d指之间
想摆弄数据库,你不学SQL,就等于想学洋文,但不认识ABC字母一样
SQL srever 2000 的联机从书中Transact-SQL参考一章,介绍了全部的SQL命令和符号在其它章节还介绍很多SQL语句的写法以及SQL命令的用法好好学吧,你们是年轻人,精力正旺,弄一可以读电子书的手机,把这部联机从书弄成文本文件,放在手机中,随时看看,比你看那些无聊的网上小说,有意义的多

1、打开Microsoft SQL Server 2012,选中需要查询所有表的数据库。

2、选中需要查询的表后,点击左上角的“新建查询”,如图。

3、点击“新建查询”后,会在右边d出一个编辑框,我们需要在这里编写sql语句,来查询该数据库下的所有表结构。

4、编写sql语句,点击“执行”,当然,这表语句我们可以根据实际情况,来改变条件只查询需要的表名。

5、这时,会在右下方出现最终的查询结果,name即该库下所有的表名。

如果你的数据库是完全恢复模式的话,可以通过log Explorer,查看。
具体使用搜索一下就成。
使用Log Explorer查看和恢复数据

Log Explorer 41可用于SQL Server2005的日志查看工具
使用方法:

打开Log Explorer -> Attach Log File -> 选择SQL Server服务器和登陆方式 -> Connect ->
在Database Name中选择数据库 -> Attach-> 左面对话框中Browse-> View Log-> 就可以看到log记录了

想恢复的话: 右键Log记录 Undo Transation-> 选择保存文件名和路径-> 然后打开该文件到查询分析器里执行
T-sql代码就可以了

例如 如果Log是delete table where 的话,生成的文件代码就是insert table
然后将此insert table的代码放到查询分析器里执行就可以恢复数据
----------------------------------------------------------------------
--如何恢复被delete/update的数据
----------------------------------------------------------------------
1 连接到被删除数据库的Db
打开log explorer 选择 "file"->"attach log file"->选择服务器和登陆方式->"connect"->选择"数据库"->"attach"
2 查看日志
在左面 *** 作项目的对话框中选择"browse"项目->"view log"->就可以看到当前的Log记录了
3 恢复数据
右键某一条log记录,选择"undo transation"->"选择保存文件名和路径"->然后打开该文件到查询分析器里执行
T-sql代码就可以了
例如: 如果log是delete table where 的话,生成的文件代码就是insert table
----------------------------------------------------------------------
--Log Explorer恢复被drop table和truncate table后的数据
----------------------------------------------------------------------
1 连接到被删除数据库的Db
*** 作同上
2 恢复方法
1) 选择"salvaage dropped/truncate"菜单,在右边的对话框中选择表名,和droped/trucated的日期,
File Name中选择生成insert语句脚步的存放位置,condition选择是droped还是truncated,
最后点击"create" 就会生成insert语句,把生成的语句到查询分析器里面执行一下就可以了
2) 选择"ViewDDL Commands"菜单->选"truncate table" *** 作项->点击"Salvage"->生成语句->查询分析器里执行
----------------------------------------------------------------------
--log explorer使用的几个问题
----------------------------------------------------------------------
1) 对数据库做完全/差异/日志备份
备份时如果选用了删除事务日志中不活动的条目
再用Log explorer打试图看日志时,提示No log recorders found that match the filter,would you like to view unfiltered data 选择yes 就看不到刚才的记录了

如果不选用了删除事务日志中不活动的条目
再用Log explorer打试图看日志时,就能看到原来的日志并做恢复
2) 修改了其中一个表中的部分数据,此时用Log explorer看日志,可以作日志恢复
3) 然后恢复备份,(注意:恢复是断开log explorer与数据库的连接,或连接到其他数据上,
否则会出现数据库正在使用无法恢复)
恢复完后,再打开log explorer 提示No log recorders found that match the filter,would you like to view unfiltered data,选择yes 就看不到刚才在2中修改的日志记录,所以无法做恢复
4) 不要用SQL的备份功能备份,搞不好你的日志就破坏了

正确的备份方法是:
停止SQL服务,复制数据文件及日志文件进行文件备份

然后启动SQL服务,用log explorer恢复数据

-- 查询你 当前用户下,有哪些表\x0d\SELECT FROM user_tables\x0d\\x0d\-- 查询你 当前用户下, 可以访问哪些表 [也就是访问自己 和 其他用户的]\x0d\SELECT FROM all_tables\x0d\\x0d\-- 查询当前数据库所有的表, 需要你有 DBA 的权限\x0d\SELECT FROM dba_tables


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12914091.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存