• Oracle-常用系统数据字典表、系统包功能分类


    近期因为用到了一些关于系统的一些信息,索性搜集了一点关于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:清除被绑定到共享池中的对象

  • 相关阅读:
    Python内置的操作系统模块(os)与解释器交互模块(sys)
    Python常用模块-常见的加密算法模块使用
    Python常用模块-随机数模块(random)
    Python常用模块-时间模块(time&datetime)
    Python递归函数介绍
    Python内置函数之匿名(lambda)函数
    Python远程连接模块-Telnet
    Python的常用内置函数介绍
    Python的生成器进阶玩法
    Python中的列表解析和生成器表达式
  • 原文地址:https://www.cnblogs.com/bishuihengchen/p/9414109.html
Copyright © 2020-2023  润新知