`
BBjava
  • 浏览: 126411 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

ORACLE系统表处理

阅读更多
本文来自:http://shadamu.blogbus.com/logs/52351373.html1.取得指定用户的所有表名:

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; 

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.取得指定用户的所有视图名称:

SELECT OWNER  AS "对象所有者",VIEW_NAME AS "视图名称" from DBA_VIEWS  where owner = 'RAXNYB'  ORDER BY OWNER,VIEW_NAME; 

SELECT OWNER  AS "对象所有者",VIEW_NAME AS "视图名称" from DBA_VIEWS  where owner = 'RAXNYB'  ORDER BY OWNER,VIEW_NAME;


oracle系统表查询

1.用户:

select username from dba_users; 

select username from dba_users;

改口令

alter user spgroup identified by spgtest;  

alter user spgroup identified by spgtest;


2.表空间:

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';  

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 * from dba_objects;   
 
CLUSTER、DATABASE LINK、FUNCTION、INDEX、LIBRARY、PACKAGE、PACKAGE BODY、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 * 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';  

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 * 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';//联接使用 

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 * from dba_sequences; 

select * from dba_sequences;

7.视图

select * from dba_views  
select * from all_views  
text字段 可用于查询视图生成的脚本 

select * from dba_views
select * from all_views
text字段 可用于查询视图生成的脚本


8.聚簇

select * from dba_clusters 

select * from dba_clusters

9.快照

select * from dba_snapshots 

select * from dba_snapshots
快照、分区应存在相应的表空间

10.同义词

select * from dba_synonyms 

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 

select * from dba_db_links
在spbase下建数据库链:

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';  

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; 

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来建立、修改、删除约束.
  可以临时禁止约束,如:

alter table book_example disable constraint book_example_1;  
alter table book_example enable constraint book_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 * 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;  

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)定义约束可以无名(系统自动生成约束名)和自己定义约束名(特别是主键、外键) 如:

create table book_example (identifier number not null);   
create table book_example (identifier number constranit book_example_1 not null);  

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;使每个回滚段大小足够处理一个完整的事务;

create rollback segment r05  tablespace rbs;   
create rollback segment rbs_cvt tablespace rbs storage(initial 1M next 500k); 

create rollback segment r05  tablespace rbs;
create rollback segment rbs_cvt tablespace rbs storage(initial 1M next 500k);


使回滚段在线

alter rollback segment r04 online; 

alter rollback segment r04 online;

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

回滚段的区间信息

select * from dba_extents where segment_type='ROLLBACK' and segment_name='RB1';  

select * from dba_extents where segment_type='ROLLBACK' and segment_name='RB1';


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

select * from dba_segments where segment_type='ROLLBACK' and segment_name='RB1';  

select * from dba_segments where segment_type='ROLLBACK' and segment_name='RB1';


为事物指定回归段

set transaction use rollback segment rbs_cvt  

set transaction use rollback segment rbs_cvt


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

   
alter rollback segment rbs_cvt shrink;  
select bytes,extents,max_extents from dba_segments where segment_type='ROLLBACK' and segment_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 * from dba_rollback_segs where segment_name='RB1'; 

select * from dba_rollback_segs where segment_name='RB1';

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

select n.name,s.optsize from v$rollname n,v$rollstat s where n.usn=s.usn;  

select n.name,s.optsize from v$rollname n,v$rollstat s where n.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;  

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(回滚段条目字节数)差值,可确定事务的大小。
查询回滚段中的事务

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; 

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、作业
  查询作业信息

select job,broken,next_date,interval,what from user_jobs;   
select job,broken,next_date,interval,what from dba_jobs; 

select job,broken,next_date,interval,what from user_jobs;
select job,broken,next_date,interval,what from dba_jobs;

查询正在运行的作业

select * from dba_jobs_running; 

select * from dba_jobs_running;

使用包

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号作业。 

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系统表汇总.docx

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

    Oracle 多表查询优化

    Oracle 的解析器按照从右到左的顺序处理 FROM 子句中的表名,因此 FROM 子句中写在最后的表(基础表)将被最先处理。在 FROM 子句中包含多个表的情况下,需要选择记录条数最少的表作为基础表。 2. 使用绑定变量 ...

    Oracle Parallel 并行处理

    Oracle并行处理是Oracle企业版提供的一项强大功能,它允许将SQL语句的处理任务分配给多个处理器或处理器核心以及多个磁盘设备,从而充分利用现代多核处理器和分布式存储系统的能力。在多核架构和多磁盘设备环境下,...

    oracle脚本-oracle常用表及数据

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

    Oracle的Temp表空间和UNDO表空间的处理

    通过以上介绍可以看出,在Oracle数据库中,正确管理和优化Temp表空间和UNDO表空间是非常重要的,尤其是对于那些执行大量排序、分组操作以及频繁进行事务处理的应用系统来说。合理利用Resize调整大小、替换原有表空间...

    oracle表结构生成工具

    标签中的“.net oracle excel 表结构生成”揭示了该工具涉及的关键技术:.NET用于编程,Oracle是目标数据库系统,而Excel作为数据输入和管理的工具。通过整合这些技术,用户可以享受到无缝的集成体验,从数据设计到...

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

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

    Oracle锁表处理,Oracle表解锁

    此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。Oracle对于“死锁”采取的策略是回滚其中一个事务,让另外一个事务顺利进行。 对于锁死的会话,我们可以直接删掉该会话,等事物...

    oracle导入时表空间不一致解决方法

    在进行Oracle数据迁移时,源系统与目标系统的表空间可能存在差异,这会导致在执行`imp`命令时出现错误提示,如“ORA-01546: object in wrong tablespace”。为了解决这一问题,我们需要采取一系列步骤来调整表空间...

    oracle动态链接表

    * V$PROCESS 表提供了当前系统 Oracle 运行的所有进程信息,包括进程 ID、父进程 ID、进程状态等。 * 该表可以帮助 DBA 了解当前系统 Oracle 运行的所有进程信息。 11. v$lock 表:列出 Oracle 服务器当前拥有的...

    oracle11g系统结构说明

    无论是从内存结构还是存储结构来看,Oracle 11g都采用了高度模块化的设计理念,这使得系统能够高效地管理和处理大量的数据。对于学习和使用Oracle 11g的人来说,理解其系统结构是非常重要的基础之一。

    oracle数据库导出表结构到WORD文档

    Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的功能来管理和操作数据。在开发、文档编写或分享数据库设计时,有时我们需要将Oracle表结构导出到更便于阅读和分享的格式,比如Microsoft Word文档。...

    oracle财务系统培训手册

    Oracle财务系统是一款广泛应用于大型企业和组织的综合财务管理解决方案,它由多个模块组成,如总账(General Ledger, GL)和应付账款(Accounts Payable, AP)。本培训手册旨在帮助用户理解和掌握Oracle财务系统的...

    ORACLE培训系统概述

    在系统概述中,我们了解到Oracle公司从1986年的版本5开始引入了分布式数据库处理功能,随后的版本6增加了事务处理选项(TPO),显著提升了事务处理速度。1992年的Oracle7是里程碑式的产品,它引入了过程数据库选项和...

    DBF数据导入oracle表处理方法

    "DBF数据导入oracle表处理方法" DBF 数据关联 Oracle 数据处理方法是指将 DBF 文件导入到 Oracle 表中的过程。为了实现这个过程,需要正确创建 DBF 的 ODBC 数据源,然后使用 PL/SQL 导入 DBF 文件。 创建 DBF 的...

    SqlServer表结构转oracle表结构

    在数据库管理领域,将SQL Server的表结构转换到Oracle数据库是一项常见的需求,特别是在系统迁移或数据整合的过程中。本文将详细探讨如何实现这一过程,并提供C#开发源码的相关信息。 首先,我们需要理解SQL Server...

    Oracle的增量数据处理方案

    Oracle CDC(Change Data Capture)是一种数据增量处理技术,在构建数据仓库系统的 ETL 过程中,增量数据的抽取是一个非常关键的环节。CDC 能够帮助识别从上次提取之后发生变化的数据,并将变化的数据保存在数据库的...

    Oracle数据库表生成C#实体类

    Oracle数据库是世界上最流行的数据库管理系统之一,它被广泛用于企业级数据存储和管理。在开发基于.NET框架的应用程序,特别是使用C#语言时,通常需要将数据库中的表结构映射到C#对象,这些对象被称为实体类。这有助...

    Oracle用户(user)和表空间(tablespace).pdf

    Oracle 数据库是一个强大的关系型数据库管理系统,其用户管理和表空间机制是数据库管理和操作的基础。本文主要探讨了 Oracle 用户(user)和表空间(tablespace)的相关概念、创建、配置、修改以及删除等核心操作,...

Global site tag (gtag.js) - Google Analytics