类似v$database和 dba_xxx,all_xxx,user_xxx之类的视图其实都是属于数据字典的范畴,记录了各种类型数据的信息。比如你想看表空间相关信息,可以查看v$tablespace,想看日志文件可以查看v$logfile。。等等。
当你想查看这些信息的时候,你就需要相应的权限了。笼统点,给你一个dictionary权限,便可以查看所有数据字典信息了。
用超级管理员权限登录系统(conn / as sysdba)后通过如下语句查看:
select distinct username from v$session where username is not null group by username;
解释:在视图v$session中如果此时用户连接到数据库的话,会生成相应的视图信息。因为一个用户可能进行多种 *** 作,所有记录是多条的,通过“distinct ”命令即可查出“唯一”的用户。
CREATE PROCEDURE FindString(@Value VARCHAR(1024)) AS
BEGIN
SET NOCOUNT ON;
DECLARE @SQL VARCHAR(6000)
DECLARE @Table VARCHAR(100)
DECLARE @Column VARCHAR(100)
CREATE TABLE #T(TableName VARCHAR(100),ColumnName VARCHAR(100))
DECLARE TABLES CURSOR FOR SELECT Oname,Cname FROM syssyscolumns C INNER JOIN syssysobjects O ON Cid=Oid
WHERE Otype='U' AND Cxtype IN(167,175,231,239) ORDER BY Oname,Cname
OPEN TABLES
FETCH NEXT FROM TABLES INTO @Table, @Column
WHILE @@FETCH_STATUS = 0
BEGIN
SET @SQL='IF EXISTS(SELECT NULL FROM ['+@Table+'] WHERE RTRIM(LTRIM(['+@Column+'])) LIKE ''%'+@Value+'%'')'
SET @SQL=@SQL+'INSERT INTO #T VALUES ('''+@Table+''','''+@Column+''')'
EXEC(@SQL)
FETCH NEXT FROM TABLES INTO @Table,@Column
END
CLOSE TABLES
DEALLOCATE TABLES
SELECT FROM #T
DROP TABLE #T
End
调用方法:
EXEC FindString '查找的字符串'
1 查询Oracle中所有用户信息 selectfrom dba_users。
2 只查询用户和密码 select username,password from dba_users。
3 查询当前用户信息 selectfrom dba_ustats。
通过pl/sql中的“浏览器”也可以查看user信息。
以上就是关于oracle的scott用户如何查看当前数据库全部的内容,包括:oracle的scott用户如何查看当前数据库、oracle如何查看当前有哪些用户连接到数据库、查询当前数据库中所有用户表中哪些字段包含某个字符串等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)