ocp认证

教程发布:风哥 教程分类:ITPUX技术网 更新日期:2022-02-12 浏览学习:1392

1. 实例恢复a) DB如何做知道的V$datafile ->last_timeb) DB如何判断做介质恢复V$datafile 和 v$datafile_header 的SCN不一致时。Checkpoint_change# ——SCNc) 实例恢复过程1> 前滚 redo log rdbaV$mystat ——sid. Select sid from v$mystat where rownum=1;Dba_extentsV$process ——pid,spidV$session ——spidSelect pid,sid from v$process a,v$session b where a.addr=b.PADDR and sid=(select sid from v$mystat where rownum=1); Dump 中oracle给的进程号 rdba2> 回退 undo adba(xid)未提交数据 3> 2. UNDO表空间管理1> 回滚段可以使用非标准块作为block。必须是MSSM(还有system和temp)Show parameter db_16k_cache_size2> 常用视图Dba_rollback_segsDba_undo_extents——extent_id,file_id,block_idV$rollstatV$rollnameV$transaction3> Undo参数过期的快 未过期的块Show parameter undo_retentionSelect tablespce_name,retention from dba_tablespce;Noguarantee:事务提交后undo就会被覆盖Guarantee :提交的事务等到设置的时间后才能覆盖原来的数据4> Undo重做规则以extent为单位给事务分配空间,每个区之间保留3个数据库覆盖单元任何一个回滚段只能有一个事务相同的seq#不会覆盖实验:Create undo tablespace undo1 datafile ‘/u01/app/oracle/oradata/PROD/undo1_01.dbf’size 512K;Db_create_file_dest=’…’ 默认size=100MAlter system set undo_tablespace=’UNDO1’Show parameter undo开启三个窗口:Exprt ORACLE_SID=PROD>create table t1(id char(2000))>create table t2(id char(2000))>create table t3(id char(2000))>insert into t1 values(‘aaa’);向以上表中插入数据,不要commit直到提示UNDO空间不足再次>>create table t4(id char(2000))则再次插入数据时,所用的undo是系统表空间的回滚段Select extents,wraps,status from v$rollstat;5> 3. Redo管理4. 逻辑备份:导入导出 数据泵1》 OPEN2》 字符集 Al32UTF8 客户端OS、客户端软件和服务器端数据库字符集要一致。 修改字符集: Shutdownimmediate; Startupmount; Altersession set sql_trace=true; Altersystem enable restricted session; //受限模式,只能sysy用户连接 Altersystem set job_queue Altersystem set 3》 版本导一张表Exp scott/tiger file=/u01/emp.dmp tables=empIMP scott/tiger file=/u01/emp.dmp tables=emp ignore=yAlter table emp disable constraint PK_EMP;Alter table emp enable constraint pk_emp;Delete from emp where rowed not in (select max(rowid) fromemp group by empno); 导用户Exp scott/tiger file=scott.dmp Drop user scott cascade;Create user abc identified by abc account unlock;Imp system/oracle file=scott.dmp fromuser=scott touser=abc;Grant connect, resource to abc; 数据泵 (10g)Desc dba_directoriesCol directory_pathCreate directory dpdata as ‘/home/oracleGrant read,write on directory to abc;Expdp scott/tiger tables=emp directory=dpdata1dumpfile=emp1.dmp job_name=cases_exportImpdp scott/tiger tables=emp dirctory=dpdata1dumpfile=emp1.dmp job_name=cases_export Sys drop a table not puted into the 回收站Flashback table dept to before drop; //闪回删除 基于回收站 闪回表 基于redoUpdate emp set sal=10;Commit;Flashback table emp to timestamp to_date(‘2013-10-2717:20:00’,’yyyy-mm-dd hh24:mi:ss’);Alter table emp enable row movement; 实验:传输表空间1> 平台检查:SQL>select d.pla2> 约束检查SQL>exec dbms_tts.transport_set_check(‘AAA’,ture);SQL>select * from transport_set_3> create tablespace aaa datafile ‘/u01/app/oracle/oradata/PROD/aaa.dbf’size 10M;Create table abc tablespace aaa asAlter tablespace aaa read only;Expdp system/oracle directory=dir dumpfile=aaa.dmp transaction_tablespaces=aaa 对端:1. 建立用户、目录Scp aaa.dmpScp 2. Impdp system/oracle directory=dir dumpfile=aaa.dmptransport_datafiles=’/u01/app/oracle/oradata/EMERP/aaa.dbf’两边表空间设置为read write 5. 1.安装的时候RAC的参数文件分别在不同的节点上如何迁移到磁盘组node1:a.SQL>create pfile=/tmp/pfile.ora spfile; b.把pfile写到磁盘组上create spfile='+DATA/rac/spfilerac.ora'from pfile='/tmp/pfile.ora'c. vim initoracle.oraspfile='+DATA/rac/spfilerac.ora'//不能利用spfile生成spfilenode2a.删除spfileoracle select name from v$ 向OCR 注册新的监听./srvctl 一个节点挂掉,手动启动另一个节点/etc/inittab 最后三行,#掉模拟该节点挂掉man initinit q重新加载inittab#./crsctl disable crs [#./crsctl enable crs]#ps -ef |grep crs#kill -9 pidinit q 重新加载inittab如果杀掉crsd,evm,cssd 有问题,重启OS----模拟节点挂掉结束-------手动启动节点1.cd /etc/init.d/#./crsctl enable crs ---启动crs堆栈#bash -x init.crs start#sh -x init.cssd daemon & (crsctl check cssd)#sh -x init.evm run ---事件记录#sh -x crsd.bin runRAC手动启动节点RAC 负载均衡 PMON——>cluster服务器端的负载均衡 listener_rac1 监听有多个IP地址show parameter remote_listenerlocal_listenerselect instance_name from v$instances;conn sys/oracle@oracle as sysdbaalter system set remote_listener=’listener_oracle’;load_banece 基于客户端负载均衡 tnsname.ora主从服务器 故障切换 客户端vim tnsname.ora(LOAD_BALANCE =YES)(FAILOVER=ON)(CONNECT_DATA=(SERVER=DEDICATED) (SERVICE_NAME =olpt) (FAILOVER_MODE= (TYPE=SELECT) (METHOD=BASIC)))生产中2台机器的负载,不能大于一台负载均衡 调整RAC的并行度1. 保证参数文件在磁盘组上2. 创建instance_groups,重启db3. 把节点加入到instance_group4. 测试实例组show parameter databaseinstance_groups alter system set instance_groups=’grp_rac’,’all’scope=spfile;shutdown immediate; sqlplus sys/oracle@oracle as sysdbaalter system set parallel_instance_group=’all’sid=’rac1’;alter system set parallel_instance_group=’grp_rac’sid=’rac1’; select /*+parallel(t 5)*/ count(*) fromdba_objects t;select /*+parallel(t 5)*/ count(*) fromdba_objects where rownum<2000; ps –ef|grep p0 alter system flush shared_pool |buffer_cache|global context RAC锁是同步的,如果节点1增加了锁,节点2在来往间的节点访问的资源就不会加锁。块也要同步如果节点1在使用数据块,节点2要使用,需要从节点1传输过去。hash ->资源名->资源结构锁类型:CW 共享锁,EX , M non-pcm资源rac要同步的锁v$lock(高级队列锁),rowcache,lib lock/pin v$dlm_ress锁的资源结构v$dlm_ress_lock v$lock 验证: 1. 在节点1上创建一张表2. 录入一行数据3. 查看资源信息4. 查看锁的资源结构5. 在节点2上录入一条数据6. 在节点2上给T1加锁create table t1 (id int);insert into t1 values(10); 不提交select object_id from dba_objects whereobject_name=’T1’; ----对象编号select resurce_name,on_convert_q,on_grant_q,master_nodefrom v$dlm_ress;select grant_level,request_level,pid,owner_node,which_queue,blocked,blockerfrom v$dlm_all_locksselect from v$relock table t1 IN EXCLUSIVE MODE Rowcache (10046)DUMP分析alter session set events ‘immediate tracename row_cache level 8’; mode=X找X造成rowcache的元凶,正常是S找到去分析是哪个资源造成的?例如:注意大端法还是小端法。取234段内容,[1段是文件号]如分区表,第一段是表名,第二段是分区表select chr(to_number(‘53’,’xxxx’)) fromdual; 16进制-》char型1. 创建表空间2. 打开rac 闪回功能./srvctl stop datebase –d oracle./srvctl start datebase –d oracle –o mountshow parameter db_recdb_recovery_file_dest stringdb_recovery_file_dest_size big integer 0db_recycle_cache_size big integer 0 1. 设置闪回区的大小2. 修改闪回路径 注意:不能和参数文件放在同一级目录下3. 生成环境下一般把闪回配置在额外的磁盘组(归档存放到闪回) 打开归档的方法:1. show parameterlog_archive_dest_12. alter system setlog_archive_dest_13. show parameterlog_archive_dest_state_14. 文件格式 log_archive_format %t_%s_%r.arc5. ./srvctl stop datebase –doracle6. ./srvctl start datebase –doracle –o mount7. alter database archivelog;8. alter database open;9. archive log list;10. alter system switch logfile; DGconn /as sysdbaselect log_modealter database force logging1.主库首先开归档show parameter arch;cd /u01/app , mkdir archalter system set log_archive_1=’location=/u01/app/arch’;shutdown immediate;startup mountalter database archivelog做一次日志切换,arch里就会多一个文件alter system switch logfile 2.创建密码文件主备sys密码一致 3.增加日志组 –---- 注意要比现有日志组多一组 大小要一致select group#,bytes/1024/1024 from v$log;select member from v$logfile alter database add standy logfile group 4 (‘/u01/app/oracle/oradata/PROD/redo04.log’)size 50malter database add standy logfile group 5 (‘/u01/app/oracle/oradata/PROD/redo05.log’)size 50malter database add standy logfile group 6 (‘/u01/app/oracle/oradata/PROD/redo06.log’)size 50malter database add standy logfile group 7 (‘/u01/app/oracle/oradata/PROD/redo07.log’)size 50m select member from v$logfile ------确认standby日志组加进来否 4.准备主库的参数文件create pfile from spfilevim ….往参数文件里加入log_archive_config=’DG_CONFIG=(PROD,PROD_S)’log_archive_dest_1=‘location=/u01/app/archvalid_for=(all_logfiles,all_roles)db_unique_name=PROD’log_archive_dest_2=‘server=PROD LGWR ASYNCvalid_for=(online_logifles,primary_role)db_unique_name=PROD_S’log_archive=dest_state_1=enablelog_archive=dest_state_2=enablefal_server=PRODfal_client=PROD_Sdb_file_name_convert=’PROD’,’PROD_S’standby_file_management=auto 5.创建备库的控制文件alter database create standby controlfileas /u01/app/control01.ctl’ -----open状态下 6.编辑监听,让主备库能互相连接 7.cp主库的信息到备库a.数据库文件(所有)b.密码文件c.控制文件d.参数文件(需修改)如果是生产库,主库不能停,用rman备份再还原

本文标签:
本文标题:ocp认证
网站声明:本文由风哥整理发布,转载请保留此段声明,本站所有内容将不对其使用后果做任何承诺,请读者谨慎使用!
【上一篇】
【下一篇】