菩提老祖的博客
===========================================================
===========================================================

这个参数用于限制恢复能否跨越resetlogs,对于数据库的恢复来说,resetlogs通常意味着不完全恢复,
在数据库resetlogs打开之后,控制文件中的很多信息被改写,在Oracle 10g之前,如果数据库resetlogs
打开,那么将不再能够通过当前的控制文件再次进行resetlogs点之前的恢复,而Oracle 10g改变了这个
历史。

在Oracle 10g中,即使通过resetlogs方式打开了数据库,Oracle仍然支持再次从resetlogs时间点之前进
行恢复;在Clone数据库时,Oracle设置这个参数为True,意思就是不允许再次进行跨越resetlogs时间点
的恢复。


yaanzy 发表于:2009.05.28 10:49 ::分类: ( Oracle技术 ) ::阅读:(827次) :: 评论 (0)
===========================================================
===========================================================

报错如下:

ORA-31626: job does not exist
ORA-31637: cannot create job SYS_EXPORT_SCHEMA_01 for user NAP3
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPV$FT_INT", line 606
ORA-39080: failed to create queues "" and "" for Data Pump job
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPC$QUE_INT", line 1550
ORA-01403: no data found


这种错误通常都是由于Oracle软件升级之后和库不一致产生的,需要重新
执行catalog.sql and catproc.sql来配置后台数据字典

sql>@?/rdbms/admin/catalog.sql
sql>@?/rdbms/admin/catproc.sql


yaanzy 发表于:2009.05.23 23:06 ::分类: ( Oracle技术 ) ::阅读:(855次) :: 评论 (0)
===========================================================
===========================================================
  1. 在10gR2之前,使用alter database datafile offline drop方法只能是让表空间的数据文件脱机,
    不是真正删除,在数据字典 v$datafile,dba_data_files里面还是能够查到这些offline的文件的
    信息;要清除这些数据字典中的信息,只能是删除整个表空间;
  2. 从10gR2开始,支持语法alter tablespace drop datafile来删除一个空的数据文件,相关信息也
    从数据字典中删除


yaanzy 发表于:2009.05.23 22:45 ::分类: ( Oracle技术 ) ::阅读:(1056次) :: 评论 (0)
===========================================================
===========================================================

测试环境:rhel5 oracle10.2.0.1

参数lock_sga是用来保证SGA都被锁定在物理内存中,而不必页入/页出。
在linux下面首先的检查oracle用户使用系统资源的限制:

oracle$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
max nice (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 32235
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 65536
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
max rt priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 16384
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited

 查看全文

yaanzy 发表于:2009.05.09 14:06 ::分类: ( Oracle技术 ) ::阅读:(1002次) :: 评论 (0)
===========================================================
===========================================================

1> 查看oracle数据字典gv$cluster_interconnects (10gR2)
SQL> select * from gv$cluster_interconnects;
INST_ID NAME IP_ADDRESS IS_PUBLIC SOURCE
---------- --------------- ---------------- --------- -------------------------------
1 interface 10.10.10.11 NO Oracle Cluster Repository
2 interface 10.10.10.12 NO Oracle Cluster Repository


2> 查看oracle内部的表x$ksxpia
SQL> conn sys/sys@grid1 as sysdba
已连接。
SQL> select * from x$ksxpia;
ADDR INDX INST_ID PUB_KSXPIA PICKED_KSXPIA NAME_KSXPIA IP_KSXPIA
-------- ---------- ---------- ---------- ----------------------- --------------- ------------
0C6A79EC 0 1 N OCR private 10.10.10.11
0C6A79EC 1 1 Y OCR public 192.168.0.231

 查看全文
yaanzy 发表于:2008.09.03 09:08 ::分类: ( Oracle技术 ) ::阅读:(1388次) :: 评论 (0)
===========================================================
===========================================================

最近在测试系统上发现dba_segments和dba_extents中统计段空间大小居然不一样

SQL> select bytes,blocks,extents from dba_segments where segment_name='PROFILE' and owner='NAP3';

BYTES BLOCKS EXTENTS
---------- ---------- ----------
0 0 0

SQL> select bytes,blocks,extent_id from dba_extents where segment_name='PROFILE' and owner='NAP3';

BYTES BLOCKS EXTENT_ID
---------- ---------- ----------
167772160 20480 0


在metalink上搜索到如下资料: Doc ID: Note:463101.1
HOW TO DISCOVER AND FIX THE MISTMATCH BETWEEN DBA_SEGMENTS AND DBA_EXTENTS DICTIONARY VIEWS

里面讲到当DML/DDL操作(parallel index creation, frequent deletes/inserts)会导致这种不一致,
导致dba_segments中的不正确, 所以dba_extents中记录的分配给段的空间值才是可信的值。。

解决方法是执行一个Oracle internal的未写入文档的procedure:

 查看全文

yaanzy 发表于:2008.08.28 11:05 ::分类: ( Oracle技术 ) ::阅读:(2502次) :: 评论 (0)
===========================================================
===========================================================

使用脚本升级10.1.0.4到10.1.0.5时报错:

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2008-08-25_07-05-05AM. Please wait ...Oracle Universal Installer, Version 10.1.0.5.0 Production
Copyright (C) 1999, 2005, Oracle. All rights reserved.

...............................................................100% Done.


Error:*** Alert: Invalid staging area. There are no top level components for Solaris Operating System (SPARC) available for installation in this staging area. ***

开始以为是下载的升级包平台版本不对,检查后发现是一致的;后来才发现是response文件中FROM_LOCATION指定product.xml的路径写错了

 查看全文

yaanzy 发表于:2008.08.25 13:10 ::分类: ( Oracle技术 ) ::阅读:(1050次) :: 评论 (0)
===========================================================
===========================================================

方法1: 这种方法是网上流传比较多的,缺点是连接sqlplus后只能取一个值

#!/bin/ksh

database_role=$(sqlplus -s / as sysdba <<EOF
SET ECHO OFF NEWP 0 SPA 0 PAGES 0 FEED OFF HEAD OFF TRIMS ON
SET HEAD OFF
WHENEVER SQLERROR EXIT SQL.SQLCODE
select database_role FROM v$database;
exit;
EOF)

echo database_role=$database_role

 查看全文

yaanzy 发表于:2008.08.07 11:19 ::分类: ( Oracle技术 ) ::阅读:(1648次) :: 评论 (0)
===========================================================
===========================================================

今天做Oracle RAC环境下升级10.1.0.5的回退工作。其中通过在startup upgrade状态下执行一些sql脚本,
但每次startup upgrade老是报错:
ORA-01092: ORACLE instance terminated. Disconnection forced

 查看全文

yaanzy 发表于:2008.07.30 16:49 ::分类: ( Oracle技术 ) ::阅读:(3868次) :: 评论 (2)
===========================================================
===========================================================

近期针对客户10.1.0.4的RAC平台做了个脚本升级到10.1.0.5
RAC环境:solaris 两个节点:clnode1 clnode2

步骤如下:
1. upgrade oracle software

1.1 shutdown database (run on clnode1)
  shutdown instance on all nodes:
$ORACLE_HOME/bin/srvctl stop database -d db_name
 
1.2 shutdown all processes lisntener and CSS as root (run on clnode1)
  #/etc/init.d/init.cssd stop

1.3 upgrade crs software and database software (run on clnode1) (note: need to make rac_crs.rsp and rac_db.rsp)
$./runInstaller -silent -responseFile rac_crs.rsp
$./runInstaller -silent -responseFile rac_db.rsp

 查看全文
yaanzy 发表于:2008.07.27 14:43 ::分类: ( Oracle技术 ) ::阅读:(1163次) :: 评论 (0)
===========================================================
===========================================================

Oracle10gR2在部署安全配置的时候,提供了额外的安全性,强制使用了最少特权原则:对于经
常使用的CONNECT角色仅仅提供了连接数据库所需要的权限,即CREATE SESSION权限.

过去许多年以来,CONNECT角色一直应用在许多代码,应用,和文档中,尽管CONNECT角色被频繁
使用在建立账户的时候,但是仅仅连接数据库,是不需要如此多的权限的.

10g R2中Connect角色权限的删减

 查看全文

yaanzy 发表于:2008.07.06 13:45 ::分类: ( Oracle技术 ) ::阅读:(632次) :: 评论 (0)
===========================================================
===========================================================

Oracle 从9i 开始增强了批 DML 在发生异常时处理的错误及失败的程序执行能力。这是通过
FORALL 语句的 SAVE EXCEPTION 子句来实现,其语法如下:

FORALL index in lower..upper save exceptions

SAVE EXCEPTIONS 子句是 oracle 9i 中引入的,它在一个隐式游标属性
SQL%BULK_EXCEPTIONS 中保存错误行,允许 FORALL 语句继续处理其余行。

下面这一段代码是 SQL%BULK_EXCEPTIONS 的应用例子:

 查看全文

yaanzy 发表于:2008.07.06 12:48 ::分类: ( Oracle技术 ) ::阅读:(821次) :: 评论 (0)
===========================================================
===========================================================

给软件打补丁相当于给人打预防针,对系统的稳定运行至关重要。本文详细、系统地介绍了
Oracle数据库补丁的分类、安装、管理等问题。

厂商提供给用户的软件补丁的形式多为编译后的库函数,所以安装软件补丁实际上就是把这
些库函数拷贝到相应目录,并在需要时进行联接操作。软件公司一般在一段时间后会把针对
某一版本的所有补丁进行整理:合并融合,解决冲突,进行整体测试,并使文件拷贝和联接
操作自动执行,得到一个软件补丁“包”。不同的公司使用不同的名称,现在一般计算机用
户都熟悉的Windows Service
Pack就是这样的补丁包。Oracle公司给出的补丁包的名称是Patch Set,安装Patch
Set后的版本称Patch Set Release(PSR)。

 查看全文

yaanzy 发表于:2008.07.04 11:07 ::分类: ( Oracle技术 ) ::阅读:(623次) :: 评论 (0)
===========================================================
===========================================================

测试:

session 1:

SQL> delete from emp where emp.deptno=10;

session 2:

SQL> delete from dept where deptno=40;

现象:在emp的字段deptno没有索引时session 2等待, 有索引则不等待.

结论:如果没有索引时,对父表的操作,会级联加一个TM S锁(level 4)到子表上;
如果有索引时,对父表的操作,会级联加一个TM RS锁(level 2)到子表上;
这时如果子表上本身就有个TM RX锁(这种锁很容易产生,insert update delete都会产生这种锁),
TM S锁和TM RX锁是互斥的, TM RS锁和TM RX锁是相容的.


yaanzy 发表于:2008.06.25 20:07 ::分类: ( Oracle技术 ) ::阅读:(725次) :: 评论 (0)
===========================================================
===========================================================

找了N久的歌,今天无意在网上发现,感谢love li分享。在这里帖出来是让更多的人看到。
One More Chance EMI罐头音乐,编号KPM 655/85,付费版权音乐。作曲: Simon May / Simon Lockyer / John Brant 歌手:ferras

下载地址:192K品质下载:
[url]http://www.fs2you.com/zh-cn/files/0bac6d5e-22ee-11dd-852b-0014221f4662/
320K品质下载:
[url]http://www.fs2you.com/files/6ef17840-22ef-11dd-ba84-00142218fc6e/

歌词:

 查看全文
yaanzy 发表于:2008.06.14 20:40 ::分类: ( 娱乐休闲 ) ::阅读:(1430次) :: 评论 (0)
切换风格
新闻聚合
博客日历
文章归档...
最新发表...
最新评论...
最多阅读文章...
博客统计...
Blog信息
网站链接...