1.使用sys登陆,如何查看哪个用户下的对象占用的磁盘空间最大?
2.执行查询时报错:ORA-01652:无法通过128(在表空间TEMP中)扩展temp段,不知是什么原因?
3.输入:一个字符串“35,36,380”
要求生成3行数据,如下:
35
36
380
用sql怎么写?
4.使用select * from dba_users; 得到password值全为空,不知原因?
2.执行查询时报错:ORA-01652:无法通过128(在表空间TEMP中)扩展temp段,不知是什么原因?
3.输入:一个字符串“35,36,380”
要求生成3行数据,如下:
35
36
380
用sql怎么写?
4.使用select * from dba_users; 得到password值全为空,不知原因?
select substr(regexp_substr(',' || '35,36,380', ',([^,]+)', 1, level), 2) as "item"
from dual
connect by level <= length(regexp_replace('35,36,380', '[^,]', '')) + 1
SQL> select password from dba_users;PASSWORD
------------------------------
9CC0ECDD8721C8E3
C89E957D620BC4ED
3FB8EF9DB538647C
84B8CBCA4D477FA3
5AC67B98FA46369E
88A2B2C183431F00
B97545C4DD2ABE54
88D8364765FCE6AF
4AA37D1393FD7BB5
4C6D73C3E8B0F0DA
CE4A36B8E06CA59C
select replace('35,36,37',',',chr(10)) from dual
--------
35
36
37
已用时间: 00: 00: 00.01
select O.OWNER, sum(S.BYTES)
from dba_objects o, dba_segments s
where O.OBJECT_NAME = S.SEGMENT_NAME
and O.OWNER = S.OWNER
group by O.OWNER
order by 2 desc
select segment_name,sum(bytes)/1024/1024 a from dba_extents
group by segment_name
order by a desc2.执行查询时报错:ORA-01652:无法通过128(在表空间TEMP中)扩展temp段,不知是什么原因?
应该是你的TEMP空间不够了,试着扩大一下容量,再实施看。
--chr(10)为换行符号类似<br>(php)
3.
SQL> select replace('35,36,380',',',chr(10)) from dual;REPLACE('
---------
35
36
3804.
SQL> select username,password from dba_users;USERNAME PASSWORD
------------------------------ ------------------
MDDATA DF02A496267DEE66
DIP CE4A36B8E06CA59C
SCOTT F894844C34402B67
TSMSYS 3DF26A8B17D0F29F
DBSNMP 9CF003410A739C6E
你可能是用的11g,11g提高了安全性,已经不在dba_users视图中显示密码,
但是你可以直接查询底层字典表来显示密码
SELECT NAME, password FROM sys.user$;
--------
35
36
37
用逗号来分隔文本,这个思路很强~~~赞一个