oracle数据如何检核 oracle数据查重

如何检查oracle数据库性能

oracle的性能判断需要综合数据库的多个运行指标来判断:

创新互联公司自2013年创立以来,先为西工等服务建站,西工等地企业,进行企业商务咨询服务。为西工企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

1、进程数量和占用cpu:这个主要看有没有长时间占用cpu的进行。通常会判断大出sql,需要优化;这个可以用执行计划或者awr报告查看;

2、内存占用:主要用系统命令查看ora_占用和系统总内存的比例,swap的使用率;通常swap使用率低就没事;这个主要使用系统命令;

3、磁盘占用率:防止磁盘空间不足,需要的主要在系统和用户表空间、RMAN等操作上;这个主要使用系统命令;RMAN命令查看

Oracle数据库中的数据完整性如何实现?

Oracle数据库的完整性有三个:实体完整性、参考完整性和自定义完整性。它的实现是通过5五个约束来完成的。五个约束如下:

主键 primary key

非空 not null

唯一 unique

检查 check

外键 foreign key

oracle数据库实现全文检索

Oracle全文检索配置方法:

1.检查数据库是否具有全文检索功能(这是针对已经建成使用的数据库)

查看用户中是否存在ctxsys用户,查询角色里是否存在ctxapp角色。以上两个中的1个不满足(不存在),则说明没有装过全文检索功能。

使用contains函数的时候,若没有全文检索则会报错的。

2.若没有,则需要手动建立,先建立全文检索要使用的空间

sqlplus / as sysdba  --进入控制台

create tablespace Idx_ctxsys datafile '/oradata/sg186fx/ctxsys01.dbf size 10240M autoextend on next 32M maxsize 20480M;--创建全文检索使用的表空间

3.创建全文检索使用的用户和角色及相应的包,则需要执行oracle自带的一个脚本:cd $ORACLE_HOME/ctx/admin/catctx.sql

还是在sqlplus中执行:

@?/ctx/admin/catctx.sql ctxsys Idx_ctxsys temp nolock

在执行这个脚本的时候,输入了几个参数,第一个参数ctxsys为ctxsys用户的密码

第二个参数Idx_ctxsys为ctxsys用户要使用的表空间

第三个参数temp为ctxsys用户使用的临时表空间

第四个参数nolock为ctxsys用户处于解锁状态。

4.创建完成后,要登录ctxsys用户

connect ctxsys/ctxsys

执行以下脚本:@?/ctx/admin/defaults/drdefus.sql(这是个很重要的脚本,后面创建索引会使用该脚本创建的信息)

5.创建全文索引语法分析器

先要明确使用全文索引的用户,我要使用全文索引的是sgpm用户

因此

grant execute on ctxsys.ctx_ddl to sgpm with grant option;

connect sgpm/sgpm

设置语法分析器:

exec ctx_ddl.drop_preference('chinalexer');

exec ctx_ddl.create_preference('chinalexer','chinese_lexer');

设置词法属性:

exec ctx_ddl.drop_preference('idx_c_store');

begin

ctx_ddl.create_preference('idx_c_store','BASIC_STORAGE');

ctx_ddl.set_attribut('idx_c_store','I_TABLE_CLAUSE','tablespaces  Idx_ctxsy');

ctx_ddl.set_attribute('idx_c_store','I_INDEX_CLAUSE','tablespace  Idx_ctxsy compress 2');

end;

/

6.创建索引

create index sgpm.idx_c_cons_name on sgpm.c_cons(cons_name) indextype is ctxsys.context parameters('lexer chinalexer storage idx_c_store');

7.同步索引

variable jobno number;

begin

dbms_job.submit(:jobno,'pkg_sp_tools.p_cont_sys_index();',sysdate,'trunc(sysdate)+19/24+1');  --执行的是个性化方法。

end;

/

普通的就是用:

exec ctx_ddl.sync_index('idx_c_cons_name');

到此,全文检索创建成功,contains函数就可以正常使用了。

注意:创建的过程中会出现ORA-29879:cannot create multiple domain index on a column listusing same indextype ,这说明在其他用户下已经建立了该索引。

如何审计Oracle数据库中表操作

1 、如何启用审计?

修改数据库的初始化参数audit_trail ,从none 修改为你需要的值。

它的可选项有很多,如下所示:

AUDIT_TRAIL = { none | os | db | db,extended | xml | xml,extended }

我们选择db 值作为该参数值。使得审计功能处于打开状态,将审计记录保存在数据库sys.aud$表中。

修改初始化参数文件spfile 中的此参数配置值

ALTER SYSTEM SET audit_trail=db SCOPE=SPFILE sid='*';

注意,这个参数需要数据库实例重启之后才能生效。

2 、审计有哪些功能

可以审计数据库对象的DML 和DDL 操作,以及查询、执行和一些系统事件如登录和退出。

如下所示:

DDL (CREATE, ALTER DROP of objects)

DML (INSERT UPDATE, DELETE)

SELECT

EXECUTE

SYSTEM EVENTS (LOGON, LOGOFF etc)

每个功能还有选项,如在每个会话还是每个访问中审计,是成功或不成功时审计。

完整的audit 的语法如下:

AUDIT

{ sql_statement_clause | schema_object_clause | NETWORK }

[ BY { SESSION | ACCESS } ]

[ WHENEVER [ NOT ] SUCCESSFUL ] ;

3 、如何审计某表的数据插入操作

现在的问题是找出什么应用向表插入了记录。在应用程序的逻辑上,这个表的数据只会更新,不会插入。

因此,在审计功能打开后,使用这个下列命令审计某表的插入操作。

audit insert on table_name by access;

执行成功后,此表上每一次插入操作都会被记录在sys.aud$ 表中。

4 、如何查看审计结果

可以查询dba_audit_trail 系统视图,该视图显示就是sys.aud$ 表保存的审计结果。这个表的存储空间是system ,如果你需要大量长期审计某些操作,请注意维护这张表。

一般维护方法有两个,定期执行truncate 操作和将表的存储表空间移植到一个新建的独立表空间上。

5 、如何取消审计

使用noaudit 代替audit 命令符就可, 如noaudit insert on table_name by access;

oracle检查数据库是否有坏块的命令

oracle检测坏块的方式:

1、利用oracle的RMAN工具

2、利用dbv工具检测

3、利用 exp/imp工具检测

其中2、3的方式无法彻底检测所有坏块,所以重点介绍下RMAN方式

RMANbackup check logical validate datafile n ;

可以检查数据文件是否包含坏块,同时并不产生实际的备份输出。

而且当使用Recovery Manager进行实际的数据库备份时,同时也就进行了坏块

检查。但要注意的是,在线使用Recovery Manager扫描坏块和备份时,需要数

据库运行在归档模式(archive log),否则只能在数据库未打开的情况下进行。


文章标题:oracle数据如何检核 oracle数据查重
地址分享:http://myzitong.com/article/hjijdd.html