1.報(bào)錯(cuò):
Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/OraInstall2011-07-06_03-14-36PM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at sun.security.action.LoadLibraryAction.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.NativeLibLoader.loadLibraries(Unknown Source)
at sun.awt.DebugHelper.<clinit>(Unknown Source)
at java.awt.Component.<clinit>(Unknown Source)
2.出錯(cuò)原因:缺少系統(tǒng)安裝包:rpm -ivh libXp-1.0.0-8.i386.rpm
摘要: oracle讀取數(shù)據(jù)的最小單位是塊.oracle讀取數(shù)據(jù)的最大限制取決于OS和oracle對(duì)多塊讀I/O的限制(db_file_multiblock_read_count).物理上來(lái)說(shuō),一個(gè)sql讀取某個(gè)記錄,得將記錄讀取到DB Cache中,然后才能從中或者,這個(gè)稱為物理讀.如果這個(gè)數(shù)據(jù)已經(jīng)存在于DB Cache中,那么前臺(tái)進(jìn)程可以直接沖DB Cache中讀取數(shù)據(jù),這個(gè)稱謂邏輯讀.邏輯上來(lái)說(shuō),有...
閱讀全文
1.查看隱藏參數(shù)
腳本1:
SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.ksppdesc describ
FROM SYS.x$ksppi x, SYS.x$ksppcv y
WHERE x.inst_id = USERENV ('Instance')
AND y.inst_id = USERENV ('Instance')
AND x.indx = y.indx
AND x.ksppinm LIKE '%&par%'腳本2:
select
x.ksppinm name,
y.ksppstvl value,
y.ksppstdf isdefault,
decode(bitand(y.ksppstvf,7),1,'MODIFIED',4,'SYSTEM_MOD','FALSE') ismod,
decode(bitand(y.ksppstvf,2),2,'TRUE','FALSE') isadj
from
sys.x$ksppi x,
sys.x$ksppcv y
where
x.inst_id = userenv('Instance') and
y.inst_id = userenv('Instance') and
x.indx = y.indx and
x.ksppinm like '%_&par%'
order by
translate(x.ksppinm,'_','')2.Oracle通過(guò)一個(gè)內(nèi)部參數(shù)_small_table_threshold來(lái)定義大表和小表的界限.缺省情況下該參數(shù)等于2%的數(shù)量,如果表的buffer大小小于這個(gè)參數(shù)的定義,則oracle認(rèn)為它是小表,反之為大表.
select (db_cache_size/塊size)*0.02 from dual
SELECT d.VALUE || '/' || LOWER(RTRIM(i.INSTANCE, CHR(0))) || '_ora_' ||
p.spid || '.trc' trace_file_name
FROM (SELECT p.spid
FROM v$mystat m, v$session s, v$process p
WHERE m.statistic# = 1
AND s.SID = m.SID
AND p.addr = s.paddr) p,
(SELECT t.INSTANCE
FROM v$thread t, v$parameter v
WHERE v.NAME = 'thread'
AND (v.VALUE = 0 OR t.thread# = TO_NUMBER(v.VALUE))) i,
(SELECT VALUE FROM v$parameter WHERE NAME = 'user_dump_dest') d
安裝clusterware之前做一個(gè)檢查,./runcluvfy.sh stage -pre crsinst -n rac1,遇到反饋錯(cuò)誤
ERROR:
User equivalence unavailable on all the nodes.
Verification cannot proceed.
網(wǎng)上查了下,解決方法如下
root@rac1 # mkdir -p /usr/local/bin
root@rac1 # ln -s -f /usr/bin/ssh /usr/local/bin/ssh
root@rac1 # ln -s -f /usr/bin/scp /usr/local/bin/scp
在oracle用戶下:
$ exec /usr/bin/ssh-agent $SHELL
$ /usr/bin/ssh-add
再執(zhí)行./runcluvfy.sh stage -pre crsinst -n rac1,rac2,就能正常檢查了
[oracle@rac1 cluvfy]$ ./runcluvfy.sh stage -pre crsinst -n rac1,rac2

Performing pre-checks for cluster services setup

Checking node reachability
Node reachability check passed from node "rac1".


Checking user equivalence
User equivalence check passed for user "oracle".

Checking administrative privileges
User existence check passed for "oracle".
Group existence check passed for "oinstall".
Membership check for user "oracle" in group "oinstall" [as Primary] passed.

Administrative privileges check passed.

Checking node connectivity

Node connectivity check passed for subnet "172.16.0.0" with node(s) rac2,rac1.

WARNING:
Make sure IP address "10.10.10.51" is up and is a valid IP address on node "rac1".
Node connectivity check failed for subnet "10.10.10.0".

Suitable interfaces for the private interconnect on subnet "172.16.0.0":
rac2 eth0:172.16.40.52
rac1 eth0:172.16.40.51

ERROR:
Could not find a suitable set of interfaces for VIPs.

Node connectivity check failed.


Checking system requirements for 'crs'
Total memory check passed.
Free disk space check passed.
Swap space check passed.
System architecture check passed.
Kernel version check passed.
Package existence check passed for "make-3.79".
Package existence check passed for "binutils-2.14".
Package existence check passed for "gcc-3.2".
Package existence check passed for "glibc-2.3.2-95.27".
Package existence check passed for "compat-db-4.0.14-5".
Package existence check failed for "compat-gcc-7.3-2.96.128".
Check failed on nodes:
rac2,rac1
Package existence check failed for "compat-gcc-c++-7.3-2.96.128".
Check failed on nodes:
rac2,rac1
Package existence check failed for "compat-libstdc++-7.3-2.96.128".
Check failed on nodes:
rac2,rac1
Package existence check failed for "compat-libstdc++-devel-7.3-2.96.128".
Check failed on nodes:
rac2,rac1
Package existence check passed for "openmotif-2.2.3".
Package existence check passed for "setarch-1.3-1".
Group existence check passed for "dba".
Group existence check passed for "oinstall".
User existence check passed for "nobody".

System requirement failed for 'crs'

Pre-check for cluster services setup was unsuccessful on all the nodes.
監(jiān)控flash_recovery_area的使用情況可以查詢2個(gè)視圖:
1.V$FLASH_RECOVERY_AREA_USAGE:displays usage information about flashback recovery areas
SQL> select * from v$flash_recovery_area_usage;

FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
-------------------- ------------------ ------------------------- ---------------
CONTROL FILE 0 0 0
REDO LOG 0 0 0
ARCHIVED LOG 30.81 0 61
BACKUP PIECE 0 0 0
IMAGE COPY 0 0 0
FLASHBACK LOG 12.99 8.54 70
FOREIGN ARCHIVED LOG 0 0 0

已選擇7行。

SQL> select sum(PERCENT_SPACE_USED) from v$flash_recovery_area_usage;

SUM(PERCENT_SPACE_USED)
-----------------------
43.82.V$RECOVERY_FILE_DEST:displays information about the disk quota and current disk usage in the flash recovery area.
SQL> select * from V$RECOVERY_FILE_DEST;

NAME SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES
---------------------------------------- ----------- ---------- ----------------- ---------------
/opt/oracle/flash_recovery_area 8589934592 3762538496 733315072 131

SQL> select round(100*(a.space_used/space_limit),2) from v$recovery_file_dest a;

ROUND(100*(A.SPACE_USED/SPACE_LIMIT),2)
---------------------------------------
43.8
1.先將備份的控制文件和數(shù)據(jù)文件copy到原來(lái)的位置
2.mount數(shù)據(jù)庫(kù)
3.RECOVER DATABASE USING BACKUP CONTROLFILE
4.ALTER DATABASE OPEN RESETLOGS;
代碼如下:
SQL> shutdown abort
ORACLE 例程已經(jīng)關(guān)閉。
SQL> host del D:\oracle\product\10.2.0\oradata\suredd\control*.ctl


/**//** 在此先將備份的控制文件和數(shù)據(jù)文件還原*/

SQL> startup mount
ORACLE 例程已經(jīng)啟動(dòng)。

Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 230689668 bytes
Database Buffers 373293056 bytes
Redo Buffers 7135232 bytes
數(shù)據(jù)庫(kù)裝載完畢。
SQL> RECOVER DATABASE USING BACKUP CONTROLFILE
ORA-00279: 更改 873855 (在 05/05/2011 15:47:47 生成) 對(duì)于線程 1 是必需的
ORA-00289: 建議:
D:\ORACLE\PRODUCT\10.2.0\ARCHIVELOGS\SUREDD\ARC00001_0750352730.001
ORA-00280: 更改 873855 (用于線程 1) 在序列 #1 中


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00308: 無(wú)法打開歸檔日志
'D:\ORACLE\PRODUCT\10.2.0\ARCHIVELOGS\SUREDD\ARC00001_0750352730.001'
ORA-27041: 無(wú)法打開文件
OSD-04002: 無(wú)法打開文件
O/S-Error: (OS 2) 系統(tǒng)找不到指定的文件。


ORA-00308: 無(wú)法打開歸檔日志
'D:\ORACLE\PRODUCT\10.2.0\ARCHIVELOGS\SUREDD\ARC00001_0750352730.001'
ORA-27041: 無(wú)法打開文件
OSD-04002: 無(wú)法打開文件
O/S-Error: (OS 2) 系統(tǒng)找不到指定的文件。


SQL> RECOVER DATABASE USING BACKUP CONTROLFILE
ORA-00279: 更改 873855 (在 05/05/2011 15:47:47 生成) 對(duì)于線程 1 是必需的
ORA-00289: 建議:
D:\ORACLE\PRODUCT\10.2.0\ARCHIVELOGS\SUREDD\ARC00001_0750352730.001
ORA-00280: 更改 873855 (用于線程 1) 在序列 #1 中


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
E:\oracletest\backup\suredd\REDO01.LOG
ORA-00339: 歸檔日志未包含任何重做
ORA-00334: 歸檔日志: 'E:\ORACLETEST\BACKUP\SUREDD\REDO01.LOG'


SQL> RECOVER DATABASE USING BACKUP CONTROLFILE
ORA-00279: 更改 873855 (在 05/05/2011 15:47:47 生成) 對(duì)于線程 1 是必需的
ORA-00289: 建議:
D:\ORACLE\PRODUCT\10.2.0\ARCHIVELOGS\SUREDD\ARC00001_0750352730.001
ORA-00280: 更改 873855 (用于線程 1) 在序列 #1 中


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
E:\ORACLETEST\BACKUP\SUREDD\REDO02.LOG
ORA-00339: 歸檔日志未包含任何重做
ORA-00334: 歸檔日志: 'E:\ORACLETEST\BACKUP\SUREDD\REDO02.LOG'


SQL> RECOVER DATABASE USING BACKUP CONTROLFILE
ORA-00279: 更改 873855 (在 05/05/2011 15:47:47 生成) 對(duì)于線程 1 是必需的
ORA-00289: 建議:
D:\ORACLE\PRODUCT\10.2.0\ARCHIVELOGS\SUREDD\ARC00001_0750352730.001
ORA-00280: 更改 873855 (用于線程 1) 在序列 #1 中


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
E:\ORACLETEST\BACKUP\SUREDD\REDO03.LOG
已應(yīng)用的日志。
完成介質(zhì)恢復(fù)。
SQL> ALTER DATABASE OPEN RESETLOGS;

數(shù)據(jù)庫(kù)已更改。

SQL> select * from dd.t1;

ID NAME
---------- ----------
1 test1
2 test2

SQL>
直接摘錄2段話:
1.Set NORESETLOGS case
The following commands will create a new control file and use it to open the database.
Data used by Recovery Manager will be lost.
Additional logs may be required for media recovery of offline.
Use this only if the current versions of all online logs are available.
2.Set RESETLOGS case
The following commands will create a new control file and use it to open the database.
Data used by Recovery Manager will be lost.
The contents of online logs will be lost and all backups will be invalidated.
Use this only if online logs are damaged.
1.控制文件全部丟失,在線重做日志丟失,如果有備份的2進(jìn)制的控制文件也不能使用,為什么呢?因?yàn)橛脗浞莸目刂莆募M(jìn)行恢復(fù)時(shí)(
RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL),
由于使用了備份的控制文件,備份之后的歸檔日志信息丟失,所以需要在線重做日志來(lái)進(jìn)行介質(zhì)恢復(fù),而當(dāng)前的情況是在線重做日志也丟失了,所以只能進(jìn)行手工創(chuàng)建控制文件.
2.以alter database open resetlogs打開數(shù)據(jù)庫(kù)
2.1如果當(dāng)初關(guān)閉數(shù)據(jù)庫(kù)時(shí)是非正常關(guān)閉,那么在打開數(shù)據(jù)庫(kù)之前應(yīng)該先RECOVER DATABASE USING BACKUP CONTROLFILE
3.添加temp文件
代碼如下:
SQL> shutdown immediate
數(shù)據(jù)庫(kù)已經(jīng)關(guān)閉。
已經(jīng)卸載數(shù)據(jù)庫(kù)。
ORACLE 例程已經(jīng)關(guān)閉。
SQL> host del D:\oracle\product\10.2.0\oradata\suredd\control*.ctl

SQL> host del D:\oracle\product\10.2.0\oradata\suredd\redo*.log

SQL> startup nomount
ORACLE 例程已經(jīng)啟動(dòng)。

Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 226495364 bytes
Database Buffers 377487360 bytes
Redo Buffers 7135232 bytes
SQL> edit
已寫入 file afiedt.buf

1 CREATE CONTROLFILE REUSE DATABASE "SUREDD" RESETLOGS ARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 292
7 LOGFILE
8 GROUP 1 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\REDO01.LOG' SIZE 50M,
9 GROUP 2 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\REDO02.LOG' SIZE 50M,
10 GROUP 3 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\REDO03.LOG' SIZE 50M
11 DATAFILE
12 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\SYSTEM01.DBF',
13 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\SYSAUX01.DBF',
14 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\USERS01.DBF',
15 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\EXAMPLE01.DBF',
16 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\DDTESTTBS02.DBF',
17 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\UNTOTBS_NEW_01.DBF'
18* CHARACTER SET ZHS16GBK
SQL> /

控制文件已創(chuàng)建。

SQL> ALTER DATABASE OPEN RESETLOGS;

數(shù)據(jù)庫(kù)已更改。

SQL> ALTER TABLESPACE TEMP ADD TEMPFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\TEMP01.DBF'
2 SIZE 20971520 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;

表空間已更改。

SQL> select * from dd.t1;

ID NAME
---------- ----------
1 test1
2 test2

SQL>