Oracle系统表查询

Oracle系统表查询

select 1  from dba_tables t WHERE  t.table_name = 'TBL_SWIFTS_OPER_INFO' and t.tablespace_name='USERS';

数据字典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

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

Read more

深入理解 Proxy 和 Object.defineProperty

在JavaScript中,对象是一种核心的数据结构,而对对象的操作也是开发中经常遇到的任务。在这个过程中,我们经常会使用到两个重要的特性:Proxy和Object.defineProperty。这两者都允许我们在对象上进行拦截和自定义操作,但它们在实现方式、应用场景和灵活性等方面存在一些显著的区别。本文将深入比较Proxy和Object.defineProperty,包括它们的基本概念、使用示例以及适用场景,以帮助读者更好地理解和运用这两个特性。 1. Object.defineProperty 1.1 基本概念 Object.defineProperty 是 ECMAScript 5 引入的一个方法,用于直接在对象上定义新属性或修改已有属性。它的基本语法如下: javascript 代码解读复制代码Object.defineProperty(obj, prop, descriptor); 其中,obj是目标对象,prop是要定义或修改的属性名,descriptor是一个描述符对象,用于定义属性的特性。 1.2 使用示例 javascript 代码解读复制代码//

By Ne0inhk

Proxy 和 Object.defineProperty 的区别

Proxy 和 Object.defineProperty 是 JavaScript 中两个不同的特性,它们的作用也不完全相同。 Object.defineProperty 允许你在一个对象上定义一个新属性或者修改一个已有属性。通过这个方法你可以精确地定义属性的特征,比如它是否可写、可枚举、可配置等。该方法的使用场景通常是需要在一个对象上创建一个属性,然后控制这个属性的行为。 Proxy 也可以用来代理一个对象,但是相比于 Object.defineProperty,它提供了更加强大的功能。使用 Proxy 可以截获并重定义对象的基本操作,比如访问属性、赋值、函数调用等等。在这些操作被执行之前,可以通过拦截器函数对这些操作进行拦截和修改。因此,通过 Proxy,你可以完全重写一个对象的默认行为。该方法的使用场景通常是需要对一个对象的行为进行定制化,或者需要在对象上添加额外的功能。 对比 以下是 Proxy 和 Object.defineProperty 的一些区别对比: 方面ProxyObject.defineProperty语法使用 new Proxy(target,

By Ne0inhk