block change tracking文件可以放在flash_recovery_area里!
If the change tracking file was stored in the database area, then it is deleted when you disable change tracking.[@more@]SQL> alter database enable block change tracking using file 2 'C:block_changerman_change_track.txt' ;数据库已更改。SQL> ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;数据库已更改。--block change tracking文件可以放在flash_recovery_area,如果放在flash_recovery_area里面,则tracking文件会被自动删除,否则不会If the change tracking file was stored in the database area, then it
redhat下如何编译bbed!
网上很多地方写的编译bbed的命令是:make -f ins_rdbms.mk BBED=/opt/app/oracle/product/10.2.0/db_1/rdbms/lib/bbed /opt/app/oracle/product/10.2.0/db_1/bin/bbed可是总是编译不成功,在yxyup的帮助下总算编译成功了:make -f ins_rdbms.mk BBED=$ORACLE_HOME/bin/bbed $ORACLE_HOME/bin/bbed多谢yxyup!顺手记录下大致过程,进入bbed时需要输入default的password:blockedit[@more@][oracle@xys lib]$ ls ins*ins_rdbms.mk[oracle@xys lib]$ make -f ins_rdbms.mk BBED=/opt/app/oracle/product/10.2.0/db_1/rdbms/lib/bbed /opt/app/
shutdown abort之后为什么需要实例恢复!
讲课时随手记录的大致过程![@more@]SQL> shutdown immediate数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。SQL> startup mountORACLE 例程已经启动。Total System Global Area 163577856 bytesFixed Size 1247876 bytesVariable Size 83887484 bytesDatabase Buffers 75497472 bytesRedo Buffers 2945024 bytes数据库装载完毕。SQL> select checkpoint_change# from v$database;CHECKPOINT_CHANGE#------------------ 727692SQL> select file#
部分脱机备份、恢复大致过程!
讲课时随手记录的过程![@more@]session 1:SQL> alter tablespace users offline;表空间已更改。SQL> select *from t2;select *from t2*第 1 行出现错误:ORA-00376: 此时无法读取文件 11ORA-01110: 数据文件 11: 'E:ORACLEPRODUCT10.2.0ORADATATESTUSERS02.DBF'SQL> alter tablespace users online;表空间已更改。SQL> select *from t2;ID----------123456已选择6行。SQL> select group#,status,sequence# ,archived,thread#,first_change# from v$log;GROUP# STATUS SEQUENCE# ARC THREAD# FIRST_CHANGE#---------- -----
oracle备份恢复的大致原理!
讲课时随手记录的一个大致过程![@more@]SQL> create table t2(id int) tablespace users;表已创建。SQL> select current_scn from v$database;CURRENT_SCN----------- 704959SQL> select group#,status,sequence# ,archived,thread#,first_change# from v$log; GROUP# STATUS SEQUENCE# ARC THREAD# FIRST_CHANGE#---------- ---------------- ---------- --- ---------- ------------- 1 ACTIVE 89 YES 1 704431 4 CURRENT 90 NO
insert操作放在undo中的rowid怎么来的!
insert操作放在undo中的rowid怎么来的![@more@]SQL> create table t1(id int , name varchar2(10)) tablespace users pctfree 99;表已创建。SQL> insert into t1 values(1 , 'a');已创建 1 行。SQL> insert into t1 values(2 , 'b');已创建 1 行。SQL> insert into t1 values(3 , 'c');已创建 1 行。SQL> insert into t1 values(4 , 'd');已创建 1 行。SQL> insert into t1 values(5 , 'e');已创建 1 行。SQL> insert into t1 values(6 , 'f');已创建 1 行。SQL> insert into t1 values(7 , 'g');已创建 1 行。S
ora-01555模拟以及undo tbs的guarantee特性测试!
ora-01555模拟以及undo tbs的guarantee特性测试![@more@]session 1:SQL> variable i refcursor;SQL> select *from t1; ID NAME---------- ---------- 3 c 2 test 4 d 1 undoSQL> exec open :i for select *from t1;PL/SQL 过程已成功完成。session 2:11:02:00 SQL> create undo tablespace undotbs3 datafile 'E:ORACLEPRODUCT10.2.0ORADATATESTundotbs3.dbf' size 1m;表空间已创建。11:14:48 SQL> alter system set undo_tablespace=undotbs3;系统已更改。11:15:04 SQL> alte
rman通过设置口令加密备份!
Password Encryption of Backups参考doc:http://users.telenet.be/oraguy.be/encryption1.htm[@more@]大致测试过程:RMAN> show all;正在启动全部恢复目录的 resync完成全部 resyncRMAN 配置参数为:CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;CONFIGURE BACKUP OPTIMIZATION OFF;CONFIGURE DEFAULT DEVICE TYPE TO DISK; # defaultCONFIGURE CONTROLFILE AUTOBACKUP OFF;CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # defaultCONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BA
rman configure exclude测试!
configure exclude不常用,经常忘记语法,简单整理一下,备忘![@more@]RMAN> configure exclude for tablespace 'USERS';今后的全部数据库备份将排除表空间 USERS已成功存储新的 RMAN 配置参数RMAN> SHOW EXCLUDE;使用目标数据库控制文件替代恢复目录RMAN 配置参数为:CONFIGURE EXCLUDE FOR TABLESPACE 'USERS';SQL> select NAME,INCLUDED_IN_DATABASE_BACKUP from v$tablespace;NAME INC------------------------------ ---SYSTEM YESUNDOTBS1 YESSYSAUX YESTEMP NOUSERS NONCLUDED_IN_DATABASE_BACKUP字段表示backup时对应的表
拷贝linux下冷备份db到win下测试过程
拷贝linux下冷备份db到win下测试过程[@more@]讲课的时候经常会有人问到是否可以把unix/linux下的数据库直接拷贝到win下用,或者相反,从未测试过,隐约的感觉到应该不可以,今天测试了一下,没有出现问题:测试过程是把linux下的db shutdown之后直接拷贝到win下发现没有问题:大致过程:--===================================1、首先确认linux下和win下v$transportable_platform中的ENDIAN_FORMAT都相同:这里都是LittleSQL> select *from v$transportable_platform;PLATFORM_ID PLATFORM_NAME ENDIAN_FORMAT--
计算sysaux中各主件对sysaux空间的使用!
通过$ORACLE_HOME/rdbm/admin/utlsyxsz.sql脚本可以估算当前sysaux中各主件对空间的使用情况.[@more@]SQL> @ E:oracleproduct10.2.0db_1RDBMSADMINutlsyxsz.sqlThis script estimates the space required for the SYSAUX tablespace.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Specify the Report File Name~~~~~~~~~~~~~~~~~~~~~~~~~~~~The default report file name is utlsyxsz.txt. To use this name,press <return> to continue, otherwise enter an alternative.Enter value for report_name:
10g 手动配置em!
使用emca可以手动配置em!配置em的过程中有一个环节要特别主要:不论使用dbca还是使用emca -deconfig dbcontrol db -repos drop在删除资料库时都有可能删除不干净,这样在再次创建资料库时都会出现错误(显示的log中有详细的记录),因此在创建资料库时最好使用下面命令手动删除一次:DROP public synonym SETEMVIEWUSERCONTEXT;DROP PUBLIC SYNONYM MGMT_TARGET_BLACKOUTS;drop role MGMT_USER;DROP USER MGMT_VIEW CASCADE;DROP USER SYSMAN CASCADE;[@more@]C:>emca -deconfig dbcontrol db -repos dropEMCA 开始于 2008-8-31 13:00
flashback query!
Oracle Flashback Query lets you view and repair historical data. You can perform queries on the database as of a certain wall clock time or user-specified system change number (SCN).Flashback Query uses Oracle's multiversion read-consistency capabilities to restore data by applying undo as needed.[@more@]Overview of Oracle Flashback QueryOracle Flashback Query lets you view and repair historical data. You can perform queries on the database as of a certain wall clock time or user-specified syste
rman backup ENCRYPTION(备份加密特性)测试!
参考的doc如下:http://www.oracle.com/technology/oramag/oracle/05-sep/o55security.htmlhttp://users.telenet.be/oraguy.be/encryption1.htm[@more@]0.说明wallet的location在sqlnet.ora中增加下面内容说明wallet的location:ENCRYPTION_WALLET_LOCATION =(SOURCE=(METHOD=file)(METHOD_DATA=(DIRECTORY=/orawall)))1.察看备份加密特性是否激活RMAN> show all;RMAN 配置参数为:CONFIGURE RETENTION POLICY TO REDUNDANCY 1;CONFIGURE BACKUP OPTIMIZATION ON;CONFIGURE DEFAULT DEVICE TYPE TO DISK; # defaultCONFIGURE CONTROLFILE
两个重要的等待事件!
cache buffers chains和buffer busy waits模拟!引用kamus说的一段话:Cache Buffers Chains Latches用于保护内存中block的buffer header hash chain,任何对于处于某个hash chain中的block的操作,都要先获得Cache Buffers Chains Latches,所以多session频繁操作位于一个block中的数据,一定会造成Cache Buffers Chains Latches的等待,表现在v$sesssion_wait中就是一个latch free事件。当一个进程获得了cache buffers chains latch 之后,并且找到了自己需要操作的block的buffer header,这时候就需要获得这个buffer header 的锁以便于
linux下开机使用dbstart和dbshut自动启动和关闭db!
1、利用dbstart和dbshut在开关机时自动启动和关闭db2、使用chkconfig增加服务,靠,叫服务准确嘛[@more@]1、编辑/etc/oratab文件TEST:/u01/app/oracle/product/9.2.0:Y (把原来的N改为Y)2、增加Linux服务(叫服务不一定准且,反正理解意思就行,名称为oradb10g)2.1 cd /etc/rc.d/init.d/touch oradb10g chmod a+x oracle9i2.2 vi oradb10g 并输入以下内容:[oracle@xys init.d]$ more oradb10g#more /etc/rc.d/init.d/oradb10g#!/bin/bash#whoami#root#chkconfig:345 58 42 这里注意如果db使用的raw,那么启动顺序一定要放在rawdevices被mou
在linux下使用dbstart和dbshut启动和关闭db!
版本10.2在9i下dbstart存在一bug:dbstart启动时在$ORACLE_HOME/dbs下寻找initSID.ora,事实上在该目录下不存在这个pfile,在9i 已经使用了spfile,所以要想正常通过dbstart启动db,需要在目录$ORACLE_HOME/dbs下创建一个initSID.ORA文件,10g中我发现修正了这一问题。不过10g中dbstart在自动启动listener时存在一问题:dbstart脚本中存在下面一行:#ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle致使启动是出现错误:[oracle@xys bin]$ dbstartFailed to auto-start Oracle Net Listene using /ade/vikrkuma_new/oracle/bin/tnslsnrProc
linux下如何自动启动db!
1、编写启动db的脚本文件dbstart.shlsnrctl startsqlplus /nolog <<!connect sys/system@test as sysdbastartup!2、把该脚本文件加入/etc/rc.local中,加入以后rc.local内容如下:[oracle@xys oracle]$ more /etc/rc.localtouch /var/lock/subsys/localsu - oracle -c /home/oracle/dbstart.sh[@more@]办法应该比较多吧
利用dd命令实现raw db到file系统db的转换!
特别需要主要的就是要清楚的知道各类文件(ctl,dbf,redo)文件头占用了几个block,当然还要知道各类文件他们的block的大小和单位![@more@]下面文件raw_convert_fs.sql 中记录的是一个raw db到file系统db的大致过程![oracle@xys orcl]$ more raw_convert_fs.sql SQL> !SQL> @ dbf.sqlFILE_NAME BYTES TABLESPACE BLOCKS BYTES+BYTES/BLOCKS ---------------- ---------- ---------- ---------- ------------------ /dev/raw/raw1 314572800 SYSTEM 38400 314580992 /dev/raw/raw3 157286400 UNDOTBS1 19200 157294592 /dev/raw/r
redhat下部分联机自动备份db!
1 cp /home/oracle/.bash_profile dbbak1.sh之所以要拷贝这个文件,是因为它是oracle用户的环境变量文件,里面包含了oracle用户所需要的所有环境变量2. 在dbbak1.sh文件中加入如下语句:sqlplus sys/password@tns @/home/oracle/dbbak1.sql3. 编写dbbak1.sql如下:alter tablespace users begin backup;copy path...../users.dbf /home/oraclealter tablespace users end backup;--这里只是用来测试!4. chmod +x dbbak1.sh5. 利用crontab来调用dbbak1.sh[@more@]大致的思路和过程,使用时根据实际应用调整!