设为首页 收藏本站
查看: 1237|回复: 0

[经验分享] oracle系统表的查询字典

[复制链接]

尚未签到

发表于 2016-7-31 14:18:10 | 显示全部楼层 |阅读模式
数据字典dict总是属于Oracle用户sys的。
1、用户:
 select username from dba_users;
改口令
 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';
3、数据库对象:
 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;
 analyze my_table compute statistics;->dba_tables后6列
 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';//联接使用
6、序列:
 select * from dba_sequences;
7、视图:
 select * from dba_views;
 select * from all_views;
text 可用于查询视图生成的脚本
8、聚簇:
 select * from dba_clusters;
9、快照:
 select * from dba_snapshots;
快照、分区应存在相应的表空间。
10、同义词:
 select * from dba_synonyms
where table_owner='SPGROUP';
//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下建数据库链
 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来建立、修改、删除约束。
可以临时禁止约束,如:
 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;
(4)定义约束可以无名(系统自动生成约束名)和自己定义约束名(特别是主键、外键)
如: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);
使回滚段在线
 alter rollback segment r04 online;
用dba_extents,v$rollback_segs监测回滚段的大小和动态增长。
回滚段的区间信息
 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';
为事物指定回归段
 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';
回滚段的当前状态信息:
 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;
回滚段中的数据
 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;
15、作业
查询作业信息
 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;
使用包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号作业

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-251510-1-1.html 上篇帖子: Oracle的rollup、cube、grouping sets函数 下篇帖子: Oracle中over函数的使用示例
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表