`
JAVA天地
  • 浏览: 673452 次
  • 性别: Icon_minigender_1
  • 来自: 太原
文章分类
社区版块
存档分类
最新评论

Oracle系统表大全

阅读更多

转自http://daniel-wuz.iteye.com/blog/145925

ORACLE系统表处理

1.取得指定用户的所有表名:

Java代码 复制代码
  1. SELECTOWNERAS"对象所有者",OBJECT_NAMEAS"表名",OBJECT_IDAS"对象编号"fromdba_objectswhereowner='RAXNYB'ANDOBJECT_TYPE='TABLE'ORDERBYOWNER,OBJECT_TYPE;
  2. OWNERAS"对象所有者",TABLE_NAMEAS"表名"fromDBA_TABLESwhereowner='RAXNYB'ORDERBYOWNER,TABLE_NAME;



2.取得指定用户的所有视图名称:

Java代码 复制代码
  1. SELECTOWNERAS"对象所有者",VIEW_NAMEAS"视图名称"fromDBA_VIEWSwhereowner='RAXNYB'ORDERBYOWNER,VIEW_NAME;



oracle系统表查询

1.用户:

Java代码 复制代码
  1. selectusernamefromdba_users;


改口令

Java代码 复制代码
  1. alteruserspgroupidentifiedbyspgtest;



2.表空间:

Java代码 复制代码
  1. select*fromdba_data_files;
  2. select*fromdba_tablespaces;//表空间
  3. selecttablespace_name,sum(bytes),sum(blocks)fromdba_free_spacegroupbytablespace_name;//空闲表空间
  4. select*fromdba_data_fileswheretablespace_name='RBS';//表空间对应的数据文件
  5. select*fromdba_segmentswheretablespace_name='INDEXS';



3.数据库对象

Java代码 复制代码
  1. select*fromdba_objects;
  2. CLUSTER、DATABASELINK、FUNCTION、INDEX、LIBRARY、PACKAGE、PACKAGEBODY、PROCEDURE、SEQUENCE、SYNONYM、TABLE、TRIGGER、TYPE、UNDEFINED、VIEW。



4.表

Java代码 复制代码
  1. select*fromdba_tables;
  2. selectextent_id,bytesfromdba_extentswheresegment_name='CUSTOMERS'andsegment_type='TABLE'orderbyextent_id;//表使用的extent的信息。segment_type='ROLLBACK'查看回滚段的空间分配信息
  3. selectdistincttable_namefromuser_tab_columnswherecolumn_name='SO_TYPE_ID';



5.索引

Java代码 复制代码
  1. select*fromdba_indexes;//索引,包括主键索引
  2. select*fromdba_ind_columns;//索引列
  3. selecti.index_name,i.uniqueness,c.column_name
  4. fromuser_indexesi,user_ind_columnsc
  5. wherei.index_name=c.index_name
  6. andi.table_name='ACC_NBR';//联接使用



6.序列

Java代码 复制代码
  1. select*fromdba_sequences;



7.视图

Java代码 复制代码
  1. select*fromdba_views
  2. select*fromall_views
  3. text字段可用于查询视图生成的脚本



8.聚簇

Java代码 复制代码
  1. select*fromdba_clusters



9.快照

Java代码 复制代码
  1. select*fromdba_snapshots


快照、分区应存在相应的表空间

10.同义词

Java代码 复制代码
  1. select*fromdba_synonyms


//if owner is PUBLIC,then the synonyms is a public synonym.
//if owner is one of users,then the synonyms is a private synonym

11.数据库链

Java代码 复制代码
  1. select*fromdba_db_links


在spbase下建数据库链:

Java代码 复制代码
  1. createdatabaselinkdbl_spnew
  2. connecttospnewidentifiedbyspnewusing'jhhx';
  3. insertintoacc_nbr@dbl_spnewselect*fromacc_nbrwherenxx_nbr='237'andline_nbr='8888';



12.触发器

Java代码 复制代码
  1. select*fromdba_trigers;


存储过程,函数从dba_objects查找
其文本:select text from user_source where name='BOOK_SP_EXAMPLE';
建立出错:select * from user_errors
oracle总是将存储过程,函数等软件放在SYSTEM表空间。

13.约束
(1)约束是和表关联的,可在create table或alter table table_name add/drop/modify来建立、修改、删除约束.
  可以临时禁止约束,如:

Java代码 复制代码
  1. altertablebook_exampledisableconstraintbook_example_1;
  2. altertablebook_exampleenableconstraintbook_example_1;


(2)主键和外键被称为表约束,而not null和unique之类的约束被称为列约束。通常将主键和外键作为单独的命名约束放在字段列表下面,而列约束可放在列定义的同一行,这样更具有可读性
(3)列约束可从表定义看出,即describe;表约束即主键和外键,可从dba_constraints和dba_cons_columns 查。

Java代码 复制代码
  1. select*fromuser_constraintswheretable_name='BOOK_EXAMPLE';
  2. selectowner,CONSTRAINT_NAME,TABLE_NAMEfromuser_constraintswhereconstraint_type='R'orderbytable_name;


(4)定义约束可以无名(系统自动生成约束名)和自己定义约束名(特别是主键、外键) 如:

Java代码 复制代码
  1. createtablebook_example(identifiernumbernotnull);
  2. createtablebook_example(identifiernumberconstranitbook_example_1notnull);



14、回滚段:
在所有的修改结果存入磁盘前,回滚段中保持恢复该事务所需的全部信息,必须以数据库发生的事务来相应确定其大小(DML语句才可回滚,create,drop,truncate等DDL不能回滚)。
回滚段数量=并发事务/4,但不能超过50;使每个回滚段大小足够处理一个完整的事务;

Java代码 复制代码
  1. createrollbacksegmentr05tablespacerbs;
  2. createrollbacksegmentrbs_cvttablespacerbsstorage(initial1Mnext500k);



使回滚段在线

Java代码 复制代码
  1. alterrollbacksegmentr04online;


用dba_extents,v$rollback_segs监测回滚段的大小和动态增长。

回滚段的区间信息

Java代码 复制代码
  1. select*fromdba_extentswheresegment_type='ROLLBACK'andsegment_name='RB1';



回滚段的段信息,其中bytes显示目前回滚段的字节数

Java代码 复制代码
  1. select*fromdba_segmentswheresegment_type='ROLLBACK'andsegment_name='RB1';



为事物指定回归段

Java代码 复制代码
  1. settransactionuserollbacksegmentrbs_cvt



针对bytes可以使用回滚段回缩。

Java代码 复制代码
  1. alterrollbacksegmentrbs_cvtshrink;
  2. selectbytes,extents,max_extentsfromdba_segmentswheresegment_type='ROLLBACK'andsegment_name='RBS_CVT';



回滚段的当前状态信息:

Java代码 复制代码
  1. select*fromdba_rollback_segswheresegment_name='RB1';


比多回滚段状态status,回滚段所属实例instance_num
查优化值optimal

Java代码 复制代码
  1. selectn.name,s.optsizefromv$rollnamen,v$rollstatswheren.usn=s.usn;



回滚段中的数据

Java代码 复制代码
  1. settransactionuserollbacksegmentrb1;/*回滚段名*/
  2. selectn.name,s.writesfromv$rollnamen,v$rollstatswheren.usn=s.usn;



当事务处理完毕,再次查询$rollstat,比较writes(回滚段条目字节数)差值,可确定事务的大小。
查询回滚段中的事务

Java代码 复制代码
  1. columnrrheading'RBSegment'formata18
  2. columnusheading'Username'formata15
  3. columnosheading'OsUser'formata10
  4. columnteheading'Terminal'formata10
  5. selectr.namerr,nvl(s.username,'notransaction')us,s.osuseros,s.terminaltefromv$lockl,v$sessions,v$rollnamer
  6. wherel.sid=s.sid(+)
  7. andtrunc(l.id1/65536)=R.USNandl.type='TX'andl.lmode=6orderbyr.name;



15、作业
  查询作业信息

Java代码 复制代码
  1. selectjob,broken,next_date,interval,whatfromuser_jobs;
  2. selectjob,broken,next_date,interval,whatfromdba_jobs;


查询正在运行的作业

Java代码 复制代码
  1. select*fromdba_jobs_running;


使用包

Java代码 复制代码
  1. execdbms_job.submit(:v_num,'a;',sysdate,'sysdate+(10/(24*60*60))')加入作业。间隔10秒钟
  2. execdbms_job.submit(:v_num,'a;',sysdate,'sysdate+(11/(24*60))')加入作业。间隔11分钟使用包execdbms_job.remove(21)删除21号作业。




16.批注:
ALL_COL_COMMENTS

分享到:
评论

相关推荐

    oracle 系统表大全

    oracle 系统表大全oracle 系统表大全oracle 系统表大全oracle 系统表大全

    Oracle_系统表大全.docx

    "Oracle 系统表大全" Oracle 系统表大全是 Oracle 数据库管理系统中的一组系统表,用于存储数据库的元数据信息。这些表提供了关于数据库对象、用户、表空间、表、索引、视图、序列、聚簇、快照、同义词、数据库链和...

    oracle系统表说明

    oracle系统表大全,取得指定用户的所有表名,取得指定用户的所有视图名称

    Oracle-系统表大全.docx

    Oracle 系统表大全 Oracle 系统表大全是 Oracle 数据库中的一组系统表,用于存储数据库的元数据信息。这些系统表是 Oracle 数据库的核心组件,用于管理数据库的结构、安全、性能等方面。 用户管理 在 Oracle ...

    oracle 数据库DBA 系统表大全

    oracle数据库dba表大全,实现dba管理的第一步

    Oracle系统表建表语句

    用于Oracle建系统表,如s_emp等

    Oracle系统表汇总.docx

    "Oracle系统表汇总" Oracle系统表是Oracle数据库管理系统中的一种重要组成部分,负责存储数据库对象的元数据信息。系统表是Oracle数据库管理系统的基础组件,提供了对数据库对象的描述、管理和维护。 用户管理 在...

    Oracle 常用系统权限

    Oracle 常用系统权限 Oracle 系统权限是 Oracle 数据库中的一种安全机制,用于控制用户对数据库对象的访问权限。了解这些权限对于开发人员来说非常重要,因为它们可以帮助开发人员更好地控制数据库的安全性和访问...

    Oracle常用命令大全

    ### Oracle常用命令详解 #### 一、Oracle的启动与关闭 **1. 在单机环境下的启动与关闭** - **启动Oracle系统** - **切换用户:** 首先需要切换到Oracle用户环境。 ```bash su - oracle ``` - **使用`svrmgrl`...

    Oracle常用查看表结构命令

    Oracle常用查看表结构命令 获取表: select table_name from user_tables; //当前用户的表 select table_name from all_tables; //所有用户的表 select table_name from dba_tables; //包括系统表 select ...

    Oracle 多表查询优化

    Oracle 多表查询优化是指在 Oracle 数据库管理系统中,为了提高多表查询的效率和性能采取的一些优化策略和技术。在 Oracle 中,多表查询是指从多个表中检索数据的操作。这种操作可能会占用大量的系统资源和时间,...

    大型ERP系统上之前的ORACLE系统表空间间规划

    大型ERP系统上之前的ORACLE系统表空间间规划

    oracle常用操作大全

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,它在企业级数据...以上是对Oracle常用操作的概述,实践中可能涉及更多细节和特定场景的应用。熟练掌握这些操作将有助于提高Oracle数据库管理的效率和可靠性。

    oracle11g系统表

    本文档将详细介绍 Oracle 11g 中常用的系统表,并解释每张系统表的功能、字段等信息。 1. DBA 系统表 DBA 系统表是 Oracle 数据库管理系统的主要组件,提供了数据库的基本信息。常用的 DBA 系统表包括: * DBA_...

    ORACLE常用命令大全.

    以下是一些关于Oracle常用命令的详细说明,分为日志管理和表空间管理两大部分。 ### 日志管理 #### 1. 强制日志切换 ```sql alter system switch logfile; ``` 这个命令用于在当前重做日志文件填满前强制进行日志...

    oracle常用sql语句大全 注释完整 放心使用

    本资料集包含了Oracle数据库中常用SQL语句的大全,注释完整,非常适合初学者和有经验的开发者参考使用。 1. **数据查询(SELECT语句)**: - `SELECT * FROM table_name;`:查询表table_name中的所有列。 - `...

    利用 Oracle 系统触发器防止误删除表操作

    ### 利用Oracle系统触发器防止误删除表操作 #### 背景介绍 在企业级应用中,数据库的安全性和稳定性至关重要。Oracle作为一款广泛使用的数据库管理系统,提供了丰富的功能来保障数据安全。其中,系统触发器是Oracle...

    Oracle常用命令大全[参考].pdf

    数据字典是Oracle维护的一系列系统表和视图,包含了关于数据库、用户、对象和权限的信息。例如,`dictionary`表提供了所有数据字典表的概览,而`dict_columns`则列出了数据字典表的所有字段及其描述。用户可以通过...

    oracle脚本-oracle常用表及数据

    "oracle脚本-oracle常用表及数据"这个资源显然是为了帮助初学者或开发者熟悉Oracle数据库操作和常见用例而准备的。以下是对这个主题的详细解读: 1. **Oracle数据库基础知识**:Oracle数据库是一个基于SQL的数据库...

    oracle常用系统视图+导入导出

    这篇博客主要聚焦于Oracle的常用系统视图以及数据导入导出的相关操作,这对于数据库管理员和开发人员来说非常重要。 首先,我们来看“0001-Oracle-系统-视图.sql”。这个文件很可能包含了创建和查询Oracle系统视图...

Global site tag (gtag.js) - Google Analytics