ORACLE 9I DATAGUARD实施和维护总结
ORACLE 9I DATAGUARD实施和维护总结[@more@]1、DATAGUARD原理 STANDBY一旦创建,DATAGUARD就会通过将主数据库的REDO传递给STANDBY数据库,然后在STANDBY中应用REDO实现数据库的同步。 有两种类型的STANDBY:物理STANDBY和逻辑STANDBY物理STANDBY提供与主数据库完全一样的拷贝(块到块),数据库SCHEMA,包括索引都是一样的。它是直接应用REDO实现同步的。 逻辑STANDBY则不是这样,在逻辑STANDBY中,逻辑信息是相同的,但物理组织和数据结构可以不同,它和主库保持同步的方法是将接收的REDO转换成SQL语句,然后在STANDBY上执行
用rsync实现网站镜像和备份(ZT)
公司新来一台SERVER,要将IBM X3250的应用全部搬到IBM X3550上,在网上查到可以用rsync来实现镜像和备份,正好用得到,特转载过来。我的用命令是:rsync -avz --backup --backup-dir=/backup --exclude=client root@172.17.61.28:/home/ /homersync -avz --backup --backup-dir=/home/backup root@172.17.61.28:/home/ /home[@more@]用rsync实现网站镜像和备份简介对于选择Linux 作为应用平台的的中小型企业或网站来说,往往面临如何实现数据远程备份或者网站镜象的问题,虽然有商业化的备份和镜象产品可供选择,但这些产品的价格往往过于
表碎片的相关知识(ZT)
表碎片的相关知识所有的Oracle段(segments,在此,为了理解方便,建议把segment作为表的一个同义词) 都有一个在段内容纳数据的上限,我们把这个上限称为“high water mark”或HWM。这个HWM是一个标记,用来说明已经有多少没有使用的数据块分配给这个segment。HWM通常增长的幅度为一次5个数据块,原则上HWM只会增大,不会缩小,即使将表中的数据全部删除,HWM还是为原值,由于这个特点,使HWM很象一个水库的历史最高水位,这也就是HWM的原始含义,当然不能说一个水库没水了,就说该水库的历史最高水位为0。但是如果我们在表上使用了truncat
强烈推荐:ORACLE学习笔记--性能优化(ZT)
在IXDBA看到的很不错的记录,特转载过来,以后要常来看看!包括:1. 查询正在执行语句的执行计划(也就是实际语句执行计划)2.如何设置自动跟踪3.如何跟踪自己的会话或者是别人的会话4.怎么设置整个数据库系统跟踪5.怎么样根据OS进程快速获得DB进程信息与正在执行的语句 6.怎么样快速重整索引7.如何使用Hint提示8.怎么样快速复制表或者是插入数据10.Oracle什么时候会使用跳跃式索引扫描11.怎么样创建使用虚拟索引 12.怎样监控无用的索引13.怎么样能固定我的执行计划14.v$sysstat中的class分别代表什么15.怎么杀掉特定的数据库会话
RMAN基于备份控制文件恢复失败
我做了个RMAN基于备份控制文件恢复的测试,但最后datafile显示MISSING00006不知是何原因,下面是测试步骤,请帮忙看看/--先建立一个表空间,后面删除并恢复它SQL> create tablespace eric 2 d...
NOARCHIVE模式CREATE TABLE不记录日志呀
看THOMAS的书上说NOARCHIVE模式CREATE TABLE不记录日志,那么如果create table XXX as select * From all_objects后,数据文件损坏,在恢复时怎么找到此TABLE的?
ASMM自动管理的功能
Automatic Shared Memory Management(ASMM)是ORACLE10g另外一个自动管理的功能。[@more@]Automatic Shared Memory Management(ASMM)是ORACLE10g另外一个自动管理的功能。只需指定SGA_TARGET参数(SAG的总大小),数据库将会根据负载和历史信息来自动分配SAG的每个组件。启用ASSM需将STATISTICS_LEVEL参数设为TYPICAL或ALL,并且SGA_TARGET参数为非0.ASSM自动分配以下SGA组件:--DB_CACHE_SIZE--SHARED_POOL_SIZE--LARGE_POOL_SIZE--JAVE_POOL_SIZE以下的组件还需要手动来管理--LOG_BUFFER--DB_KEEP_CACHE_SIZE,DB_RECYCLE_CACHE_SIZE,DB_nK_CA
exec dbms_stats.FLUSH_DATABASE_MONITORING_INFO;
exec dbms_stats.FLUSH_DATABASE_MONITORING_INFO;[@more@]使用命令:exec dbms_stats.FLUSH_DATABASE_MONITORING_INFO;For performance reasons, the Oracle Database does not populate these views immediately when the actual modifications occur. Run the FLUSH_DATABASE_MONITORING_INFO procedure in the DIMS_STATS PL/SQL package to populate these views with the latest information.每15分钟,smon会刷新统计结果到数据字典中,oracle使用这些表的数据去判断表的统计数据是否过期,如果当表的数据改变超过10%,oracle就认为该表
细粒度审计 (FGA)
细粒度审计 (FGA)[@more@]Oracle9i Database 推出了一种称为细粒度审计 (FGA) 的新特性,可以审计所有DML语句例示:1.用sys帐号建立用户并赋权限SQL>grant connect,resource to bank identified by bank;2.登入bank帐号建立accounts表create table accounts(acct_no number not null,cust_id number not null,balance number(15,2));3.用sys帐号建立审计规则begindbms_fga.add_policy (object_schema=>'BANK',object_name=>'ACCOUNTS',policy_name=>'ACCOUNTS_ACCESS' );end;4.bank帐号查询accounts表select * from bank.acco
SQLLDR的一个笔记
将.xls文件用制表符分隔形式保存为C:INTERVIEW.txt建立c:input.ctl如下:load datainfile 'C:INTERVIEW.txt'append into table INTERVIEW_TMPfields terminated by X'09' TRAILING NULLCOLS(NAME,CELL_PHONE,HOME_PHONE,ADDRESS,BACHELOR)c:>SQLLDR USERID=OFFICE/OFFICE@QH106 CONTROL=C:INPUT.CTL LOG=C:INTERVIEW.LOG[@more@]将.xls文件用制表符分隔形式保存为C:INTERVIEW.txt建立c:input.ctl如下:load datainfile 'C:INTERVIEW.txt'append into table INTERVIEW_TMPfields terminated by X'09' TRAILING NULLCOLS(NAME,CELL_PHONE
用impdp同步用户资料
将来如需将正式数据库的资料往测试资料去导数据,或同步数据在目的端:SYS>CREATE OR REPLACE DIRECTORY datadump_file AS 'C:oracleproduct10.2.0oradatalocal10dpdump';SYS>grant READ, WRITE ON DIRECTORY datadump_file to system;SYSTEM>create database link "DB107_PBR" connect to PBR identified by "pbr" using 'ORCL_107';在远程端:SYS>grant exp_full_database to pbr;(这点有点疑惑)在目的端:C:>impdp system/sys schemas=pbr network_link=db107_pbr directory=datadump_filerem
发现一个好的ORACLE学习网站
http://www.psoug.org/library.html 资料蛮多,以后要常进去学习学习几乎所有的DBMS包都有使用的例子,比较容易理解[@more@]
Oracle DBMS_APPLICATION_INFO 用法例子(ZT)
Application developers can use the DBMS_APPLICATION_INFO package with Oracle Trace and the SQL trace facility to record names of executing modules or transactions in the database for later use when tracking the performance of various modules and debugging.When an application registers with the database, its name and actions are recorded in the V$SESSION and V$SQLAREA views.[@more@]Oracle DBMS_APPLICATION_INFO 用法例子from:http://www.psoug.org/reference/dbms_applic_info.htmlGeneral InformationSo
Oracle 10g同字节序跨平台迁移的测试
在oracle10gR2中,oracle开始支持同字节序数据库的跨平台迁移,下面将linux下的数据库迁移到windows。[@more@]Oracle 10g同字节序跨平台迁移的测试在oracle10gR2中,oracle开始支持同字节序数据库的跨平台迁移,下面将linux下的数据库迁移到windows。这一技术实现有以下几点注意事项:1、 源平台和目标平台需要具有相同的字节序2、 重做日志文件和控制文件不会传输,迁移之后需要重建控制文件使用resetlogs的方式打开数据库3、 临时文件不会被传输4、 BFILE、外部表和Directories、口令文件不会被传输1,确认平台及版本,看到源平台和
可传输表空间
按照eygle的书,试着在本地两台虚拟机上进行传输表空间的测试,下面是测试步骤:[@more@]在DB130上先建两个tablespace,分别存放data与index.SQL> create tablespace eric_data 2 datafile '/oracle/oradata/orcl/eric_data01.dbf' size 50m;Tablespace created.SQL> create tablespace eric_indx 2 datafile '/oracle/oradata/orcl/eric_indx01.dbf' size 10m;Tablespace created.建立测试前的用户及table,indexSQL> grant connect,resource to eric identified by eric;Grant succeeded.SQL> alter user eric default table
oracle 10g flashback database
oracle 10g flashback database[@more@]flashback database是10g推出的一个重大改进,它可以让我们不用做不完全恢复的情况下把数据库"回滚"到过去的某一个时间点。你可以在创建数据库时设定flashback database,如果当时没有设置,可以按下面的步骤进行设置:1、设置flashback--首先要把数据库置于归档模式在pfile中增加以下参数,重启数据库log_archive_max_processes=3log_archive_dest_1='location=D:oracleproduct10.2.0oradataorclarchived'log_archive_format="%T%S%r.ARC"SQL> conn / as sysdba已连接到空闲
用flashback恢复存储过程(ZT)
用flashback恢复存储过程[@more@]今天一个朋友问我,删除了一个存储过程是否可以恢复,想了想,恢复存储过程就相当于找到删除过程前SOURCE$表的数据,可以用flashback功能恢复。下面的测试过程。首先建立存储过程:SQL> create or replace procedure p_test is2 begin3 null;4 end p_test;5 /Procedure createdSQL> col sysdate format a20SQL> select sysdate from dual;SYSDATE--------------------2007-7-10 23:50:32SQL> drop procedure p_test;Procedure dropped要恢复存储过程首先需要知道该过程在删除前对应的OBJECT_I
Linux下VNC远程控制的使用方法
最近研究了一下Linux下VNC远程控制的使用方法 ,在网上找到这篇文章,还是蛮用有的,转贴上来以便后用。[@more@]Linux下VNC远程控制的使用方法『VNC简介』网络遥控技术是指由一部计算机(主控端)去控制另一部计算机(被控端),而且当主控端在控制端时,就如同用户亲自坐在被控端前操作一样,可以执行被控端的应用程序,及使用被控端的系统资源。VNC(Virtual Network Computing)是一套由AT&T实验室所开发的可操控远程的计算机的软件,其采用了GPL授权条款,任何人都可免费取得该软件。VNC软件主要由两个部分组成:VNC server及VNC
跟踪数据库的命令:event 10046等的设置(ZT)
以下是事件的有效trace级别: Level 0 tracing被关闭。这相当于设置sql_trace=false。 Level 1 标准SQL trace信息(SQL_TRACE=TRUE)。这是默认级别。 Level 4 SQL trace信息加绑定变量值。 Level 8 SQL trace信息加等待事件信息。 Level 12 SQL trace 信息,等待事件信息,和绑定变量值。[@more@]以下是事件的有效trace级别: Level 0 tracing被关闭。这相当于设置sql_trace=false。 Level 1 标准SQL trace信息(SQL_TRACE=TRUE)。这是默认级别。 Level 4 SQL trace信
简单探讨一下10G下柱状图和执行计划
1、对数据分布不均的情况下柱状图是很有效的2、对数据分布不均匀的情况下,使用绑定变量可能会造成恶果,就算对表做了柱状图也一样3、使用绑定变量,sql第一次执行决定了以后同样的sql执行的执行计划4、AUTOTRACE的信息不一定准确,必要时要用10046查看需要的信息 [@more@]简单探讨一下10G下柱状图和执行计划不绑定变量的情况:SQL> conn / as sysdba已连接。SQL> create table th as2 select * From dba_objects;表已创建。SQL> update th set owner='SYS' where owner<>'SCOTT';已更新49870行。SQL> create index idx