标签:tail dba inter 优化 move 序列 output system rom
近期因为用到了一些关于系统的一些信息,索性搜集了一点关于Oracle数据库系统的一些系统表、功能等,方便日后查看。日后待补充。
原文地址:https://blog.csdn.net/demonson/article/details/53189513;
【查看用户下属的一些表及其他结构信息】
查看表:user_tables、all_tables、dba_tables
查看表字段:user_tab_columns、all_ tab_columns、dba_tab_columns
查看表注释:user_ tab_comments 、all_tab_comments、dba_tab_comments
查看字段注释:user_col_comments、all_col_comments、dba_col_comments
查看索引信息:user_indexes、all_indexes、dba_indexes
查看索引所在字段:user_ind_columns、all_ind_columns、dba_ind_columns
查看约束信息:user_constraints、all_constraints、dba_constraints
查看约束所在字段:user_cons_columns、all_cons_columns、dba_cons_columns
查看触发器信息:user_triggers、all_triggers、all_triggers
查看序列信息:user_sequences、all_sequences、dba_sequences
查看视图信息:user_views、all_views、dba_views
查看同义词信息:user_synonyms、all_synonyms、dba_synonyms
查看DBLINK信息:user_db_links、all_db_links、dba_db_links
查看JOB信息:user_jobs、all_jobs、dba_jobs
查看所有对象信息(过程PROCEDURE、函数FUNCTION、包和包体、JOB和LOB大字段、表、视图、索引、序列、触发器):user_objects、all_objects、dba_objects
查看过程、函数、触发器、包和包体内容:user_source、all_source、dba_source
特殊语句:
--查看建表语句
SELECT DBMS_METADATA.GET_DDL(‘PROCEDURE‘, ‘PROCEDURE_NAME‘, ‘USER_NAME‘) FROM dual;
--查看远程数据库对象的定义
SELECT DBMS_LOB.SUBSTR@dblinkname(DBMS_METADATA.GET_DDL@dblinkname(‘TABLE‘, ‘TABLENAME‘, ‘USERNAME‘)) FROM DUAL@dblinkname;
【表空间与数据文件信息】
查看用户默认表空间和临时表空间:user_users、all_users、dba_users
查看表空间信息:user_tablespaces、all_tablespaces、dba_tablespaces
查看表空间空余空间:dba_free_space
查看表空间数据文件及使用情况:dba_data_files
查看数据文件详细信息:v$datafile
查看数据段基本信息:user_segments、all_segments、dba_segments
查看数据区基本信息:user_extents、all_extents、dba_extents
查看临时表空间信息:dba_temp_files
回滚段信息:dba_rollback_segs
【用户、角色与权限信息】
查看所有角色:dba_roles
查看用户角色:user_role_privs、dba_role_privs
查看用户权限:user_sys_privs、dba_sys_privs
查看角色权限:role_sys_privs
查看用户操作表权限:user_tab_privs、all_tab_privs、dba_tab_privs
【数据库信息】
查看控制文件信息:v$controlfile
查看系统参数信息:v$parameter
数据库系统运行信息:v$datafile
查看当前实例基本信息:v$instance
实例当前有效的参数信息:v$system_parameter
查看日志文件位置:v$logfile
查看日志文件信息:v$log
查看日志线程信息:v$thread
查看归档日志位置:v$archived_dest
查看归档日志信息:v$archived_log
日志历史切换信息:v$loghist
查看数据允许的连接数:show parameter processes
【内存与进程信息】
SGA区的基本信息:v$sga
SGA区的详细信息:v$sgastat
共享SQL区SQL详细信息(SQL文本是CLOB,每条SQL仅记录一次):v$sql
共享SQL区SQL详细信息(SQL文本是CLOB,不同用户执行相同SQL多次记录):v$sqlarea
共享SQL区SQL的文本信息(仅记录文本且拆分成多行):v$sqltext
库缓存性能的统计数据:v$librarycache
联机的回滚段的名字:v$rollstat
后台进程信息:v$bgprocess
会话信息:v$session
【性能信息】
文件IO信息:v$filestat
锁存器的统计数据:v$latch
块竞争统计数据:v$waitstat
事件的总计等待时间:v$system_event
事件等待信息:v$session_wait
排序操作信息:v$sort_usage
被锁定对象信息:v$locked_object
会话的IO信息:v$sess_io
会话的等待信息:v$session_wait
【举例】
--查看当前会话的SID
select userenv(‘sid‘) from dual;
--查看当前被锁的对象信息
SELECT o.object_name,s.sid,s.serial#,s.username,s.osuser,s.machine,s.terminal
FROM v$locked_object l, dba_objects o, v$session s
WHERE l.object_id = o.object_id
AND l.session_id = s.sid;
--杀掉系统对象锁定的进程
ALTER system KILL session ‘SID,serial#‘;
--如何监控事例的等待?
SELECT event,SUM(decode(wait_Time, 0, 0, 1)) "Prev",SUM(decode(wait_Time, 0, 1, 0)) "Curr",COUNT(*) "Tot"
FROM v$session_wait
GROUP BY event
ORDER BY 4;
--如何查询做比较大的排序的进程?
SELECT b.tablespace,b.segfile#,b.segblk#,b.blocks,a.sid,a.serial#,a.username,a.osuser,a.status
FROM v$session a, v$sort_usage b
WHERE a.saddr = b.session_addr
ORDER BY b.tablespace, b.segfile#, b.segblk#, b.blocks;
--如何查看回滚段的争用情况?
SELECT NAME, waits, gets, waits / gets "Ratio"
FROM v$rollstat C, v$rollname D
WHERE C.usn = D.usn;
--如何监控表空间的 I/O 比例?
SELECT B.tablespace_name NAME,B.file_name "file",A.phyrds pyr,A.phyblkrd pbr,A.phywrts pyw,A.phyblkwrt pbw
FROM v$filestat A, dba_data_files B
WHERE A.file# = B.file_id
ORDER BY B.tablespace_name;
--如何监控文件系统的 I/O 比例?
SELECT substr(C.file#, 1, 2) "#",substr(C.name, 1, 30) "Name",C.status,C.bytes,D.phyrds,D.phywrts
FROM v$datafile C, v$filestat D
WHERE C.file# = D.file#;
--如何监控 SGA 的命中率?
SELECT a.value + b.value "logical_reads",c.value "phys_reads",round(100 * ((a.value + b.value) - c.value) / (a.value + b.value)) "BUFFER HIT RATIO"
FROM v$sysstat a, v$sysstat b, v$sysstat c
WHERE a.statistic# = 38
AND b.statistic# = 39
AND c.statistic# = 40;
--如何监控 SGA 中字典缓冲区的命中率?
SELECT parameter,gets,Getmisses,getmisses / (gets + getmisses) * 100 "miss ratio",(1 - (SUM(getmisses) / (SUM(gets) + SUM(getmisses)))) * 100 "Hit ratio"
FROM v$rowcache
WHERE gets + getmisses <> 0
GROUP BY parameter, gets, getmisses;
--如何监控 SGA 中共享缓存区的命中率,应该小于1%
SELECT SUM(pins) "Total Pins",SUM(reloads) "Total Reloads",SUM(reloads) / SUM(pins) * 100 libcache
FROM v$librarycache;
SELECT SUM(pinhits - reloads) / SUM(pins) "hit radio",SUM(reloads) / SUM(pins) "reload percent"
FROM v$librarycache;
--如何知道使用CPU多的用户session?
SELECT a.sid,spid,status,substr(a.program, 1, 40) prog,a.terminal,osuser,VALUE / 60 / 100 VALUE
FROM v$session a, v$process b, v$sesstat c
WHERE c.statistic# = 11
AND c.sid = a.sid
AND a.paddr = b.addr
ORDER BY VALUE DESC;
【常用系统包】
dbms_output用于输入和输出信息
put():在当前行输出
put_line():在当前行结尾处换行并在新行输出
newline:换行
getline:取得缓冲区的单行信息
getlines:取得缓冲区的多行信息
dbms_job用于安排和管理作业队列
submit():新建作业
remove():移除作业
change():修改作业
what()、next_date()、interval():更改作业任务、下次执行时间、时间间隔
broken()、run():暂停作业、运行作业
dbms_lob使用和维护LOB字段
write:向LOB中写入数据
read:从LOB中读取数据
instr:从LOB中查字符位置
substr:从LOB中取字符
getlength:返回LOB长度
dbms_metadata.get_ddl:生成数据库对象的ddl信息
dbms_random:快速生成随机数
initialize:初始化dbms_random包,必须提供随机数种子
seed:复位随机数种子
random:生产随机数
dbms_flashback:激活或禁止会话的flashback特征,普通用户使用需授权
enable_at_time:以时间方式激活会话的flashback
enable_at_system_change_number:以系统改变号(scn)方式激活会话的flashback
get_system_change_number:取得系统的当前scn值
disable:禁止会话的flashback模式
dbms_ddl:DDL信息管理
alter_compile:重新编译过程、函数和包
analyze_object:分析表、索引、簇并生成统计数据
dbms_stat:用于搜集,查看,修改数据库对象的优化统计信息
get_column_stats:取得列的统计信息
get_index_stats:取得索引的统计信息
get_system_stats:从统计表或数据字典中取得系统统计信息
get_table_stats:取得表的统计信息
dbms_session
dbms_rowid:取得行标识符(rowid)的信息并建立ROWID
dbms_shared_pool:操作共享池
sizes:显示在共享池中大于指定尺寸的对象
keep:用于将特定对象绑定到共享池中
unkeep:清除被绑定到共享池中的对象
标签:tail dba inter 优化 move 序列 output system rom
原文地址:https://www.cnblogs.com/bishuihengchen/p/9414109.html