RMAN恢复(rman只备份数据库,但不备份归档,归档通过简单的rsync或scp来传送到异地备份)
只为研究研究一下备份[oracle@GGS ~]$ rman target /Recovery Manager: Release 10.2.0.5.0 - Production on Thu Jan 19 10:54:48 2012Copyright (c) 1982, 2007, Oracle. All rights reserved.connected to target database: ORCL (DBID=1290862477)RMAN> backup incremental level 0 device type disk format '/oracle/%U' database ;Starting backup at 19-JAN-12using channel ORA_DISK_1channel ORA_DISK_1: starting incremental level 0 datafile backupsetchannel ORA_DISK_1: specifying datafile(s) in backupsetinput
对TM锁和TX锁的简单理解
此文章为转载,参考一下大家的看法DML锁包括table-level locks(TM)和Row-level locks(TX)A table-level lock (TM type) is set for any DML transaction that modifies a table: INSERT, UPDATE, DELETE, SELECT...FOR UPDATE, or LOCK TABLE. The table lock prevents DDL operations that would conflict with the transaction.--说明table lock(TM type)是防止和事务冲突的DDL操作,比如在insert时防止表被drop。The row-level lock (TX type) is automatically acquired for each row modified by INSERT, UPDATE, DELETE, or SELECT.
取消闪回恢复区
将db_recovery_file_dest参数设置为空,可以停用闪回恢复区。如果已经启用flashback database,则不能取消闪回恢复区。 SQL> alter system set db_recovery_file_dest=''; alter system set db_recovery_file_dest='' * 第 1 行出现错误: ORA-02097: 无法修改参数, 因为指定的值无效 ORA-38775: 无法禁用快速恢复区 - 闪回数据库已启用所以,必须先禁用flashback database,才能取消闪回恢复区。SQL> shutdown immediate;SQL> startup mount;SQL>alter database flashback off;SQL> alter database open;SQL> alter sys
using backup controlfile和 until cancel 区别
using backup controlfile和 until cancel 区别1. recover database using backup controlfile2. recover database until cancel3. recover database using backup controlfile until cancel;4. recover database until cancel using backup controlfile;区别:1. 如果丢失丢失当前控制文件,用冷备份中的控制文件恢复的时候。用来告诉oracle,不要以controlfile中的scn作为恢复的终点;2. 如果丢失current/active redo的时候。手动指定终点。3. 如果 丢失当前controlfile并且current/active redo都丢失,会先去 自动 应用归档日志,可以实
怎样才可以缩小Undo Tablespace
1、必须建立一个新的undo tablespace,大小设为你想要的值2、SQL> alter system set undo_tablespace=undo_rbs1;3、SQL> drop tablespace undo_rbs0 including contents;如果drop旧的undo tablespace的时候出错,ORA-30013 : undo tablespace '%s' is currently in use. 这错误就是说在旧的undo tablespace中还存在没有commit或者rollback的事务,那么就需要等待这些事务完成。[@more@]
分步导入可能会遇到的问题
转载自:http://space.itpub.net/html/27/4227-69239.html在导入的时候如果采用表和索引分步导入的方式可能会出现问题。看一个简单的例子:SQL> CREATE TABLE T 2 (3 ID NUMBER,4 CONSTRAINT PK_T PRIMARY KEY (ID) USING INDEX (CREATE INDEX IND_T_ID ON T(ID))5 );SQL> SELECT CONSTRAINT_NAME, INDEX_NAME FROM USER_CONSTRAINTS WHERE TABLE_NAME = 'T';CONSTRAINT_NAME INDEX_NAME------------------------------ ------------------------------PK_T IND_T_IDSQL> INSERT INTO T SELECT ROWNUM FROM TAB;27 rows created.
转摘:ORACLE:IMP工具ignore=y的一个问题
转摘自:http://miracle.blog.51cto.com/255044/54463 ORACLE的EXP和IMP工具是大家会经常使用到的。在近期的工作中,发现IMP一个有意思的问题。 我们有一个数据集中的业务,因为数据量不大且传输数据不是很多所以采用定时导出EXP和定时IMP的方法。因为数据是累加增长的所以在导入时我们使用了IMP的ignore=y的参数,即告诉IMP如果当前表存在就不创建表结构而直接导入新的数据。 但是今天我在检查自动发送的错误日志时,发现这样的错误信息: . . importing table "XXXXX_tablename" IMP-00058: ORACLE err
联机热备份的步骤
1 使数据库处于ARCHIVELOG模式alter database archivelog;//----这要在mount模式下才能执行2 获取最早的联机日志序列号archive log list3 将要备份的表空间设为热备份模式ALTER TABLESPACE tablespace_name BEGIN BACKUP;4 使用操作系统命令备份改表空间的datafile如果是使用ASM---raw,那么就要使用rman(文件级cp)或者dd(设备级cp)5 取消该表空间的热备份模式ALTER TABLESPACE tablespace_name END BACKUP;6 如还有其他要备份的表空间,重复3-57 强制日志切换 ALTER SYSTEM SWITCH LOGFILE ;8备份所有归档日志文件9 备份control f
Oracle database的启动方式
1、startup nomount 非安装启动,这种方式启动下可执行:重建控制文件、重建数据库 读取initSID.ora文件,启动instance,即启动SGA和后台进程,这种启动只需要initSID.ora文件。2、startup mount dbname 安装启动,这种方式启动下可执行: 数据库日志归档、 数据库介质恢复、 使数据文件联机或脱机, 重新定位数据文件、重做日志文件。 执行“nomount”,然后打开控制文件,确认数据文件和联机日志文件的位置, 但此时不对数据文件和日志文件进行校验检查。 3、startup open dbname 先执行“nomount”,然后执行“mount”,再打开包括Redo
Oracle SID & SERVICE_NAME
As per Oracle Glossary : SID is a unique name for an Oracle database instance. ---> To switch between Oracle databases, users must specify the desired SID <---. The SID is included in the CONNECT DATA parts of the connect descriptors in a TNSNAMES.ORA file, and in the definition of the network listener in the LISTENER.ORA file. Also known as System ID.Oracle Service Name may be anything descriptive like "MyOracleServiceORCL". In Windows, You can your Service Name running as a ser
归档模式
在oracle数据库的开发环境和测试环境中,数据库的日志模式和自动归档模式一般都是不设置的,这样有利于系统应用的调整,也免的生成大量的归档日志文件将磁盘空间大量的消耗。但在系统上线,成为生产环境时,将其设置为日志模式并自动归档就相当重要了,因为,这是保证系统的安全性,有效预防灾难的重要措施。这样,通过定时备份数据库和在两次备份间隔之间的日志文件,可以有效的恢复这段时间的任何时间点的数据,可以在很多时候挽回或最大可能的减少数据丢失。一要使OARCLE数据库进行日志的自动归档,需要做两方面的事情,一是数据库日志
Log actively being archived by another process
在alert_sid.log文件上,看到经常有这样的错误(没有手动归档,一直都是自动归档):Mon Jun 02 16:34:22 2008ARC0: Evaluating archive log 1 thread 1 sequence 40ARC0: Unable to archive log 1 thread 1 sequence 40 Log actively being archived by another processMon Jun 02 16:34:25 2008ARC1: Completed archiving log 1 thread 1 sequence 40归档进程可能会有2个或者2个以上如果其中一个正在归档某个日志,而另一个进程来尝试归档该日志的话,则会出现这个提示这个提示很可能是正常的,不过,也许,你可以考虑在如何能提
数据库配置检查
1、查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_sizefrom dba_tablespaces t, dba_data_files dwhere t.tablespace_name = d.tablespace_namegroup by t.tablespace_name; 2、查看表空间物理文件的名称及大小 select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_spacefrom dba_data_filesorder by tablespace_name; 3、查看回滚段名称及大小 select segment_name, tablespace_name, r.status, (initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent,
statspack分析
Load Profile~~~~~~~~~~Per Second Per Transaction --------------- ---------------Redo size: 22,007.09 2,921.10 --很重要的参数,表示你数据变更频率Logical reads: 22,890.62 3,038.38 Block changes: 95.88 12.73Physical reads: 5,413.37 718.54Physical writes: 5.67 0.75User calls: 750.85 99.66 Parses: 183.20 24.32 ----软解析每秒超过300次意味着你的"应用程序&q
EXP-00056: 遇到 ORACLE 错误 31600- -
下午在导出statspack表数据的时候,用EXP导出错。[@more@]连接到: Oracle9i Enterprise Edition Release 9.2.0.6.0 - ProductionWith the Partitioning, OLAP and Oracle Data Mining optionsJServer Release 9.2.0.6.0 - Production已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集即将导出指定的用户.... 正在导出 pre-schema 过程对象和操作. 正在导出用户 SYSTEM 的外部函数库名称. 导出 PUBLIC 类型同义词. 导出私有类型同义词. 正在导出用户 SYSTEM 的对象类型定义EXP-00008: 遇到 ORACLE 错误 942ORA-00942: 表或视图不存在EXP
Oracle数据库9i在AIX环境下的性能调整
当进程申请的内存超过系统的物理内存总量时,会出现内存访问冲突的现象,为了处理这种情况,程序与数据将在内存和硬盘之间进行交换。[@more@]控制内存交换操作(Paging) 大量的内存交换操作会极大地影响系统的性能,尤其是在当数据库文件创建在文件系统上时(JFS and JFS2)。在这种情况下经常访问的数据,即在SGA中存在,也同样在文件的缓存中存在。这种相同的数据在内存中缓存两次的情况,会降低内存的使用效率,从而使内存频繁进行交换操作,造成系统的I/O瓶颈,降低整个系统的性能。调整AIX上的文件缓存在AIX上,可以通过vmtune命令中的M
关于分区表和分区索引(About Partitioned Tables and Indexes)
对于10gR2而言,基本上可以分成几类: Range(范围)分区 Hash(哈希)分区 List(列表)分区 以及组合分区:Range-Hash,Range-List。 对于表而言(常规意义上的堆组织表),上述分区形式都可以应用(甚至可以对某个分区指定compress属性),只不过分区依赖列不能是lob,long之类数据类型,每个表的分区或子分区数的总数不能超过1023个。 对于索引组织表,只能够支持普通分区方式,不支持组合分区,常规表的限制对于索引组织表同样有效,除此之外呢,还有一些其实的限制,比如要求索引组织表的分区依赖列必须是主键才可以
移动LOB类型的索引
如果表上存在有LOB数据类型的字段,而有时候我们需要将这些表和索引移动到别的表空间去,但是使用正常的alter index index_name rebuild tablespace_name的方法是行不通的,数据库会报错:ORA-02327: cannot create index on expression with datatype LOB。 在这种情况下要移动LOB索引,就必须要使用特定的方法来移动LOB索引。让我们举例来具体的看看:[@more@]先创建一个带有LOB字段的表test,默认的表空间是system:SQL> CREATE TABLE test 2 ( 3 NAME VARCHAR2(100 BYTE) NOT NULL, 4 OWNERNAM
OMF
OMF (9i 新增)使用OMF建立表空间SQL> alter system set db_create_file_dest = 'c:' scope = memory;System alteredSQL> create tablespace xxm;Tablespace createdSQL> drop tablespace xxm;Tablespace dropped使用8i方式建立表空间SQL> create tablespace xxm 2 datafile 'c:xxm.dbf' size 2m;Tablespace createdSQL> drop tablespace xxm;Tablespace droppedSQL> create tablespace xxm 2 datafile 'c:xxm.dbf' reuse;Tablespace createdSQL> drop tablespace xxm 2 including contents and dataf
Rename datafile
----方法一: SQL> alter tablespace test offline; 表空间已更改。 ----或者datafile offline (drop ) SQL> alter database datafile 'd:ora92oradataicetest01.dbf' offline; 数据库已更改。 ----OS上move 数据文件。 SQL> alter database rename file 'd:ora92oradataicetest01.dbf' 2 to 'd:ora92oradatatest01.dbf'; 数据库已更改。 SQL> alter tablespace test online; 表空间已更改。 SQL> select table_name 2 from dba_tables 3 where tablespace_name = 'TEST'; TABLE_NAME