oracle v$sysstat性能视图

V$SYSSTAT中包含多个统计项,这部分介绍了一些关键的v$sysstat统计项,在调优方面相当有用。下列按字母先后排序:

数据库使用状态的一些关键指标:

        CPU used by this session:所有session的cpu占用量,不包括后台进程。这项统计的单位是百分之x秒.完全调用一次不超过10ms

        db block changes:那部分造成SGA中数据块变化的insert,update或delete操作数 这项统计可以大概看出整体数据库状态。在各项事务级别,这项统计指出脏缓存比率。

        execute count:执行的sql语句数量(包括递归sql)

        logons current:当前连接到实例的Sessions。如果当前有两个快照则取平均值。

        logons cumulative:自实例启动后的总登陆次数。

        parse count (hard):在shared pool中解析调用的未命中次数。当sql语句执行并且该语句不在shared pool或虽然在shared pool但因为两者存在部分差异而不能被使用时产生硬解析。如果一条sql语句原文与当前存在的相同,但查询表不同则认为它们是两条不同语句,则硬解析即会发生。硬解析会带来cpu和资源使用的高昂开销,因为它需要oracle在shared pool中重新分配内存,然后再确定执行计划,最终语句才会被执行。

        parse count (total):解析调用总数,包括软解析和硬解析。当session执行了一条sql语句,该语句已经存在于shared pool并且可以被使用则产生软解析。当语句被使用(即共享) 所有数据相关的现有sql语句(如最优化的执行计划)必须同样适用于当前的声明。这两项统计可被用于计算软解析命中率。

        parse time cpu:总cpu解析时间(单位:10ms)。包括硬解析和软解析。

        parse time elapsed:完成解析调用的总时间花费。

        physical reads:OS blocks read数。包括插入到SGA缓存区的物理读以及PGA中的直读这项统计并非i/o请求数。

        physical writes:从SGA缓存区被DBWR写到磁盘的数据块以及PGA进程直写的数据块数量。

        redo log space requests:在redo logs中服务进程的等待空间,表示需要更长时间的log switch。

        redo size:redo发生的总次数(以及因此写入log buffer),以byte为单位。这项统计显示出update活跃性。

        session logical reads:逻辑读请求数。

        sorts (memory) and sorts (disk):sorts(memory)是适于在SORT_AREA_SIZE(因此不需要在磁盘进行排序)的排序操作的数量。sorts(disk)则是由于排序所需空间太大,SORT_AREA_SIZE不能满足而不得不在磁盘进行排序操作的数量。这两项统计通常用于计算in-memory sort ratio。

        sorts (rows): 列排序总数。这项统计可被'sorts (total)'统计项除尽以确定每次排序的列。该项可指出数据卷和应用特征。

        table fetch by rowid:使用ROWID返回的总列数(由于索引访问或sql语句中使用了'where rowid=&rowid'而产生)

        table scans (rows gotten):全表扫描中读取的总列数

        table scans (blocks gotten):全表扫描中读取的总块数,不包括那些split的列。

        user commits + user rollbacks:系统事务起用次数。当需要计算其它统计中每项事务比率时该项可以被做为除数。例如,计算事务中逻辑读,可以使用下列公式:session logical reads / (user commits + user rollbacks)。


注:SQL语句的解析有软解析soft parse与硬解析hard parse之说,以下是5个步骤:

1:语法是否合法(sql写法)

2:语义是否合法(权限,对象是否存在)

3:检查该sql是否在公享池中存在

— 如果存在,直接跳过4和5,运行sql. 此时算soft parse

4:选择执行计划

5:产生执行计划

— 如果5个步骤全做,这就叫hard parse.

注意物理I/O

  oracle报告物理读也许并未导致实际物理磁盘I/O操作。这完全有可能因为多数操作系统都有缓存文件,可能是那些块在被读取。块也可能存于磁盘或控制级缓存以再次避免实际I/O。Oracle报告有物理读也许仅仅表示被请求的块并不在缓存中。

由V$SYSSTAT得出实例效率比(Instance Efficiency Ratios)

下列是些典型的instance efficiency ratios 由v$sysstat数据计算得来,每项比率值应该尽可能接近1:

Buffer cache hit ratio:该项显示buffer cache大小是否合适。

公式:

1-((physical reads-physical reads direct-physical reads direct (lob)) / session logical reads)

执行:

select 1-((a.value-b.value-c.value)/d.value)

 from v$sysstat a,v$sysstat b,v$sysstat c,v$sysstat d

 where a.name='physical reads' and

         b.name='physical reads direct' and

         c.name='physical reads direct (lob)' and

         d.name='session logical reads';



       Soft parse ratio:这项将显示系统是否有太多硬解析。该值将会与原始统计数据对比以确保精确。例如,软解析率仅为0.2则表示硬解析率太高。不过,如果总解析量(parse count total)偏低,这项值可以被忽略。

公式:1 - ( parse count (hard) / parse count (total) )

执行:

select 1-(a.value/b.value)

 from v$sysstat a,v$sysstat b

 Where a.name='parse count (hard)' and b.name='parse count (total)';



      In-memory sort ratio:该项显示内存中完成的排序所占比例。最理想状态下,在OLTP系统中,大部分排序不仅小并且能够完全在内存里完成排序。

公式:sorts (memory) / ( sorts (memory) + sorts (disk) )

执行:

select a.value/(b.value+c.value)

 from v$sysstat a,v$sysstat b,v$sysstat c

 where a.name='sorts (memory)' and

         b.name='sorts (memory)' and c.name='sorts (disk)';



    Parse to execute ratio:在生产环境,最理想状态是一条sql语句一次解析多数运行。

公式:1 - (parse count/execute count)

执行:

select 1-(a.value/b.value)

 from v$sysstat a,v$sysstat b

 where a.name='parse count (total)' and b.name='execute count';



      Parse CPU to total CPU ratio:该项显示总的CPU花费在执行及解析上的比率。如果这项比率较低,说明系统执行了太多的解析。

公式:1 - (parse time cpu / CPU used by this session)

执行:

select 1-(a.value/b.value)

 from v$sysstat a,v$sysstat b

 where a.name='parse time cpu' and

         b.name='CPU used by this session';



   Parse time CPU to parse time elapsed:通常,该项显示锁竞争比率。这项比率计算

是否时间花费在解析分配给CPU进行周期运算(即生产工作)。解析时间花费不在CPU周期运算通常表示由于锁竞争导致了时间花费

公式:parse time cpu / parse time elapsed

执行:

select a.value/b.value

 from v$sysstat a,v$sysstat b

 where a.name='parse time cpu' and b.name='parse time elapsed';



从V$SYSSTAT获取负载间档(Load Profile)数据



  负载间档是监控系统吞吐量和负载变化的重要部分,该部分提供如下每秒和每个事务的统计信息:logons cumulative, parse count (total), parse count (hard), executes, physical reads, physical writes, block changes, and redo size.



  被格式化的数据可检查'rates'是否过高,或用于对比其它基线数据设置为识别system profile在期间如何变化。例如,计算每个事务中block changes可用如下公式:

db block changes / ( user commits + user rollbacks )

执行:

select a.value/(b.value+c.value)

 from v$sysstat a,v$sysstat b,v$sysstat c

 where a.name='db block changes' and

         b.name='user commits' and c.name='user rollbacks';





其它计算统计以衡量负载方式,如下:

     Blocks changed for each read:这项显示出block changes在block reads中的比例。它将指出是否系统主要用于只读访问或是主要进行诸多数据操作(如:inserts/updates/deletes)

公式:db block changes / session logical reads

执行:

select a.value/b.value

 from v$sysstat a,v$sysstat b

 where a.name='db block changes' and

         b.name='session logical reads' ;



      Rows for each sort:

公式:sorts (rows) / ( sorts (memory) + sorts (disk) )

执行:

select a.value/(b.value+c.value)

 from v$sysstat a,v$sysstat b,v$sysstat c

 where a.name='sorts (rows)' and

 b.name='sorts (memory)' and c.name='sorts (disk)';
 

DBMS_STATS.GATHER_SCHEMA_STATS介绍使用

dbms_stats能良好地估量统计数据(尤其是针对较大的分区表),并能取得更好的统计后果,最终制订出速度更快的SQL施行计划。

  exec dbms_stats.gather_schema_stats(
  ownname          => 'SCOTT',
  options          => 'GATHER AUTO',
  estimate_percent => dbms_stats.auto_sample_size,
  method_opt       => 'for all columns size repeat',
  degree           => 15
  )

为了充沛认识dbms_stats的益处,需要仔细领会每一条次要的预编译指令(directive)。上面让咱们钻研每一条指令,并领会如何用它为基于代价的SQL优化器搜罗最高品质的统计数据。
  options参数
  使用4个预设的法子之一,这个选项能把握Oracle统计的刷新方法:
  gather——重新剖析整个架构(Schema)。
  gather empty——只剖析目前还没有统计的表。
  gather stale——只重新剖析修改量超过10%的表(这些修改包含拔出、更新和删除)。
  gather auto——重新剖析以后没有统计的对象,以及统计数据过期(变脏)的对象。注意,使用gather auto相似于组合使用gather stale和gather empty。
  注意,不论gather stale仍是gather auto,都请求进行监视。假如你施行一个alter table xxx monitoring命令,Oracle会用dba_tab_modifications视图来跟踪发生发火变动的表。这样一来,你就确实地知道,自从上 一次剖析统计数据以来,发生发火了多少次拔出、更新和删除操作。

  estimate_percent选项
  estimate_percent参数是一种比照新的设计,它答应Oracle的dbms_stats在搜罗统计数据时,自动估量要采样的一个segment的最佳百分比:
  estimate_percent => dbms_stats.auto_sample_size
  要考证自动统计采样的准确性,你可检视dba_tables sample_size列。一个有趣的地方是,在使用自动采样时,Oracle会为一个样本尺寸挑选5到20的百分比。记住,统计数据品质越好,CBO做出的抉择越好。

  method_opt选项
  method_opt:for table –只统计表
  for all indexed columns –只统计有索引的表列
  for all indexes –只剖析统计相干索引
  for all columns
  dbms_stats的method_opt参数尤其合适在表和索引数据发生发火变动时刷新统计数据。method_opt参数也合适用于判断哪些列需要直方图(histograms)。
  某些情形下,索引内的各个值的散播会影响CBO是使用一个索引仍是施行一次全表扫描的决议计划。例如,假如在where子句中指定的值的数量不合错误称,全表扫描就显得比索引走访更经济。
  假如你有一个高度歪斜的索引(某些值的行数不合错误称),就可创建Oracle直方图统计。但在现实世界中,出现这种情形的机率相称小。使用 CBO时,最罕见的过失之一就是在CBO统计中不用要地引入直方图。根据经验,只需在列值请求必需修改施行计划时,才应使用直方图。
  为了智能地生成直方图,Oracle为dbms_stats准备了method_opt参数。在method_opt子句中,还有一些首要的新选项,包含skewonly,repeat和auto:
  method_opt=>’for all columns size skewonly’
  method_opt=>’for all columns size repeat’
  method_opt=>’for all columns size auto’

  skewonly选项会耗损大量处置时间,因为它要检查每个索引中的每个列的值的散播情形。
  假如dbms_stat觉察一个索引的各个列散播得不均匀,就会为那个索引创建直方图,辅助基于代价的SQL优化器抉择是进行索引走访,仍是进行全表 扫描走访。例如,在一个索引中,假设有一个列在50%的行中,如清单B所示,那么为了检索这些行,全表扫描的速度会快于索引扫描。
  –*************************************************************
  – SKEWONLY option—Detailed analysis
  –
  – Use this method for a first-time analysis for skewed indexes
  – This runs a long time because all indexes are examined
  –*************************************************************

  
    begin
  dbms_stats.gather_schema_stats(
  ownname          => 'SCOTT',
  estimate_percent => dbms_stats.auto_sample_size,
  method_opt       => 'for all columns size skewonly',
  degree           => 7
  );
  end;

  重新剖析统计数据时,使用repeat选项,重新剖析义务所耗费的资源就会少一些。使用repeat选项(清单C)时,只会为现有的直方图重新剖析索引,不再搜寻其余直方图机会。活期重新剖析统计数据时,你应当采用这种方法。
  –*************************************************************
  – REPEAT OPTION – Only reanalyze histograms for indexes
  – that have histograms
  –
  – Following the initial analysis, the weekly analysis
  – job will use the “repeat” option. The repeat option
  – tells dbms_stats that no indexes have changed, and
  – it will only reanalyze histograms for
  – indexes that have histograms.
  –**************************************************************

  begin
  dbms_stats.gather_schema_stats(
  ownname          => 'SCOTT',
  estimate_percent => dbms_stats.auto_sample_size,
  method_opt       => 'for all columns size repeat',
  degree           => 7
  );
  end;

----------------------------------------------------------------------------------------------------------------------------

Exec dbms_stats.gather_schema_stats(ownname=>'用户名称',estimate_percent=>100,cascade=> TRUE, degree =>12);

DBMS_STATS.GATHER_TABLE_STATS详解

由于Oracle的优化器是CBO,所以对象的统计数据对执行计划的生成至关重要!

作用:DBMS_STATS.GATHER_TABLE_STATS统计表,列,索引的统计信息(默认参数下是对表进行直方图信息收集,包含该表的自身-表的行数、数据块数、行长等信息;列的分析–列值的重复数、列上的空值、数据在列上的分布情况;索引的分析-索引页块的数量、索引的深度、索引聚合因子).
DBMS_STATS.GATHER_TABLE_STATS的语法如下:

DBMS_STATS.GATHER_TABLE_STATS ( ownname VARCHAR2,  tabname VARCHAR2,  partname VARCHAR2, estimate_percent NUMBER,  block_sample BOOLEAN, method_opt VARCHAR2, degree NUMBER, granularity VARCHAR2,  cascade BOOLEAN, stattab VARCHAR2,  statid VARCHAR2, statown VARCHAR2, no_invalidate BOOLEAN, force BOOLEAN);

参数说明:

ownname:要分析表的拥有者

tabname:要分析的表名.

partname:分区的名字,只对分区表或分区索引有用.

estimate_percent:采样行的百分比,取值范围[0.000001,100],null为全部分析,不采样. 常量:DBMS_STATS.AUTO_SAMPLE_SIZE是默认值,由oracle决定最佳取采样值.

block_sapmple:是否用块采样代替行采样.

method_opt:决定histograms信息是怎样被统计的.method_opt的取值如下(默认值为FOR ALL COLUMNS SIZE AUTO):

for all columns:统计所有列的histograms.

for all indexed columns:统计所有indexed列的histograms.

for all hidden columns:统计你看不到列的histograms

for columns SIZE | REPEAT | AUTO | SKEWONLY:统计指定列的histograms.N的取值范围[1,254]; REPEAT上次统计过的histograms;AUTO由oracle决定N的大小;SKEWONLY multiple end-points with the same value which is what we define by “there is skew in thedata

degree:决定并行度.默认值为null.

granularity:Granularity of statistics to collect ,only pertinent if the table is partitioned.

cascade:是收集索引的信息.默认为FALSE.

stattab:指定要存储统计信息的表,statid如果多个表的统计信息存储在同一个stattab中用于进行区分.statown存储统计信息表的拥有者.以上三个参数若不指定,统计信息会直接更新到数据字典.

no_invalidate: Does not invalidate the dependent cursors if set to TRUE. The procedure invalidates the dependent cursors immediately if set to FALSE.

force:即使表锁住了也收集统计信息.

例子:

execute dbms_stats.gather_table_stats(ownname => 'owner',tabname => 'table_name' ,estimate_percent => null ,method_opt => 'for all indexed columns' ,cascade => true);

------------------------------------------------------------------------------------------------------------------------

自从Oracle8.1.5引入dbms_stats包,Experts们便推荐使用dbms_stats取代analyze。 理由如下
dbms_stats可以并行分析
dbms_stats有自动分析的功能(alter table monitor )
analyze 分析统计信息的不准确some times
1,2好理解,且第2点实际上在VLDB中是最吸引人的;3以前比较模糊,看了metalink236935.1 解释,analyze在分析Partition表的时候,有时候会计算出不准确的Global statistics .
原因是,dbms_stats会实在的去分析表全局统计信息(当指定参数);而analyze是将表分区(局部)的statistics 汇总计算成表全局statistics ,可能导致误差。
如果想分析整个用户或数据库,还可以采用工具包,可以并行分析
Dbms_utility(8i以前的工具包)
Dbms_stats(8i以后提供的工具包)

dbms_stats.gather_schema_stats(User,estimate_percent=>100,cascade=> TRUE);
dbms_stats.gather_table_stats(User,TableName,degree => 4,cascade => true);

如何使用dbms_stats分析统计信息

--创建统计信息历史保留表

sql>execdbms_stats.create_stat_table(ownname=>'scott',stattab=>'stat_table');

--导出整个scheme的统计信息

sql>execdbms_stats.export_schema_stats(ownname=>'scott',stattab=>'stat_table');

--分析scheme

Execdbms_stats.gather_schema_stats(
ownname=>'scott',
options=>'GATHERAUTO',
estimate_percent=>dbms_stats.auto_sample_size,
method_opt=>'forallindexedcolumns',
degree=>6)

--分析表

sql>execdbms_stats.gather_table_stats(ownname=>'scott',tabname=>'work_list',estimate_percent=>10,method_opt=>'forallindexedcolumns');

--分析索引

SQL>execdbms_stats.gather_index_stats(ownname=>'crm2',indname=>'IDX_ADM_PERMISSION_PID_MID',estimate_percent=>'10',degree=>'4');

--如果发现执行计划走错,删除表的统计信息

SQL>dbms_stats.delete_table_stats(ownname=>'scott',tabname=>'work_list');

--导入表的历史统计信息

sql>execdbms_stats.import_table_stats(ownname=>'scott',tabname=>'work_list',stattab=>'stat_table');

--如果进行分析后,大部分表的执行计划都走错,需要导回整个scheme的统计信息

sql>execdbms_stats.import_schema_stats(ownname=>'scott',stattab=>'stat_table');

--导入索引的统计信息

SQL>execdbms_stats.import_index_stats(ownname=>'crm2',indname=>'IDX_ADM_PERMISSION_PID_MID',stattab=>'stat_table')

--检查是否导入成功

SQL>selecttable_name,num_rows,a.blocks,a.last_analyzedfromall_tablesawherea.table_name='WORK_LIST';

分析数据库(包括所有的用户对象和系统对象):gather_database_stats
分析用户所有的对象(包括表、索引、簇):gather_schema_stats
分析表:gather_table_stats
分析索引:gather_index_stats
删除数据库统计信息:delete_database_stats
删除用户方案统计信息:delete_schema_stats
删除表统计信息:delete_table_stats
删除索引统计信息:delete_index_stats
删除列统计信息:delete_column_stats
设置表统计信息:set_table_stats
设置索引统计信息:set_index_stats
设置列统计信息:set_column_stats

可以查看表 DBA_TABLES来查看表是否与被分析过,如:

SELECT TABLE_NAME, LAST_ANALYZED FROM DBA_TABLES

这是对命令与工具包的一些总结
1、对于分区表,建议使用DBMS_STATS,而不是使用Analyze语句。
a) 可以并行进行,对多个用户,多个Table
b) 可以得到整个分区表的数据和单个分区的数据。
c) 可以在不同级别上Compute Statistics:单个分区,子分区,全表,所有分区
d) 可以倒出统计信息
e) 可以用户自动收集统计信息
2、DBMS_STATS的缺点
a) 不能Validate Structure
b) 不能收集CHAINED ROWS, 不能收集CLUSTER TABLE的信息,这两个仍旧需要使用Analyze语句。
c) DBMS_STATS 默认不对索引进行Analyze,因为默认Cascade是False,需要手工指定为True
3、对于oracle 9里面的External Table,Analyze不能使用,只能使用DBMS_STATS来收集信息。

使用oradebug来获取跟踪文件的位置

C:\Documents and Settings\Administrator>sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 – Production on 星期五 11月 30 11:18:00 2012

Copyright (c) 1982, 2005, Oracle. All rights reserved.

SQL> conn sys/system@jytest as sysdba
已连接。
SQL> oradebug setmypid
已处理的语句
SQL> alter database backup controlfile to trace;

数据库已更改。

SQL> oradebug tracefile_name
/u01/app/oracle/admin/jytest/udump/jytest_ora_27695.trc

oracle10g data guard创建物理standby数据库的例子

data guard主备数据库是在不现的机器上

主数据库的db_name=jytest db_unique_name=jytest

备份数据库db_name=jytest db_unique_name=jyrac1

演示用的示例足够了,我们分两阶段配置,分别是配置primary数据库和配置standby数据库,如下:

一、Primary

数据库配置及相关操作

1、确认主库处于归档模式

SQL> archive log list;

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination            /u01/app/oracle/arch/jytest

Oldest online log sequence     124

Next log sequence to archive   126

Current log sequence           126

2、将primary数据库置为FORCE LOGGING模式。通过下列语句:

SQL> alter database force  logging;

数据库已更改。

3、创建standby数据库控制文件

SQL> alter database create standby controlfile as  '/u01/app/oracle/jyrac1_01.ctl';

 

Database altered.

 

4、创建primary数据库客户端初始化参数文件

注:主要此处修改项较多,为了方便,我们首先创建并修改pfile,然后再通过pfile重建spfile,你当

然也可以通过alter system set命令直接修改spfile内容。

SQL> create pfile from spfile;

文件已创建。

将该初始化参数文件复制一份,做为standby数据库的客户端初始化参数文件

SQL> host copy /u01/app/oracle/product/10.2.0/db/dbs/initjytest.ora

/u01/app/oracle/product/10.2.0/db/dbs/initjytest01.ora

已复制1个文件。

修改客户端初始化参数文件,增加下列内容

DB_UNIQUE_NAME='jytest'

 

LOG_ARCHIVE_CONFIG='DG_CONFIG=(jytest,jyrac1)'

 

LOG_ARCHIVE_DEST_1='LOCATION=/u01/app/oracle/arch/jytest VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=jytest'

 

LOG_ARCHIVE_DEST_2='SERVICE=jyrac1 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=jyrac1'

 

LOG_ARCHIVE_DEST_STATE_1='ENABLE'

 

LOG_ARCHIVE_DEST_STATE_2='ENABLE'

 

REMOTE_LOGIN_PASSWORDFILE='EXCLUSIVE'

#--------配置standby角色的参数用于角色转换

FAL_CLIENT='jytest'

FAL_SERVER='jyrac1'

DB_FILE_NAME_CONVERT=/u01/app/oracle/oradata/jytest','/u01/app/oracle/oradata/jytest'

在备位置后面指定主数据库文件的路径名和文件名位置。这

个参数将主数据库的数据文件路径名转换成备数据文件路

径名。如果备数据库与主数据库处于同一系统上或如果数据

文件在备站点上的目录结构与主站点不同,则需要这个参

数。注意这个参数只是用于转换物理备数据库的路径名。这

个参数可以指定多对路径。(我这里主备数据库目录路径相同也可以不配置)

LOG_FILE_NAME_CONVERT=’/u01/app/oracle/oradata/jytest',' /u01/app/oracle/oradata/jytest'

在备位置后面指定主数据库联机重做日志文件的位置。这个

参数将主数据库日志文件的路径名转换成备数据库上的路

径名。如果备数据库与主数据库处于同一系统上或如果数据

文件在备站点上的目录结构与主站点不同,则需要这个参

数。这个参数可以指定多对路径(我这里主备数据库目录路径相同也可以不配置)

STANDBY_FILE_MANAGEMENT='AUTO'

通过pfile重建spfile

SQL> shutdown immediate

...

SQL> create spfile from pfile

文件已创建。

5、复制数据文件到standby服务器(方式多样,不详述)

将adump,bdump,cdump,dpdump,pfile,udump目录复制到weblogic29机器上来

[root@weblogic28 ~]# scp -r /u01/app/oracle/admin/* root@10.138.130.29:/u01/app/oracle/admin

root@10.138.130.29's password:

将数据文件,控制文件和重做日志文件复制到weblogic29这台机器上

[root@weblogic28 ~]# scp -r /u01/app/oracle/oradata/* root@10.138.130.29:/u01/app/oracle/oradata

root@10.138.130.29's password:

redo07a.log                                   100%   50MB  25.0MB/s   00:02

hygeia01.dbf                                  100%   20GB  42.9MB/s   07:57

redo04a.log                                   100%   50MB  50.0MB/s   00:01

control02.ctl                                 100% 6896KB   6.7MB/s   00:00

temp01.dbf                                    100% 5120MB  43.4MB/s   01:58

redo06b.log                                   100%   50MB  25.0MB/s   00:02

users01.dbf                                   100% 5128KB   5.0MB/s   00:00

control03.ctl                                 100% 6896KB   6.7MB/s   00:00

redo06a.log                                   100%   50MB  25.0MB/s   00:02

control01.ctl                                 100% 6896KB   6.7MB/s   00:00

redo05a.log                                   100%   50MB  50.0MB/s   00:01

redo07b.log                                   100%   50MB  50.0MB/s   00:01

redo05b.log                                   100%   50MB  50.0MB/s   00:01

sysaux01.dbf                                  100% 5120MB  43.0MB/s   01:59

redo04b.log                                   100%   50MB  50.0MB/s   00:01

redo01.log                                    100%   50MB  50.0MB/s   00:01

redo03.log                                    100%   50MB  25.0MB/s   00:02

redo02.log                                    100%   50MB  50.0MB/s   00:01

system01.dbf                                  100% 5120MB  41.0MB/s   02:05

undotbs01.dbf                                 100% 5120MB  34.1MB/s   02:30

还要将参数文件和口令文件复制过来

[root@weblogic28 ~]# scp -r /u01/app/oracle/product/10.2.0/db/dbs/* root@10.138.130.29:/u01/app/oracle/product/10.2.0/db/dbs

root@10.138.130.29’s password:

alert_jytest.log 100% 435 0.4KB/s 00:00

hc_jytest.dat 100% 1552 1.5KB/s 00:00

initdw.ora 100% 13KB 12.6KB/s 00:00

initjytest.ora 100% 1753 1.7KB/s 00:00

init.ora 100% 8385 8.2KB/s 00:00

lkJYTEST 100% 24 0.0KB/s 00:00

orapwjytest 100% 1536 1.5KB/s 00:00

spfilejytest.ora 100% 4608 4.5KB/s 00:00

注意需要复制所有数据文件,备份的控制文件及客户端初始化参数文件

6、配置listener及net service names(方式多样,不详述)。

分别在主数据库和备份数据库上进行配置

Jytest主数据库(weblogic28)

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db)

(PROGRAM = extproc)

)

(SID_DESC =

(GLOBAL_DBNAME =jytest)

(ORACLE_HOME =/u01/app/oracle/product/10.2.0/db)

(SID_NAME =jytest)

)

)

 

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = weblogic28)(PORT = 1521))

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))

)

)

 

Jyrac1备份数据库(weblogic29)

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db)

(PROGRAM = extproc)

)

(SID_DESC =

(GLOBAL_DBNAME =jytest)

(ORACLE_HOME =/u01/app/oracle/product/10.2.0/db)

(SID_NAME =jytest)

)

)

 

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = weblogic29)(PORT = 1521))

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))

)

)

 

在tnsnames.ora文件加入主数据库和备份数据库的服务名

jytest =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.138.130.28)(PORT = 1521))

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = jytest)

)

)

 

jyrac1 =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.138.130.29)(PORT = 1521))

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME =jytest)

)

)

完之后重启listener:

[oracle@weblogic28 ~]$ lsnrctl stop

[oracle@weblogic28 ~]$lsnrctl start

通过tnsping测试tnsnames是否正确有效:

C:\Documents and Settings\Administrator>tnsping jyrac1

 

TNS Ping Utility for 32-bit Windows: Version10.2.0.1.0 - Production on 01-12月-

2012 21:29:27

 

Copyright (c) 1997, 2005, Oracle.  All rights reserved.

 

已使用的参数文件:

C:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora

 

 

已使用TNSNAMES适配器来解析别名

Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)

(HOST = 10.138.130.29)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME =jytest)))

OK (10毫秒)

 

C:\Documents and Settings\Administrator>tnsping jytest

 

TNS Ping Utility for 32-bit Windows: Version10.2.0.1.0 - Production on 01-12月-

2012 21:31:57

 

Copyright (c) 1997, 2005, Oracle.  All rights reserved.

 

已使用的参数文件:

C:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora

 

 

已使用TNSNAMES适配器来解析别名

Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)

(HOST = 10.138.130.28)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME =jytest)))

OK (0毫秒)

 

 

二、Standby

数据库配置及相关操作

1、通过ORADIM创建新的OracleService

2、创建密码文件,注意保持sys密码与primary数据库一致。

[oracle@weblogic29 ~]$orapwd file=/u01/app/oracle/product/10.2.0\db\dba\PWDjytest

.ora password=system entries=30

3、创建目录

[root@weblogic28 ~]# mkdir /u01/app/oracle /admin/jytest/adump

4、复制文件,不做过多描述

5、修改初始化参数文件

增加下列参数

db_unique_name=jyrac1

LOG_ARCHIVE_CONFIG='DG_CONFIG=(jytest,jyrac1)'

 

DB_FILE_NAME_CONVERT=/u01/app/oracle/oradata/jytest','/u01/app/oracle/oradata/jytest'

在备位置后面指定主数据库文件的路径名和文件名位置。这

个参数将主数据库的数据文件路径名转换成备数据文件路

径名。如果备数据库与主数据库处于同一系统上或如果数据

文件在备站点上的目录结构与主站点不同,则需要这个参

数。注意这个参数只是用于转换物理备数据库的路径名。这

个参数可以指定多对路径。(我这里主备数据库目录路径相同也可以不配置)

LOG_FILE_NAME_CONVERT=’/u01/app/oracle/oradata/jytest',' /u01/app/oracle/oradata/jytest'

在备位置后面指定主数据库联机重做日志文件的位置。这个

参数将主数据库日志文件的路径名转换成备数据库上的路

径名。如果备数据库与主数据库处于同一系统上或如果数据

文件在备站点上的目录结构与主站点不同,则需要这个参

数。这个参数可以指定多对路径(我这里主备数据库目录路径相同也可以不配置)

LOG_ARCHIVE_DEST_1='LOCATION=/u01/app/oracle/arch/jyrac1 VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=jyrac1'

LOG_ARCHIVE_DEST_STATE_1=ENABLE

#—下列参数用于角色切换

LOG_ARCHIVE_DEST_2='SERVICE=jytest LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=jytest'

LOG_ARCHIVE_DEST_STATE_2=ENABLE

REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE

FAL_SERVER=jytest

FAL_CLIENT=jyrac1

STANDBY_FILE_MANAGEMENT=AUTO

注意同时修改*_dest的路径。

通过该pfile创建spfile

SQL> create spfile from pfile;

文件已创建。

6、启动standby到mount

SQL> startup mount

ORACLE instance started.

 

Total System Global Area 6442450944 bytes

Fixed Size                  2030368 bytes

Variable Size            1090520288 bytes

Database Buffers         5335154688 bytes

Redo Buffers               14745600 bytes

Database mounted.

7、启动redo应用

SQL>  alter database recover managed standby database disconnect from session;

 

Database altered.

8、查看同步情况

首先连接到primary数据库

SQL> show parameter db_unique

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

db_unique_name                       string     jytest

 

SQL> alter system switch logfile;

 

System altered

 

SQL> select max(sequence#) from v$archived_log;

 

MAX(SEQUENCE#)

--------------

129

 

连接到standby数据库

SQL> show parameter db_unique

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

db_unique_name                       string      jyrac1

SQL> select max(sequence#) from v$archived_log;

 

MAX(SEQUENCE#)

--------------

129

采用scp命令在Linux系统之间copy文件

复制文件或目录命令:

  复制文件:
  (1)将本地文件拷贝到 远程
  scp 文件名 –用户名 @计 算机IP或者计算机名称 :远程路径
        scp /home/test.ora root@10.138.130.29:/home/root
  (2)从远程将文件拷回本地
  scp –用户名 @计算机IP或者计算机名称 :文件名 本地路径
       scp root@10.138.130.29:/home/root     /home/test.ora
  复制目录:
  (1)将本地目录拷贝到远程
  scp -r 目录名 用 户名 @计算机IP或者计算机名称 :远程路径
        scp -r  /home/test.ora root@10.138.130.29:/home/root
  (2)从远程将目录拷回 本地
  scp -r 用户名 @计 算机IP或者计算机名称 :目录名 本地路径
       scp -r  root@10.138.130.29:/home/root     /home/

将数据库从一台机器复制到另一台机器上

将adump,bdump,cdump,dpdump,pfile,udump目录复制到weblogic29机器上来

[root@weblogic28 ~]# scp -r /u01/app/oracle/admin/* root@10.138.130.29:/u01/app/oracle/admin
root@10.138.130.29's password:
init.ora.10282012165755                       100% 2508     2.5KB/s   00:00
jytest_ora_4650.trc                           100%  623     0.6KB/s   00:00
jytest_ora_2871.trc                           100% 1196     1.2KB/s   00:00
jytest_ora_5148.trc                           100% 5584     5.5KB/s   00:00
jytest_ora_2844.trc                           100%  623     0.6KB/s   00:00
jytest_ora_28167.trc                          100% 7441     7.3KB/s   00:00
jytest_ora_28498.trc                          100%  682     0.7KB/s   00:00
jytest_ora_3013.trc                           100% 2689     2.6KB/s   00:00
jytest_ora_4931.trc                           100%  680     0.7KB/s   00:00
jytest_ora_4722.trc                           100% 5585     5.5KB/s   00:00
jytest_ora_2986.trc                           100%  623     0.6KB/s   00:00
jytest_ora_4682.trc                           100%  680     0.7KB/s   00:00
jytest_ora_4554.trc                           100%  623     0.6KB/s   00:00
jytest_ora_4584.trc                           100%  680     0.7KB/s   00:00
jytest_ora_4685.trc                           100%  867     0.9KB/s   00:00
jytest_ora_4586.trc                           100%  867     0.9KB/s   00:00
jytest_ora_29312.trc                          100% 2420     2.4KB/s   00:00
jytest_ora_4901.trc                           100%  623     0.6KB/s   00:00
jytest_ora_27695.trc                          100% 6482     6.3KB/s   00:00
jytest_ora_28454.trc                          100%  707     0.7KB/s   00:00
jytest_ora_8595.trc                           100% 5587     5.5KB/s   00:00
jytest_ora_3068.trc                           100%  623     0.6KB/s   00:00
jytest_ora_3098.trc                           100%  680     0.7KB/s   00:00
jytest_ora_28499.trc                          100% 4070     4.0KB/s   00:00
jytest_ora_2952.trc                           100%  623     0.6KB/s   00:00
jytest_ora_3057.trc                           100%  809     0.8KB/s   00:00
jytest_ora_29281.trc                          100%  625     0.6KB/s   00:00
jytest_ora_29311.trc                          100%  682     0.7KB/s   00:00
jytest_ora_2985.trc                           100%  939     0.9KB/s   00:00
jytest_ora_27246.trc                          100%  790     0.8KB/s   00:00
jytest_ora_2808.trc                           100%  623     0.6KB/s   00:00
jytest_ora_3831.trc                           100% 2078     2.0KB/s   00:00
jytest_ora_2841.trc                           100%  939     0.9KB/s   00:00
jytest_ora_28469.trc                          100%  625     0.6KB/s   00:00
ora_4682.aud                                  100%  655     0.6KB/s   00:00
ora_3128.aud                                  100%  643     0.6KB/s   00:00
ora_3113.aud                                  100%  643     0.6KB/s   00:00
ora_23604.aud                                 100%  635     0.6KB/s   00:00
ora_23712.aud                                 100%  656     0.6KB/s   00:00
ora_8595.aud                                  100%  654     0.6KB/s   00:00
ora_4650.aud                                  100% 1292     1.3KB/s   00:00
ora_4586.aud                                  100%  785     0.8KB/s   00:00
ora_2986.aud                                  100%  650     0.6KB/s   00:00
ora_2981.aud                                  100%  650     0.6KB/s   00:00
ora_6652.aud                                  100%  654     0.6KB/s   00:00
ora_29275.aud                                 100%  644     0.6KB/s   00:00
ora_3831.aud                                  100%  648     0.6KB/s   00:00
ora_2808.aud                                  100%  650     0.6KB/s   00:00
ora_5146.aud                                  100%  654     0.6KB/s   00:00
ora_4718.aud                                  100%  654     0.6KB/s   00:00
ora_3163.aud                                  100%  643     0.6KB/s   00:00
ora_2844.aud                                  100%  650     0.6KB/s   00:00
ora_28469.aud                                 100% 1296     1.3KB/s   00:00
ora_6654.aud                                  100%  654     0.6KB/s   00:00
ora_2985.aud                                  100%  782     0.8KB/s   00:00
ora_3117.aud                                  100%  643     0.6KB/s   00:00
ora_3099.aud                                  100%  643     0.6KB/s   00:00
ora_3037.aud                                  100%  643     0.6KB/s   00:00
ora_8593.aud                                  100%  654     0.6KB/s   00:00
ora_29311.aud                                 100%  657     0.6KB/s   00:00
ora_29312.aud                                 100%  787     0.8KB/s   00:00
ora_4444.aud                                  100%  780     0.8KB/s   00:00
ora_4218.aud                                  100%  779     0.8KB/s   00:00
ora_27559.aud                                 100%  656     0.6KB/s   00:00
ora_20375.aud                                 100%  635     0.6KB/s   00:00
ora_4346.aud                                  100%  779     0.8KB/s   00:00
ora_26269.aud                                 100%  663     0.7KB/s   00:00
ora_3068.aud                                  100%  650     0.6KB/s   00:00
ora_2837.aud                                  100%  650     0.6KB/s   00:00
ora_4901.aud                                  100% 1292     1.3KB/s   00:00
ora_7427.aud                                  100%  654     0.6KB/s   00:00
ora_2952.aud                                  100%  650     0.6KB/s   00:00
ora_4722.aud                                  100%  654     0.6KB/s   00:00
ora_3026.aud                                  100%  643     0.6KB/s   00:00
ora_3032.aud                                  100%  643     0.6KB/s   00:00
ora_4932.aud                                  100%  648     0.6KB/s   00:00
ora_3031.aud                                  100%  643     0.6KB/s   00:00
ora_4931.aud                                  100%  655     0.6KB/s   00:00
ora_28449.aud                                 100%  637     0.6KB/s   00:00
ora_26271.aud                                 100%  663     0.7KB/s   00:00
ora_2933.aud                                  100%  775     0.8KB/s   00:00
ora_3115.aud                                  100%  643     0.6KB/s   00:00
ora_23714.aud                                 100%  656     0.6KB/s   00:00
ora_28454.aud                                 100%  782     0.8KB/s   00:00
ora_6628.aud                                  100%  654     0.6KB/s   00:00
ora_4296.aud                                  100%  635     0.6KB/s   00:00
ora_4121.aud                                  100%  635     0.6KB/s   00:00
ora_3036.aud                                  100%  643     0.6KB/s   00:00
ora_3127.aud                                  100%  643     0.6KB/s   00:00
ora_3013.aud                                  100%  650     0.6KB/s   00:00
ora_3116.aud                                  100%  643     0.6KB/s   00:00
ora_29281.aud                                 100% 1296     1.3KB/s   00:00
ora_2932.aud                                  100%  643     0.6KB/s   00:00
ora_27246.aud                                 100%  656     0.6KB/s   00:00
ora_2871.aud                                  100%  650     0.6KB/s   00:00
ora_4340.aud                                  100%  635     0.6KB/s   00:00
ora_3172.aud                                  100%  643     0.6KB/s   00:00
ora_28498.aud                                 100%  657     0.6KB/s   00:00
ora_7404.aud                                  100%  654     0.6KB/s   00:00
ora_6630.aud                                  100%  654     0.6KB/s   00:00
ora_5148.aud                                  100%  654     0.6KB/s   00:00
ora_27695.aud                                 100%  656     0.6KB/s   00:00
ora_3098.aud                                  100%  650     0.6KB/s   00:00
ora_4685.aud                                  100%  785     0.8KB/s   00:00
ora_28586.aud                                 100%  656     0.6KB/s   00:00
ora_4584.aud                                  100%  655     0.6KB/s   00:00
ora_3057.aud                                  100%  775     0.8KB/s   00:00
ora_6108.aud                                  100%  654     0.6KB/s   00:00
ora_28499.aud                                 100%  787     0.8KB/s   00:00
ora_3033.aud                                  100%  643     0.6KB/s   00:00
ora_4554.aud                                  100% 1292     1.3KB/s   00:00
ora_28167.aud                                 100%  650     0.6KB/s   00:00
ora_20329.aud                                 100%  635     0.6KB/s   00:00
ora_7767.aud                                  100%  648     0.6KB/s   00:00
ora_2841.aud                                  100%  782     0.8KB/s   00:00
ora_23638.aud                                 100%  635     0.6KB/s   00:00
jytest_arc8_28547.trc                         100%  798     0.8KB/s   00:00
jytest_j002_22070.trc                         100%  748     0.7KB/s   00:00
jytest_p007_28515.trc                         100% 1144     1.1KB/s   00:00
jytest_arcl_5080.trc                          100%  449KB 448.6KB/s   00:00
jytest_arco_5086.trc                          100%  447KB 446.8KB/s   00:00
jytest_arc7_5043.trc                          100%  452KB 451.8KB/s   00:00
jytest_arcj_28569.trc                         100%  749     0.7KB/s   00:00
jytest_j009_25217.trc                         100%  720     0.7KB/s   00:00
jytest_p010_28521.trc                         100% 1144     1.1KB/s   00:00
jytest_arc4_5037.trc                          100%  448KB 448.3KB/s   00:00
jytest_arcm_28575.trc                         100%  717     0.7KB/s   00:00
jytest_arcp_5088.trc                          100%  591KB 591.3KB/s   00:00
jytest_arcp_28581.trc                         100% 1787     1.8KB/s   00:00
jytest_arcc_28555.trc                         100%  758     0.7KB/s   00:00
jytest_arc6_28543.trc                         100%  756     0.7KB/s   00:00
jytest_lgwr_28481.trc                         100% 3934     3.8KB/s   00:00
jytest_arc6_5041.trc                          100%  445KB 444.7KB/s   00:00
jytest_arci_28567.trc                         100%  717     0.7KB/s   00:00
jytest_arc7_28545.trc                         100%  756     0.7KB/s   00:00
jytest_arcr_5092.trc                          100%  451KB 451.4KB/s   00:00
jytest_p002_28505.trc                         100% 1144     1.1KB/s   00:00
jytest_p009_28519.trc                         100% 1144     1.1KB/s   00:00
jytest_p011_28523.trc                         100% 1144     1.1KB/s   00:00
jytest_lgwr_2998.trc                          100%  790     0.8KB/s   00:00
jytest_lgwr_29293.trc                         100%  764     0.8KB/s   00:00
jytest_arc2_28535.trc                         100%  759     0.7KB/s   00:00
jytest_arcn_28577.trc                         100%  717     0.7KB/s   00:00
jytest_arc8_5047.trc                          100%  452KB 452.0KB/s   00:00
jytest_arc1_5031.trc                          100%  451KB 450.8KB/s   00:00
jytest_arc0_5029.trc                          100%  449KB 449.0KB/s   00:00
jytest_p013_28527.trc                         100% 1144     1.1KB/s   00:00
jytest_arc3_5035.trc                          100%  450KB 449.7KB/s   00:00
jytest_lgwr_4664.trc                          100%  762     0.7KB/s   00:00
jytest_arcs_5094.trc                          100%  451KB 451.2KB/s   00:00
jytest_pmon_28471.trc                         100% 4877     4.8KB/s   00:00
jytest_arc5_28541.trc                         100%  728     0.7KB/s   00:00
jytest_arci_5074.trc                          100%  447KB 447.4KB/s   00:00
jytest_arcb_28553.trc                         100%  716     0.7KB/s   00:00
jytest_p006_28513.trc                         100% 1144     1.1KB/s   00:00
jytest_arce_28559.trc                         100% 1533     1.5KB/s   00:00
jytest_p005_28511.trc                         100% 1144     1.1KB/s   00:00
jytest_arc5_5039.trc                          100%  448KB 448.1KB/s   00:00
jytest_arct_5096.trc                          100%  451KB 451.1KB/s   00:00
jytest_pmon_4904.trc                          100% 1594     1.6KB/s   00:00
jytest_arcl_28573.trc                         100%  749     0.7KB/s   00:00
jytest_smon_28485.trc                         100%  679     0.7KB/s   00:00
jytest_j004_23117.trc                         100%  746     0.7KB/s   00:00
jytest_j005_23119.trc                         100%  721     0.7KB/s   00:00
jytest_arcq_28583.trc                         100%  729     0.7KB/s   00:00
jytest_arck_28571.trc                         100%  759     0.7KB/s   00:00
jytest_p014_28529.trc                         100% 1144     1.1KB/s   00:00
jytest_arcr_28585.trc                         100%  718     0.7KB/s   00:00
jytest_lns1_5098.trc                          100% 2085     2.0KB/s   00:00
jytest_arcs_28587.trc                         100%  729     0.7KB/s   00:00
jytest_lgwr_4914.trc                          100% 2094     2.0KB/s   00:00
jytest_p001_28503.trc                         100% 1144     1.1KB/s   00:00
jytest_p012_28525.trc                         100% 1144     1.1KB/s   00:00
jytest_arc3_28537.trc                         100%  770     0.8KB/s   00:00
jytest_arck_5078.trc                          100%  447KB 447.4KB/s   00:00
jytest_arca_28551.trc                         100%  758     0.7KB/s   00:00
jytest_arc1_28533.trc                         100% 1755     1.7KB/s   00:00
jytest_arca_5057.trc                          100%  449KB 448.6KB/s   00:00
jytest_arcc_5062.trc                          100%  450KB 450.0KB/s   00:00
jytest_arcb_5060.trc                          100%  449KB 448.8KB/s   00:00
jytest_arcf_28561.trc                         100% 1518     1.5KB/s   00:00
jytest_arc2_5033.trc                          100%  453KB 453.3KB/s   00:00
jytest_arc4_28539.trc                         100%  801     0.8KB/s   00:00
jytest_pmon_29283.trc                         100% 3682     3.6KB/s   00:00
jytest_j007_24157.trc                         100%  745     0.7KB/s   00:00
jytest_arce_5066.trc                          100%  449KB 449.4KB/s   00:00
jytest_p004_28509.trc                         100% 1144     1.1KB/s   00:00
jytest_arc0_28531.trc                         100%  759     0.7KB/s   00:00
jytest_arcm_5082.trc                          100%  453KB 452.6KB/s   00:00
jytest_arc9_28549.trc                         100%  756     0.7KB/s   00:00
jytest_j008_25215.trc                         100%  748     0.7KB/s   00:00
jytest_arcg_28563.trc                         100%  787     0.8KB/s   00:00
jytest_arcj_5076.trc                          100%  447KB 446.5KB/s   00:00
jytest_pmon_3070.trc                          100% 4645     4.5KB/s   00:00
jytest_p000_28501.trc                         100% 1144     1.1KB/s   00:00
jytest_lns1_29118.trc                         100% 1205     1.2KB/s   00:00
jytest_p003_28507.trc                         100% 1144     1.1KB/s   00:00
jytest_lgwr_4566.trc                          100%  790     0.8KB/s   00:00
jytest_arcg_5070.trc                          100%  448KB 448.4KB/s   00:00
jytest_arcf_5068.trc                          100%  448KB 448.3KB/s   00:00
jytest_j006_24155.trc                         100%  750     0.7KB/s   00:00
jytest_arch_5072.trc                          100%  449KB 449.3KB/s   00:00
jytest_p008_28517.trc                         100% 1144     1.1KB/s   00:00
jytest_arch_28565.trc                         100%  717     0.7KB/s   00:00
jytest_arc9_5049.trc                          100%  451KB 451.2KB/s   00:00
jytest_pmon_4556.trc                          100% 4359     4.3KB/s   00:00
jytest_arcn_5084.trc                          100%  451KB 450.8KB/s   00:00
jytest_pmon_4652.trc                          100% 3677     3.6KB/s   00:00
jytest_arcd_5064.trc                          100%  450KB 449.7KB/s   00:00
jytest_mmnl_4926.trc                          100%   31MB  31.3MB/s   00:01
alert_jytest.log                              100%   31MB  31.2MB/s   00:01
jytest_lgwr_3080.trc                          100%   10KB   9.9KB/s   00:00
jytest_arcd_28557.trc                         100%  758     0.7KB/s   00:00
jytest_arco_28579.trc                         100%  748     0.7KB/s   00:00
jytest_arcq_5090.trc                          100%  448KB 448.0KB/s   00:00

将数据文件,控制文件和重做日志文件复制到weblogic29这台机器上

[root@weblogic28 ~]# scp -r /u01/app/oracle/oradata/* root@10.138.130.29:/u01/app/oracle/oradata
root@10.138.130.29's password:
redo07a.log                                   100%   50MB  25.0MB/s   00:02
hygeia01.dbf                                  100%   20GB  42.9MB/s   07:57
redo04a.log                                   100%   50MB  50.0MB/s   00:01
control02.ctl                                 100% 6896KB   6.7MB/s   00:00
temp01.dbf                                    100% 5120MB  43.4MB/s   01:58
redo06b.log                                   100%   50MB  25.0MB/s   00:02
users01.dbf                                   100% 5128KB   5.0MB/s   00:00
control03.ctl                                 100% 6896KB   6.7MB/s   00:00
redo06a.log                                   100%   50MB  25.0MB/s   00:02
control01.ctl                                 100% 6896KB   6.7MB/s   00:00
redo05a.log                                   100%   50MB  50.0MB/s   00:01
redo07b.log                                   100%   50MB  50.0MB/s   00:01
redo05b.log                                   100%   50MB  50.0MB/s   00:01
sysaux01.dbf                                  100% 5120MB  43.0MB/s   01:59
redo04b.log                                   100%   50MB  50.0MB/s   00:01
redo01.log                                    100%   50MB  50.0MB/s   00:01
redo03.log                                    100%   50MB  25.0MB/s   00:02
redo02.log                                    100%   50MB  50.0MB/s   00:01
system01.dbf                                  100% 5120MB  41.0MB/s   02:05
undotbs01.dbf                                 100% 5120MB  34.1MB/s   02:30

还要将参数文件和口令文件复制过来

[root@weblogic28 ~]# scp -r /u01/app/oracle/product/10.2.0/db/dbs/* root@10.138.130.29:/u01/app/oracle/product/10.2.0/db/dbs
root@10.138.130.29's password:
alert_jytest.log                              100%  435     0.4KB/s   00:00
hc_jytest.dat                                 100% 1552     1.5KB/s   00:00
initdw.ora                                    100%   13KB  12.6KB/s   00:00
initjytest.ora                                100% 1753     1.7KB/s   00:00
init.ora                                      100% 8385     8.2KB/s   00:00
lkJYTEST                                      100%   24     0.0KB/s   00:00
orapwjytest                                   100% 1536     1.5KB/s   00:00
spfilejytest.ora                              100% 4608     4.5KB/s   00:00

修改环境变量

[oracle@weblogic29 ~]$ vi .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

TEMP=/u01/tmp
TMPDIR=/u01/tmp
export TEMP TMPDIR
export LD_ASSUME_KERNEL=2.6.9
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db
export ORA_CRS_HOME=/u01/crs/oracle/product/10.2.0/crs
export ORACLE_SID=jytest
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
export PATH=$PATH:$ORACLE_HOME/bin
".bash_profile" 28L, 772C written
[oracle@weblogic29 ~]$ startup mount

[root@weblogic29 ~]# su - oracle
[oracle@weblogic29 ~]$ export ORACLE_SID=jytest
[oracle@weblogic29 ~]$ export ORACLE_HOME='/u01/app/oracle/product/10.2.0/db/dbs
[oracle@weblogic29 ~]$ echo $ORACLE_SID
jytest
[oracle@weblogic29 ~]$ echo $ORACLE_HOME
='/u01/app/oracle/product/10.2.0/db/dbs
[oracle@weblogic29 ~]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.4.0 - Production on Mon Jun 1 18:33:39 2009

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

Connected to an idle instance.

SQL> startup mount pfile='/u01/app/oracle/product/10.2.0/db/dbs/initjytest.ora'
ORA-09925: Unable to create audit trail file
Linux-x86_64 Error: 13: Permission denied
Additional information: 9925SQL>
[root@weblogic28 ~]# chown -R oracle:oinstall /u01/oracle
SQL> startup mount pfile='/u01/app/oracle/product/10.2.0/db/dbs/initjytest.ora'
ORACLE instance started.

Total System Global Area 6442450944 bytes
Fixed Size                  2030368 bytes
Variable Size            1090520288 bytes
Database Buffers         5335154688 bytes
Redo Buffers               14745600 bytes
Database mounted.
SQL> create spfile from pfile;

File created.

SQL> alter database open;

Database altered.

创建data guard备库的instance时,报ORA-09925错误的处理

[root@weblogic29 ~]# su - oracle

[oracle@weblogic29 ~]$ export ORACLE_SID=jytest
[oracle@weblogic29 ~]$ export ORACLE_HOME='/u01/app/oracle/product/10.2.0/db/dbs
[oracle@weblogic29 ~]$ echo $ORACLE_SID
jytest
[oracle@weblogic29 ~]$ echo $ORACLE_HOME
='/u01/app/oracle/product/10.2.0/db/dbs
[oracle@weblogic29 ~]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.4.0 - Production on Mon Jun 1 18:33:39 2009

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

Connected to an idle instance.

SQL> startup mount pfile='/u01/app/oracle/product/10.2.0/db/dbs/initjytest.ora'
ORA-09925: Unable to create audit trail file
Linux-x86_64 Error: 13: Permission denied
Additional information: 9925SQL>
[root@weblogic28 ~]# chown -R oracle:oinstall /u01/oracle
SQL> startup mount pfile='/u01/app/oracle/product/10.2.0/db/dbs/initjytest.ora'
ORACLE instance started.

Total System Global Area 6442450944 bytes
Fixed Size                  2030368 bytes
Variable Size            1090520288 bytes
Database Buffers         5335154688 bytes
Redo Buffers               14745600 bytes
Database mounted.
SQL> create spfile from pfile;

File created.

SQL> alter database open;

Database altered.

ora-24324数据库无法关闭

oracle@weblogic28 $sqlplus / as sysdba


SQL*Plus: Release 10.2.0.1.0 - Production on Fri Nov 30 16:02:32 2012

Copyright (c) 1982, 2005, Oracle. All Rights Reserved.

Connected.
SQL> startup nomount;
ORA-01081: cannot start already-running ORACLE - shut it down first
SQL> shutdown immediate;
ORA-24324: service handle not initialized
ORA-24323: value not allowed
ORA-01089: immediate shutdown in progress - no operations are permitted
SQL> shutdown abort;
ORA-01031: insufficient privileges
SQL> exit
Disconnected
oracle@hostname $sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Fri Nov 30 16:05:57 2012

Copyright (c) 1982, 2005, Oracle. All Rights Reserved.

Connected.
SQL> shutdown abort
ORACLE instance shut down.
SQL> exit
Disconnected
oracle@hostname $sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Fri Nov 30 16:06:17 2012

Copyright (c) 1982, 2005, Oracle. All Rights Reserved.

Connected to an idle instance.

SQL> startup nomount;
ORACLE instance started.

Total System Global Area 595591168 bytes
Fixed Size 2073064 bytes
Variable Size 213913112 bytes
Database Buffers 373293056 bytes
Redo Buffers 6311936 bytes

tns-12560:TNS-00511

今天有个朋友在机器上安装oracle单位实例

启动不了监听报tns-12560:TNS-00511

[oracle@weblogic29 ~]$ lsnrctl stop

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 28-NOV-2012 17:11:41

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=weblogic29)(PORT=1521)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   Linux Error: 111: Connection refused
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   Linux Error: 111: Connection refused

原因是因为他以前用这台机器作为rac的一节点安装过rac
且在/etc/hosts文件中的配置没有修改,而它配置监听时主机使用的是主机名

10.138.130.29 weblogic29  jyrac1
10.138.130.209 weblogic29  jyrac1-priv
10.138.130.219 weblogic29  jyrac1-vip

10.138.130.28 weblogic28  jyrac2
10.138.130.208 weblogic28  jyrac2-priv
10.138.130.218 weblogic28  jyrac2-vip

后修改为

10.138.130.29    weblogic29      localhost

重新启动监听就行了

[oracle@weblogic29 ~]$ lsnrctl start

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 28-NOV-2012 17:20:19

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

Starting /u01/app/oracle/product/10.2.0/db/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 10.2.0.1.0 - Production
System parameter file is /u01/app/oracle/product/10.2.0/db/network/admin/listener.ora
Log messages written to /u01/app/oracle/product/10.2.0/db/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=weblogic29)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=weblogic29)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date                28-NOV-2012 17:20:21
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/10.2.0/db/network/admin/listener.ora
Listener Log File         /u01/app/oracle/product/10.2.0/db/network/log/listener.log
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=weblogic29)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully