1.alter database mount;
这一过程数据库需要计算 mount id 并将其记录在控制文件中,然后开始启动心跳(heartbeat),每3秒更新一次控制文件。可用以下命令间隔3秒转储2次控制文件信息:
alter session set enents 'immediate trace name CONTROLF level 8';
cd dump 下用diff xx.trc xx.trc 比较两个文件的不同。只有heartbeat的值不同。
2.也可用sys查内部表得到heartbeat的值X$KCCCP(Kernel Cache Controlfile managerment Checkpoint Progress);
select CPHBT from X$KCCCP;
SQL> select event#,name from v$event_name where name like '%heart%';
EVENT# NAME
---------- --------------------------------------------------
75 heartbeat monitor sleep
380 ASM mount : wait for heartbeat
563 control file heartbeat
SQL>
3.备份控制文件;
alter database backup controlfile to trace;
4.db_unique_name
5.orapwd file=orapworcl password=oracle entries=5
6.oracle_base在11g引入到了数据库的内部,增加了隐含参数。
SQL> select x.ksppinm name,y.ksppstvl value,x.KSPPDESC PDESC from sys.x$ksppi x,sys.x$ksppcv y where x.indx=y.indx and x.ksppinm like '%&par%' ;
SQL> /
输入par的值: oracle_base
old: 2: x.indx=y.indx and x.ksppinm like '%&par%'
new: 2: x.indx=y.indx and x.ksppinm like '%oracle_base%'
NAME VALUE PDESC
-------------------- -------------------- --------------------
__oracle_base /extdata/oracle ORACLE_BASE
SQL>
7.ADR:automatic diagnostic repository.
select * from v$diag_info ;其中diag_alert和diag trace对应目录分别存储了xml和文本格式的街区日志文件。
8.ADR之于诊断文件,就类似于OFA(Optimal Flexible Architecture)之于数据库文件,FRA(Flash Recovery Area)之于备份文件。
9.ADR 是 11g的新特性 故障诊断基础架构(Fault Diagnosability Infrastructure)的一角。
ips 属于FDI 的事件打包服务(Incident Packaging Service,IPS).
10.adrci
adrci> show incident
adrci> show incident -mode DETAIL -p "incident_id=14601"
cd /extdata/oracle/diag/rdbms/orcl/orcl/incident/incident_14601
ls -l
使用如下命令可以为14601号incident创建逻辑package
adrci> set homepath diag/rdbms/orcl/orcl/
adrci> ips create package incident 14601
进一步用如下命令生成物理package
adrci> ips generate package 1 in /extdata/oracle/diag
1.2 数据库的访问
select sid,username,machine,program from v$session where username='SYSTEM' ;
select instance_name,startup_time,version from v$instance;
select sid,program from v$session ;
监听器不是默认的名称、端口 要设置 LOCAL_LISTENER参数:
local_listener=listener_alias
对于共享服务器模式,可以设置为:
DISPATCHERS="(PROTOCOL=tcp)(LISTENER=listener1)"
对于RAC环境,监听器可以向远程服务器注册:
orcl1的remote_listener=listener_orcl2
orcl2的remote_listener=listener_orcl1
在orcl1的tnsnames.ora中:
listener_orcl2=
(description=
(address=(protocol=tcp)(host=orcl2-server)(port=1521)))
在orcl2上同样把listener_orcl1解析。
show parameter remote_lis
alter system set REMOTE_LISTENER='LISTENERS_ALIAS' scope=both sid='*';
listener.ora 中:
LISTENER_ORCL =
(ADDRESS_LIST =
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.100.100)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.100.101)(PORT=1521))
)
RAC环境的tnsnames.ora多个实例地址信息,同时支持负载均衡和在多实例之间的Failover
smsrac =
(description =
(address=(protocol=tcp)(host=192.168.100.100)(port=1521))
(address=(protocol=tcp)(host=192.168.100.101)(port=1521))
(load_balance=yes)
(connect_data=
(service=dedicated)
(service_name=smsrac)
(failover_mode =
(type=select)
(method=basic)
(retries=180)
(delay=5)
)
)
)