查询用户创建的表 select * from user_tab_comments; -- 查询本用户的表,视图等. select * from user_col_comments; -- 查询本用户的表的列名和注释. 查询所有表大小 select Segment_Name, Sum(bytes) / 1024 / 1024 / 1024 "size(DB)" From User_Extents Group By Segment_Name order by "size(DB)&
查锁表 select LOCK_INFO.OWNER || '.' || LOCK_INFO.OBJ_NAME as OBJ_NAME, -- 对象名称(已经被锁住) LOCK_INFO.SUBOBJ_NAME as SUBOBJ_NAME, -- 子对象名称(已经被锁住) SESS_INFO.MACHINE as MACHINE, -- 机器名称 LOCK_INFO.SESSION_ID as SESSION_ID, -- 会话SESSION_ID SESS_INFO.SERIAL# as S
SELECT l.session_id sid, s.serial#, l.locked_mode, l.oracle_username, s.user#, l.os_user_name,s.machine, s.terminal,a.sql_text, a.action FROM v$sqlarea a,v$session s, v$locked_object l WHERE l.session_id = s.sid AND s.prev_sql_addr = a.address ORDER
ORACLE支持常規的用CTE遞歸的方式實現遞歸查詢,也有自己特有的查詢方式,ORACLE文檔中叫層次數據查詢. 這裏通過一個簡單的样例來介紹這兩種查詢方式. 數據準備: CREATE TABLE TBL_TEST( ID NUMBER, NAME VARCHAR2(100), PID NUMBER); / BEGIN INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('1','10','0'); INSERT INTO TBL_TEST(ID,NAME,PID)
oracle触发器中增删改查本表 (1)只有before insert触发器中才可以查询或更新本表 create or replace trigger tri_test_ins before insert on test for each row declare v_cnt integer; begin select count(*) into v_cnt from test; dbms_output.put_line('test count:'||to_char(v_cnt)); u
查每张表中有多少条记录 SELECT table_name,num_rows FROM user_tables order by num_rows desc; https://www.cnblogs.com/xzhg/p/6473011.html 查一张表中不同时间段分别有多少条记录: select ttime, count(ttime) from VOLTE_GT_CELL_ANA_BASEDAY group by ttime; select ttime,count(ttime) from V
查詢資料庫伺服器時,發現資料庫伺服器磁片使用空間達到了98%,分析總共的資料檔案也不可能達到如此大,經過查詢發現原來臨時表空間的使用方式達到了 32G,導致磁碟空間使用緊張.搜索了相應的文檔與資料後,查出臨時表空間主要使用在: - 索引創建或重創建. - ORDER BY or GROUP BY (這個是‘罪魁禍首’) - DISTINCT 操作. - UNION & INTERSECT & MINUS - Sort-Merge joins. - Analyze 操作 - 有些異常將會引起
在scott 用户下,执行查询语句是出现“Oracle动态执行表不可访问” 经查,是因为用户权限不够所致,修改scott用户权限语句如下: grant select on V_$session to scott; grant select on V_$sesstat to scott; grant select on V_$statname to scott; 用sys用户登录,执行以上sql,成功即可.
在scott 用户下,执行查询语句是出现"Oracle动态执行表不可访问" 经查,是因为用户权限不够所致,修改scott用户权限语句如下: grant select on V_$session to scott; grant select on V_$sesstat to scott; grant select on V_$statname to scott; .csharpcode, .csharpcode pre { font-size: small; color: black;
--查看表空间 select * from dba_tablespaces; select * from v$tablespace; select * from dba_data_files; --查看数据文件select * from v$datafile; select * from dba_temp_files; --查看临时文件select * from v$tempfile; --查默认表空间和临时表空间 select * from database_propertieswhere p
--查看oracle数据库的单个表结构 select dbms_metadata.get_ddl('TABLE','TABLE_NAME') from dual; 括号里面有两个参数,第一个参数是我们要查询的对象,这里查的是表结构,所以是'TABLE'. 第二个参数是我们要查的表的表名,这里的表名必须大写. 注意:执行完上面这条语句你可能只是看到整个建表语句的一部分,因此我们在执行命令的时候可以加上下面的语句: SQL> SET LONG 3000SQL> SET PAGESIZE 0SQL&
作者:iamlaosong Oracle暂时表空间主要用来做查询和存放一些缓冲区数据. 暂时表空间消耗的主要原因是须要对查询的中间结果进行排序.暂时表空间的主要作用: 索引create或rebuild Order by 或 group by Distinct 操作 Union 或 intersect 或 minus Sort-merge joins analyze 重新启动数据库能够释放暂时表空间.假设不能重新启动实例,而一直保持问题sql语句的运行,temp表空间会一直增长.即使重建了暂时表空