转自http://daniel-wuz.iteye.com/blog/145925
ORACLE系统表处理
1.取得指定用户的所有表名:
- SELECTOWNERAS"对象所有者",OBJECT_NAMEAS"表名",OBJECT_IDAS"对象编号"fromdba_objectswhereowner='RAXNYB'ANDOBJECT_TYPE='TABLE'ORDERBYOWNER,OBJECT_TYPE;
- 或
-
OWNERAS"对象所有者",TABLE_NAMEAS"表名"fromDBA_TABLESwhereowner='RAXNYB'ORDERBYOWNER,TABLE_NAME;
SELECT OWNER AS "对象所有者",OBJECT_NAME AS "表名",OBJECT_ID AS "对象编号" from dba_objects where owner = 'RAXNYB' AND OBJECT_TYPE = 'TABLE' ORDER BY OWNER,OBJECT_TYPE;
或
OWNER AS "对象所有者",TABLE_NAME AS "表名" from DBA_TABLES where owner = 'RAXNYB' ORDER BY OWNER,TABLE_NAME;
2.取得指定用户的所有视图名称:
- SELECTOWNERAS"对象所有者",VIEW_NAMEAS"视图名称"fromDBA_VIEWSwhereowner='RAXNYB'ORDERBYOWNER,VIEW_NAME;
SELECT OWNER AS "对象所有者",VIEW_NAME AS "视图名称" from DBA_VIEWS where owner = 'RAXNYB' ORDER BY OWNER,VIEW_NAME;
oracle系统表查询
1.用户:
- selectusernamefromdba_users;
select username from dba_users;
改口令
- alteruserspgroupidentifiedbyspgtest;
alter user spgroup identified by spgtest;
2.表空间:
- select*fromdba_data_files;
-
select*fromdba_tablespaces;
-
selecttablespace_name,sum(bytes),sum(blocks)fromdba_free_spacegroupbytablespace_name;
-
select*fromdba_data_fileswheretablespace_name='RBS';
-
select*fromdba_segmentswheretablespace_name='INDEXS';
select * from dba_data_files;
select * from dba_tablespaces;//表空间
select tablespace_name,sum(bytes), sum(blocks) from dba_free_space group by tablespace_name;//空闲表空间
select * from dba_data_files where tablespace_name='RBS';//表空间对应的数据文件
select * from dba_segments where tablespace_name='INDEXS';
3.数据库对象
- select*fromdba_objects;
- CLUSTER、DATABASELINK、FUNCTION、INDEX、LIBRARY、PACKAGE、PACKAGEBODY、PROCEDURE、SEQUENCE、SYNONYM、TABLE、TRIGGER、TYPE、UNDEFINED、VIEW。
select * from dba_objects;
CLUSTER、DATABASE LINK、FUNCTION、INDEX、LIBRARY、PACKAGE、PACKAGE BODY、PROCEDURE、SEQUENCE、SYNONYM、TABLE、TRIGGER、TYPE、UNDEFINED、VIEW。
4.表
- select*fromdba_tables;
-
selectextent_id,bytesfromdba_extentswheresegment_name='CUSTOMERS'andsegment_type='TABLE'orderbyextent_id;
-
selectdistincttable_namefromuser_tab_columnswherecolumn_name='SO_TYPE_ID';
select * from dba_tables;
select extent_id,bytes from dba_extents where segment_name='CUSTOMERS' and segment_type='TABLE' order by extent_id;//表使用的extent的信息。segment_type='ROLLBACK'查看回滚段的空间分配信息
select distinct table_name from user_tab_columns where column_name='SO_TYPE_ID';
5.索引
- select*fromdba_indexes;
-
select*fromdba_ind_columns;
- selecti.index_name,i.uniqueness,c.column_name
- fromuser_indexesi,user_ind_columnsc
- wherei.index_name=c.index_name
-
andi.table_name='ACC_NBR';
select * from dba_indexes;//索引,包括主键索引
select * from dba_ind_columns;//索引列
select i.index_name,i.uniqueness,c.column_name
from user_indexes i,user_ind_columns c
where i.index_name=c.index_name
and i.table_name ='ACC_NBR';//联接使用
6.序列
- select*fromdba_sequences;
select * from dba_sequences;
7.视图
- select*fromdba_views
- select*fromall_views
- text字段可用于查询视图生成的脚本
select * from dba_views
select * from all_views
text字段 可用于查询视图生成的脚本
8.聚簇
select * from dba_clusters
9.快照
select * from dba_snapshots
快照、分区应存在相应的表空间
10.同义词
select * from dba_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.数据库链
select * from dba_db_links
在spbase下建数据库链:
- createdatabaselinkdbl_spnew
-
connecttospnewidentifiedbyspnewusing'jhhx';
-
insertintoacc_nbr@dbl_spnewselect*fromacc_nbrwherenxx_nbr='237'andline_nbr='8888';
create database link dbl_spnew
connect to spnew identified by spnew using 'jhhx';
insert into acc_nbr@dbl_spnew select * from acc_nbr where nxx_nbr='237' and line_nbr='8888';
12.触发器
select * from dba_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来建立、修改、删除约束.
可以临时禁止约束,如:
- altertablebook_exampledisableconstraintbook_example_1;
- altertablebook_exampleenableconstraintbook_example_1;
alter table book_example disable constraint book_example_1;
alter table book_example enable constraint book_example_1;
(2)主键和外键被称为表约束,而not null和unique之类的约束被称为列约束。通常将主键和外键作为单独的命名约束放在字段列表下面,而列约束可放在列定义的同一行,这样更具有可读性
(3)列约束可从表定义看出,即describe;表约束即主键和外键,可从dba_constraints和dba_cons_columns 查。
- select*fromuser_constraintswheretable_name='BOOK_EXAMPLE';
-
selectowner,CONSTRAINT_NAME,TABLE_NAMEfromuser_constraintswhereconstraint_type='R'orderbytable_name;
select * from user_constraints where table_name='BOOK_EXAMPLE';
select owner,CONSTRAINT_NAME,TABLE_NAME from user_constraints where constraint_type='R' order by table_name;
(4)定义约束可以无名(系统自动生成约束名)和自己定义约束名(特别是主键、外键) 如:
- createtablebook_example(identifiernumbernotnull);
-
createtablebook_example(identifiernumberconstranitbook_example_1notnull);
create table book_example (identifier number not null);
create table book_example (identifier number constranit book_example_1 not null);
14、回滚段:
在所有的修改结果存入磁盘前,回滚段中保持恢复该事务所需的全部信息,必须以数据库发生的事务来相应确定其大小(DML语句才可回滚,create,drop,truncate等DDL不能回滚)。
回滚段数量=并发事务/4,但不能超过50;使每个回滚段大小足够处理一个完整的事务;
- createrollbacksegmentr05tablespacerbs;
- createrollbacksegmentrbs_cvttablespacerbsstorage(initial1Mnext500k);
create rollback segment r05 tablespace rbs;
create rollback segment rbs_cvt tablespace rbs storage(initial 1M next 500k);
使回滚段在线
- alterrollbacksegmentr04online;
alter rollback segment r04 online;
用dba_extents,v$rollback_segs监测回滚段的大小和动态增长。
回滚段的区间信息
- select*fromdba_extentswheresegment_type='ROLLBACK'andsegment_name='RB1';
select * from dba_extents where segment_type='ROLLBACK' and segment_name='RB1';
回滚段的段信息,其中bytes显示目前回滚段的字节数
- select*fromdba_segmentswheresegment_type='ROLLBACK'andsegment_name='RB1';
select * from dba_segments where segment_type='ROLLBACK' and segment_name='RB1';
为事物指定回归段
- settransactionuserollbacksegmentrbs_cvt
set transaction use rollback segment rbs_cvt
针对bytes可以使用回滚段回缩。
-
- alterrollbacksegmentrbs_cvtshrink;
-
selectbytes,extents,max_extentsfromdba_segmentswheresegment_type='ROLLBACK'andsegment_name='RBS_CVT';
alter rollback segment rbs_cvt shrink;
select bytes,extents,max_extents from dba_segments where segment_type='ROLLBACK' and segment_name='RBS_CVT';
回滚段的当前状态信息:
- select*fromdba_rollback_segswheresegment_name='RB1';
select * from dba_rollback_segs where segment_name='RB1';
比多回滚段状态status,回滚段所属实例instance_num
查优化值optimal
- selectn.name,s.optsizefromv$rollnamen,v$rollstatswheren.usn=s.usn;
select n.name,s.optsize from v$rollname n,v$rollstat s where n.usn=s.usn;
回滚段中的数据
- settransactionuserollbacksegmentrb1;
- selectn.name,s.writesfromv$rollnamen,v$rollstatswheren.usn=s.usn;
set transaction use rollback segment rb1;/*回滚段名*/
select n.name,s.writes from v$rollname n,v$rollstat s where n.usn=s.usn;
当事务处理完毕,再次查询$rollstat,比较writes(回滚段条目字节数)差值,可确定事务的大小。
查询回滚段中的事务
- columnrrheading'RBSegment'formata18
-
columnusheading'Username'formata15
-
columnosheading'OsUser'formata10
-
columnteheading'Terminal'formata10
-
selectr.namerr,nvl(s.username,'notransaction')us,s.osuseros,s.terminaltefromv$lockl,v$sessions,v$rollnamer
- wherel.sid=s.sid(+)
-
andtrunc(l.id1/65536)=R.USNandl.type='TX'andl.lmode=6orderbyr.name;
column rr heading 'RB Segment' format a18
column us heading 'Username' format a15
column os heading 'Os User' format a10
column te heading 'Terminal' format a10
select r.name rr,nvl(s.username,'no transaction') us,s.osuser os,s.terminal te from v$lock l,v$session s,v$rollname r
where l.sid=s.sid(+)
and trunc(l.id1/65536)=R.USN and l.type='TX' and l.lmode=6 order by r.name;
15、作业
查询作业信息
- selectjob,broken,next_date,interval,whatfromuser_jobs;
- selectjob,broken,next_date,interval,whatfromdba_jobs;
select job,broken,next_date,interval,what from user_jobs;
select job,broken,next_date,interval,what from dba_jobs;
查询正在运行的作业
- select*fromdba_jobs_running;
select * from dba_jobs_running;
使用包
- execdbms_job.submit(:v_num,'a;',sysdate,'sysdate+(10/(24*60*60))')加入作业。间隔10秒钟
-
execdbms_job.submit(:v_num,'a;',sysdate,'sysdate+(11/(24*60))')加入作业。间隔11分钟使用包execdbms_job.remove(21)删除21号作业。
exec dbms_job.submit(:v_num,'a;',sysdate,'sysdate + (10/(24*60*60))')加入作业。间隔10秒钟
exec dbms_job.submit(:v_num,'a;',sysdate,'sysdate + (11/(24*60))')加入作业。间隔11分钟使用包exec dbms_job.remove(21)删除21号作业。
16.批注:
ALL_COL_COMMENTS
分享到:
相关推荐
oracle 系统表大全oracle 系统表大全oracle 系统表大全oracle 系统表大全
"Oracle 系统表大全" Oracle 系统表大全是 Oracle 数据库管理系统中的一组系统表,用于存储数据库的元数据信息。这些表提供了关于数据库对象、用户、表空间、表、索引、视图、序列、聚簇、快照、同义词、数据库链和...
oracle系统表大全,取得指定用户的所有表名,取得指定用户的所有视图名称
Oracle 系统表大全 Oracle 系统表大全是 Oracle 数据库中的一组系统表,用于存储数据库的元数据信息。这些系统表是 Oracle 数据库的核心组件,用于管理数据库的结构、安全、性能等方面。 用户管理 在 Oracle ...
oracle数据库dba表大全,实现dba管理的第一步
用于Oracle建系统表,如s_emp等
"Oracle系统表汇总" Oracle系统表是Oracle数据库管理系统中的一种重要组成部分,负责存储数据库对象的元数据信息。系统表是Oracle数据库管理系统的基础组件,提供了对数据库对象的描述、管理和维护。 用户管理 在...
Oracle 常用系统权限 Oracle 系统权限是 Oracle 数据库中的一种安全机制,用于控制用户对数据库对象的访问权限。了解这些权限对于开发人员来说非常重要,因为它们可以帮助开发人员更好地控制数据库的安全性和访问...
### Oracle常用命令详解 #### 一、Oracle的启动与关闭 **1. 在单机环境下的启动与关闭** - **启动Oracle系统** - **切换用户:** 首先需要切换到Oracle用户环境。 ```bash su - oracle ``` - **使用`svrmgrl`...
Oracle常用查看表结构命令 获取表: select table_name from user_tables; //当前用户的表 select table_name from all_tables; //所有用户的表 select table_name from dba_tables; //包括系统表 select ...
Oracle 多表查询优化是指在 Oracle 数据库管理系统中,为了提高多表查询的效率和性能采取的一些优化策略和技术。在 Oracle 中,多表查询是指从多个表中检索数据的操作。这种操作可能会占用大量的系统资源和时间,...
大型ERP系统上之前的ORACLE系统表空间间规划
Oracle数据库是全球广泛使用的大型关系型数据库管理系统,它在企业级数据...以上是对Oracle常用操作的概述,实践中可能涉及更多细节和特定场景的应用。熟练掌握这些操作将有助于提高Oracle数据库管理的效率和可靠性。
本文档将详细介绍 Oracle 11g 中常用的系统表,并解释每张系统表的功能、字段等信息。 1. DBA 系统表 DBA 系统表是 Oracle 数据库管理系统的主要组件,提供了数据库的基本信息。常用的 DBA 系统表包括: * DBA_...
以下是一些关于Oracle常用命令的详细说明,分为日志管理和表空间管理两大部分。 ### 日志管理 #### 1. 强制日志切换 ```sql alter system switch logfile; ``` 这个命令用于在当前重做日志文件填满前强制进行日志...
本资料集包含了Oracle数据库中常用SQL语句的大全,注释完整,非常适合初学者和有经验的开发者参考使用。 1. **数据查询(SELECT语句)**: - `SELECT * FROM table_name;`:查询表table_name中的所有列。 - `...
### 利用Oracle系统触发器防止误删除表操作 #### 背景介绍 在企业级应用中,数据库的安全性和稳定性至关重要。Oracle作为一款广泛使用的数据库管理系统,提供了丰富的功能来保障数据安全。其中,系统触发器是Oracle...
数据字典是Oracle维护的一系列系统表和视图,包含了关于数据库、用户、对象和权限的信息。例如,`dictionary`表提供了所有数据字典表的概览,而`dict_columns`则列出了数据字典表的所有字段及其描述。用户可以通过...
"oracle脚本-oracle常用表及数据"这个资源显然是为了帮助初学者或开发者熟悉Oracle数据库操作和常见用例而准备的。以下是对这个主题的详细解读: 1. **Oracle数据库基础知识**:Oracle数据库是一个基于SQL的数据库...
这篇博客主要聚焦于Oracle的常用系统视图以及数据导入导出的相关操作,这对于数据库管理员和开发人员来说非常重要。 首先,我们来看“0001-Oracle-系统-视图.sql”。这个文件很可能包含了创建和查询Oracle系统视图...