摘要:
Data Guard是Oracle提供的一种高可用性解决方案,用于数据保护和容灾,通过日志同步来把数据及时传送到备用节点,现总结一下Data Guard环境下常用的维护命令:1、在生产库停止Data Guard操作:SQL> show parameter log_archive_destSQL> alter system set log_archive_dest_state_2=defer;2、在生产库开启Data Guard操作:SQL> alter system set log_archive_dest_state_2=enable;3、在备份库查看生产库传过来的归档应用 阅读全文
摘要:
有时候为了两个Oracle数据库部分表的同步,我们可以采用从源库exp需要的表再在本地执行imp导入。操作的思路:首先从远程数据库exp需要的表到本地,然后在本地执行drop table命令把要替换的表删除,这里要注意那些主外键关联的表的删除的顺序,最后再执行imp导入即可。脚本如下:首先建立执行命令的.sh文件:[oracle@erpdevdb ~]$ cat erpupdate.shecho "----------------------------------------------------------------" >>/home/oracle/er 阅读全文
摘要:
一、windows环境1、开始->设置->控制面板->管理工具->服务 停止所有Oracle服务。2、开始->程序->Oracle >Oracle Installation Products-> Universal Installer 勾选卸装所有的Oracle产品,但不删除Universal Installer本身。5、运行regedit,选择HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE,按del键删除这个入口。6、运行regedit,选择HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services,滚动这个列表,删除所有O 阅读全文
摘要:
Logminer是oracle从8i开始提供的用于分析重做日志信息的工具,它包括DBMS_LOGMNR和DBMS_LOGMNR_D两个package,后边的D是字典的意思。它既能分析redo log file,也能分析归档后的archive log file。在分析日志的过程中需要使用数据字典,一般先生成数据字典文件后使用,10g版本还可以使用在线数据字典。Logminer可以分析其它数据库的重做日志文件,但是必须使用重做日志所在数据库的数据字典,否则会出现无法识别的乱码。另外被分析数据库的操作系统平台最好和当前Logminer所在数据库的运行平台一样,且block size相同。1、运行以下 阅读全文
摘要:
很多软件开发过程中,没有注意合理规划索引,造成一个表上有N多个索引,为后续的维护和优化带来麻烦。因此有时候需要监控已有的索引是否在使用,oracle提供了监控索引是否使用的工具,很简单,简要介绍一下。首先,我们如果是监控一个表上的所有索引,可以这样先生成监控的命令:SQL> select 'alter index '||index_name||' monitoring usage;' from user_indexes where table_name=upper('mpaymentappl')2 /'ALTERINDEX' 阅读全文
摘要:
在平时的oracle建库中我们一般都是采用GUI建库方式,所以手工建库相对来说比较有些难度,这个也是OCM考试中需要关注的地方,特别做了测试,主要是版本是9i, 10g1.修改/etc/orataboral:/opt/oracle/database:N2.创建sys口令认证文件orapwd file=$ORACLE_HOME/dbs/orapworal password=system entries=53.设置oracle用户环境变量实例名vi .bash_profileexport ORACLE_SID=oralexport ORACLE_BASE=/opt/oracleexport ORA 阅读全文
摘要:
前几天大家讨论一个问题,oracle 11g data guard分为哪几种,本来只想到还是物理standby和逻辑standby2种,没想到今天在查阅了oracle 11g的在线文档后发现,实际上载oracle 11g中已经分了三种类型的standby,当然以前听说oracle 11g支持叫做active standby的功能,仔细研究后发现只不过是一种在只读模式下就可以应用恢复,这样在很多设计中可以将备库来做一些报表功能,减少主库的查询带来的一些负载和性能问题,当然这个功能其实也不是什么新技术了,早在informix 7的HDR就做到了,看来相对来说,oracle在这块的功能也比较滞后了些 阅读全文
摘要:
锁是并发访问的时候用于保护不共享资源不被同时并发修改的机制。oracle锁分为DML锁,DDL锁,内部锁和latchDML锁确保一次只能只有一个人修改某一行(TX锁),而且正在处理一个表时别人不能删除(TM锁)。DDL锁,在DDL操作是系统会自动为对象加上DDL锁,保护这些对象不被其他会话锁修改。latch是轻量级的串行化设备,用于协调对共享数据结构、对象、文件的多用户访问,一般都是保护共享内存结构使用的锁,在此不做讨论。一般的锁管理器工作过程:1.找到想要锁定的那一行地址2.在锁管理器排队3.锁定列表4.搜索列表,查看别人是否锁定这一行5.在列表中创建一个新的条目,表明已经锁定这一行6.对列 阅读全文
摘要:
,今天开发人员问我如何快速并方便的查出一张表最近被更改的记录,这个需求很简单,由于是查最近被更改的数据,查回滚段就可以,下面是我做的小实验。SQL> create table test(id number,name varchar2(10),gender varchar2(5));
表已创建。
SQL> insert into test values(1,'宋春风','男');
已创建 1 行。
SQL> insert into test values(2,'叶民','男');
已创建 1 行。
SQL> 阅读全文
摘要:
Oracle中SQL解析的主要流程:我们说的游标概念比较复杂,它可以是客户端程序中的游标,服务进程中的私有游标,以及服务器端共享池里的共享游标。假设一个游标被打开了,一般来说它的共享游标信息(包括执行计划,优化树等)总是会在SQL AREA里,无需再次软/硬解析。SESSION_CACHED_CURSORS是Oracle中的一个初始化参数(修改必须重启实例),指定了每个会话缓存的游标上限(保留在PGA中);客户端程序中open cursor的要求仍会被传递给服务进程,服务进程首先扫描自身缓存的游标信息,如果命中则可以避免软解析,也有人称它为“软软解析”。HOLD_CURSOR是预编译程序中的一 阅读全文
摘要:
什么是市盈率市盈率是一个反映股票收益与风险的重要指标,也叫市价盈利率。它是用当前每股市场价格除以该公司的每股税后利润,其计算公式如下:市盈率=股票每股市价/每股税后利润在上海证券交易所的每日行情表中,市盈率计算采用当日收盘价格,与上一年度每股税后利润的比值称作市盈率Ⅰ,与当年每股税后利润预测值的比较称作为市盈率 Ⅱ。不过由于在香港上市公司不要求作盈利预测,故H股板块的A股(如青岛啤酒)只有市盈率Ⅰ这一项指标。所以说,一般意义上的市盈率是指市盈率Ⅰ。一般来说,市盈率表示该公司需要累积多少年的盈利才能达到目前的市价水平,所以市盈率指标数值越低越小越好,越小说明投资回收期越短,风险越小,投资价值一般 阅读全文
摘要:
优化索引的规则如下:If 一个表中有两个索引 ( I1 and I2 ) andI1索引所涉及的列数<=I2索引所涉及的列数 and I1索引中列的顺序与I2索引中列的顺序相同Then IfI1索引是 UNIQUE then IfI2索引是一个外键的参考列 then Do Nothing Else 删除I2 End If Else 删除I1 End IfEnd If用下面的语句查询出SCOTT模式下面重复的索引:conn sys/sys as sysdbaSELECT /*+ RULE */ tab_owner.name owner, t.name table_name, o1... 阅读全文