Oracle通用语句页12
复制代码代码如下所示:
SQL >选择t.tablespace_name,圆(SUM(字节/(1024×1024)),0)ts_size
从dba_tablespaces T,dba_data_files D在t.tablespace_name = d.tablespace_name组t.tablespace_name;
查看表空间物理文件的名称和大小:
复制代码代码如下所示:
SQL >选择tablespace_name,file_id,file_name,圆(字节/(1024×1024),0)total_space从dba_data_files顺序。
请参见回滚段的名称和大小:
复制代码代码如下所示:
SQL >选择segment_name,tablespace_name,r.status,
(initial_extent / 1024)initialextent,(next_extent / 1024)nextextent,
max_extents,从dba_rollback_segs R v.curext CurExtent,V V rollstat美元
在r.segment_id = v.usn(+)为segment_name;
如何查看回滚部分中的内容、正在运行的内容或正在执行的SQL语句:
复制代码代码如下所示:
SQL>select d.sql_text, a.name
从V rollname美元,五美元交易B、V $ SESSION C、V sqltext美元D
在a.usn = b.xidusn和b.addr c.taddr和c.sql_address = =
d.address和c.sql_hash_value = d.hash_value
和a.usn = 1;
(注:你想看到的,只是写了一些美国海军=。)
查看控制文件:
SQL SELECT * FROM V $文件>;
查看日志文件:
SQL> Col成员格式A50
SQL SELECT * FROM V$日志文件>;
如何看待当前的SQL * Plus用户Sid和串行#:
SQL >选择SID,串行#,状态从V $ SESSION在audsid = Userenv('sessionid);
如何查看当前数据库的字符集:
SQL >选择Userenv('language)从双;
SQL >选择Userenv('lang)从双;
如何确定当前正在使用哪些SQL优化方法:
使用说明计划生成解释计划,并检查ID = 0 plan_table位置的列的值。
SQL >选择解码(NVL(位置1),1,1,'cbo 'rbo ',')从plan_table id是0;
如何查看系统的最新SCN数:
SQL >选择最大(ktuxescnw *功率(2,32)+ ktuxescnb)从X ktuxe美元;
在Oracle中找到跟踪文件的脚本:
SQL >选择u_dump.value实例。价值'_ora_| | | || | | |
V(V process.traceid NVL2 process.spid美元美元| |,'_| | V process.traceid美元,null)| |。TRC跟踪文件V $参数u_dump交叉连接的参数实例交叉连接过程中加入V V美元$ SESSION V process.addr美元,u_dump.name = 'user_dump_dest'and = V $ session.paddr
instance.name = 'instance_name'and V $ SESSION。audsid = sys_context('userenv ','sessionid);
SQL >选择d.value ' / ora_'p.spid。TRC trace_file_name | | | | | |
从p.spid(选择从系统v_ mystat美元,美元的v_会话系统,
系统v_过程P在m.statistic美元# = 1
s.sid = m.sid和p.addr = s.paddr)P,(选择的价值体系。v_ $参数name);
如何查看客户端登陆的IP地址:
SQL >选择sys_context('userenv ','ip_address)从双;
如何创建一个在生产数据库中跟踪客户机IP地址的触发器:
复制代码代码如下所示:
SQL触发器创建触发器on_logon_trigger >
在数据库登录后
开始
dbms_application_info.set_client_info(sys_context('userenv ','ip_address '));
结束;
记录着陆信息的触发器
创建触发器logon_history
在登录数据库时(用户= 'wacos)--只有user'wacos
开始
插入session_history
选择用户名,Sid,串行#,audsid,OSUser,行动,SYSDATE,null,sys_context('userenv ','ip_address)。
从V $ SESSION在audsid = Userenv('sessionid);
结束;
查询当前日期:
SQL >选择to_char(SYSDATE,'yyyy-mm-dd,hh24:MI:SS)从双;
查看与所有表空间相对应的数据文件的名称:
警告:选择不同的file_name,tablespace_name,autoextensible从dba_data_files;
看看表空间的用法:
复制代码代码如下所示:
SQL >选择的总和(字节)/(1024×1024)作为free_space,tablespace_name
From dba_free_space group by tablespace_name;
SQL >选择a.tablespace_name,a.bytes总,b.bytes使用,c.bytes自由,
(b.bytes×100)/ a.bytes %使用
从系统ts_avail美元。SM,SM系统。ts_used美元B、C SM ts_free美元系统。
在a.tablespace_name = b.tablespace_name和a.tablespace_name = c.tablespace_name;
柱tablespace_name格式A18;
柱sum_m格式A12;
柱used_m格式A12;
柱free_m格式A12;
柱pto_m格式9.99;
选择s.tablespace_name,细胞(sum(s.bytes / 1024 / 1024))| | 'm'sum_m,细胞(sum(s.usedspace / 1024 / 1024))| |很',和,和(())
从(选择b.file_id,b.tablespace_name,b.bytes,
(b.bytes-sum(NVL(a.bytes,0)))空间,
和(NVL(a.bytes,0))空间,(和(NVL(a.bytes,0))/(b.bytes))* 100 freepercentratio从sys.dba_free_space一
在a.file_id(+)= b.file_id组b.file_id,b.tablespace_name,b.bytes
为了b.tablespace_name)的s.tablespace_name S组
为了总结(s.freespace) /总和(s.bytes)描述;
看看数据文件的HWM(用于调整最小的空间),文件头的大小:
复制代码代码如下所示:
选择v1.file_name,v1.file_id,
totle_space num1,
小键盘数字3 free_space,
num1-num3used_space(HWM)
NVL(num2,0)data_space,
num1-num3-nvl(num2,0)file_head
从
(选择file_name,file_id,总和(字节)的file_name从dba_data_files组num1,file_id),
(选择file_id,总和(字节)的file_id从dba_extents组num2)V2,
(选择file_id,总和(字节)的file_id从dba_free_space组小键盘数字3)V3
在V1。file_id = v2.file_id(+)
和V1。file_id = v3.file_id(+);