oracle备份控制文件

oracle备份控制文件
oracle备份控制文件

如何备份控制文件

?1、

?ALTER DATABASE BACKUP CONTROLFILE TO TRACE;

?ALTER DATABASE BACKUP CONTROLFILE TO TRACE RESETLOGS;

?ALTER DATABASE BACKUP CONTROLFILE TO TRACE NORESETLOGS;

?

?2、

?ALTER DATABASE BACKUP CONTROLFILE TO 文件名;

?ALTER DATABASE BACKUP CONTROLFILE TO 文件名 REUSE;(如果此文件已存在)

?

?例:

?SQL> ALTER DATABASE BACKUP CONTROLFILE TO 'c:\a';

?

?数据库已更改。

?

?SQL> ALTER DATABASE BACKUP CONTROLFILE TO 'c:\a';

?ALTER DATABASE BACKUP CONTROLFILE TO 'c:\a'

?*

?ERROR 位于第 1 行:

?ORA-01580: 创建控制备份文件c:\a时出错

?ORA-27038: skgfrcre: 文件存在

?OSD-04010: <创建> 选项指定,文件已经存在

?

?

?SQL> ALTER DATABASE BACKUP CONTROLFILE TO 'c:\a' reuse;

?

?数据库已更改。

?

?SQL>

?

?3、

?Shutdown,直接看init.ora文件中的control_files项,找到其中任意一个控制文件,

?用操作系统命令复制到备份地点即可(如:软盘、光盘、磁带等)

?

?第一种方法产生的是一个跟踪文件,里面存放的是创建控制文件的脚本,可以用记事本等文本编辑器打开

?这个脚本可以让你重新创建控制文件,

?生成一个跟踪文件到init.ora中user_dump_dest所指的目录下($ORACLE_HOME\ADMIN\ORADB\UDUMP\)。

?

第二种方法产生的是一个二进制文件,就是当前控制文件的一个一模一样的备份。

前台发出sql语句

?可以用以下语句:

?

?select user_name,sql_text

? from v$open_cursor

? where sid in (select sid from (select

sid,serial#,username,program

? from v$session

? where status='ACTIVE'))

?

?子查询

?select sid,serial#,username,program

? from v$session

? where status='ACTIVE'

?查出的是不活动的session的sid。

?

?SQL> desc v$open_cursor

?名称空? 类型

? ----------------------------------------- -------- ------------

? SADDR RAW(4)

? SID

NUMBER

? USER_NAME

VARCHAR2(30)

? ADDRESS RAW(4)

? HASH_VALUE

NUMBER

SQL_TEXT VARCHAR2(60)

查看oracle版本

?SQL> select banner from sys.v_$version;

?

?BANNER

?----------------------------------------------------------

?Oracle8i Enterprise Edition Release 8.1.6.0.0 - Production

?PL/SQL Release 8.1.6.0.0 - Production

?CORE 8.1.6.0.0 Production

?TNS for 32-bit Windows: Version 8.1.6.0.0 - Production

?NLSRTL Version 3.4.1.0.0 - Production

?

?2、查看安装了哪些选项

?SQL> col PARAMETER format a60

?SQL> col VALUE format a10

?SQL> select * from sys.v_$option;

?

?PARAMETER VALUE

?------------------------------------------------------------ ----------

?Partitioning TRUE

?Objects TRUE

?Parallel Server FALSE

?Advanced replication TRUE

?Bit-mapped indexes TRUE

?Connection multiplexing TRUE

?Connection pooling TRUE

?Database queuing TRUE

?Incremental backup and recovery TRUE

?Instead-of triggers TRUE

?Parallel backup and recovery TRUE

?

?PARAMETER VALUE

?------------------------------------------------------------ ----------

?Parallel execution TRUE

?Parallel load TRUE

?Point-in-time tablespace recovery TRUE

?Fine-grained access control TRUE

?N-Tier authentication/authorization TRUE

?Function-based indexes TRUE

?Plan Stability TRUE

?Online Index Build TRUE

?Coalesce Index TRUE

?Managed Standby TRUE

?Materialized view rewrite TRUE

?

?PARAMETER VALUE

?------------------------------------------------------------ ----------

?Materialized view warehouse refresh TRUE

?Database resource manager TRUE

?Spatial TRUE

?Visual Information Retrieval TRUE

?Export transportable tablespaces TRUE

?Transparent Application Failover TRUE

?Fast-Start Fault Recovery TRUE

?Sample Scan TRUE

?Duplexed backups TRUE

?Java FALSE

?OLAP Window Functions TRUE

?

?已选择33行。

?

?

?

?SQL> set head off feed off pages 0 serveroutput on

?SQL> begin

? 2 dbms_output.put_line('Port String:

'||dbms_utility.port_string);

? 3 end;

? 4 /

?Port String: IBMPC/WIN_NT-8.1.0

oracle建立表

?1、调出SQL*Plus

?

?conn system/manager

?grant connect,resource to a identified by a;

?grant connect,resource to b identified by b;

?conn a/a

?

?create table a(a number);

?insert into a values(1);

?insert into a values(2);

?insert into a values(3);

?

?create table b(a number,b varchar2(10));

?insert into b values(1,'1111');

?insert into b values(2,'2222');

?insert into b values(3,'3333');

?commit;

?

?

?2、打开一个DOS窗口、先执行导出

?

?E:\>exp a/a file=a.dmp log=loga.txt

?

?Export: Release 8.1.6.0.0 - Production on 星期五 12月 1 22:24:16 2000

?

?(c) Copyright 1999 Oracle Corporation. All rights reserved.

?

?

?连接到: Oracle8i Enterprise Edition Release 8.1.6.0.0 - Production

?With the Partitioning option

?JServer Release 8.1.6.0.0 - Production

?已导出ZHS16GBK字符集和ZHS16GBK NCHAR 字符集

?. 正在导出 pre-schema 过程对象和操作

?. 正在导出用户A的外部函数程序库名称

?. 正在导出用户A的对象类型定义

?即将导出A的对象 ...

?. 正在导出数据库链接

?. 正在导出序号

?. 正在导出群集定义

?. 即将导出A的表通过常规路径 ...

?. . 正在导出表 A 3 行被导出

?. . 正在导出表 B 3 行被导出

?. 正在导出同义词

?. 正在导出视图

?. 正在导出存储的过程

?. 正在导出运算符

?. 正在导出引用完整性约束条件

?. 正在导出触发器

?. 正在导出索引类型

?. 正在导出位图、功能性索引和可扩展索引

?. 正在导出后期表活动

?. 正在导出快照

?. 正在导出快照日志

?. 正在导出作业队列

?. 正在导出刷新组和子组

?. 正在导出维

?. 正在导出 post-schema 过程对象和操作

?. 正在导出统计

?在没有警告的情况下成功终止导出。

?

?E:\>

?

?3、再执行导入,使用show=y、log这两个选项

?

?E:\>imp a/a file=a.dmp show=y log=logb.txt

?

?Import: Release 8.1.6.0.0 - Production on 星期五 12月 1 22:29:49 2000

?

?(c) Copyright 1999 Oracle Corporation. All rights reserved.

?

?

?连接到: Oracle8i Enterprise Edition Release 8.1.6.0.0 - Production

?With the Partitioning option

?JServer Release 8.1.6.0.0 - Production

?

?经由常规路径导出由EXPORT:V08.01.06创建的文件

?已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入?. 正在将A的对象导入到 A

? "CREATE TABLE "A" ("A" NUMBER) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 25"

? "5 LOGGING STORAGE(INITIAL 131072 NEXT 65536 MINEXTENTS

1 MAXEXTENTS 2147483"

? "645 PCTINCREASE 50 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLE"

? "SPACE "SYSTEM""

?. . 正在跳过表 "A"

?

? "CREATE TABLE "B" ("A" NUMBER, "B" VARCHAR2(10)) PCTFREE 10 PCTUSED 40 INIT"

? "RANS 1 MAXTRANS 255 LOGGING STORAGE(INITIAL 131072 NEXT 65536 MINEXTENTS 1 "

? "MAXEXTENTS 2147483645 PCTINCREASE 50 FREELISTS 1 FREELIST GROUPS 1 BUFFER_P"

? "OOL DEFAULT) TABLESPACE "SYSTEM""

?. . 正在跳过表 "B"

?

?成功终止导入,但出现警告。

?

?E:\>

?

?4、使用编辑器打开logb.txt,里面可以看到DDL语句

如何查看SGA区剩余可用内存?

?系统环境:

1、操作系统:Windows 2000,机器内存128M

2、数据库:Oracle 8i R2 (8.1.6) for NT 企业版

3、安装路径:C:\ORACLE

?实现方法:

?

?SQL> col OBJECT_NAME format a20

?SQL> col 自由空间百分比(%) format 90.99 --格式化,把小数点对齐为两位

?

?SQL> select name,

?sgasize/1024/1024

"Allocated(M)",

?bytes/1024 "自由空间(K)",

?round(bytes/sgasize*100, 2) "自由空间百分比(%)"

? from (select sum(bytes) sgasize from

sys.v_$sgastat) s, sys.v_$sgastat f

? where https://www.360docs.net/doc/0319257457.html, = 'free memory';

?

?NAME Allocated(M) 自由空间(K) 自由空间百分比(%)

?-------------------------- ------------ ----------- -----------------

?free memory 54.4491119 11619.457

20.84

?free memory 54.4491119 600

1.08

?free memory 54.4491119 17788

31.90

?

?以下为查看sys.v_$sgastat相关

?

?SQL> desc sys.v_$sgastat

?名称空? 类型

? ----------------------------------------- -------- -----

----------------

? POOL VARCHAR2(11)

? NAME VARCHAR2(26)

? BYTES NUMBER

?

?SQL> select sum(bytes) sgasize from sys.v_$sgastat;

--SGA区总和

?

? SGASIZE

?----------

? 57094032

?

?SQL> select * from sys.v_$sgastat;

?

?POOL NAME BYTES ?----------- -------------------------- ---------- ? fixed_sga 70924 ? db_block_buffers 16777216 ? log_buffer 66560 ?shared pool free memory 11935052 ?shared pool miscellaneous 566128 ?shared pool PLS non-lib hp 2096 ?shared pool State objects 134572 ?shared pool KGFF heap 6552 ?shared pool character set object 58936 ?shared pool KGK heap 17568 ?shared pool db_files 370988 ?

?POOL NAME BYTES ?----------- -------------------------- ---------- ?shared pool joxlod: in phe 4144 ?shared pool KQLS heap 430828 ?shared pool table columns 18400 ?shared pool fixed allocation callback 320 ?shared pool PL/SQL DIANA 371572 ?shared pool enqueue_resources 96768 ?shared pool PL/SQL MPCODE 61832 ?shared pool trigger inform 520 ?shared pool transactions 66900 ?shared pool trigger defini 1392 ?shared pool distributed_transactions- 180152

?

?POOL NAME BYTES

?----------- -------------------------- ----------

?shared pool VIRTUAL CIRCUITS 112260

?shared pool view columns d 1072

?shared pool SYSTEM PARAMETERS 61336

?shared pool dictionary cache 296356

?shared pool message pool freequeue 231152

?shared pool joxlod: in ehe 52712

?shared pool character set memory 135888

?shared pool db_block_buffers 278528

?shared pool library cache 1132868

?shared pool Checkpoint queue 73764

?shared pool sql area 933812

?

?POOL NAME BYTES

?----------- -------------------------- ----------

?shared pool processes 47200

?shared pool sessions 147108

?shared pool joxs heap init 896

?shared pool transaction_branches 368000

?shared pool event statistics per sess 231840

?shared pool db_block_hash_buckets 98328

?shared pool file # translation table 65572

?large pool free memory 614400

?java pool free memory 18214912

?java pool memory in use 2756608

?

如何查看各个表空间占用磁盘情况?

?软件环境:

1、Windows NT4.0+ORACLE 8.0.4

2、ORACLE安装路径为:C:\ORANT

?SQL语句:

?SQL> col tablespace format a20

?SQL> select

? b.file_id 文件ID号,

? b.tablespace_name 表空间名,

? b.bytes 字节数,

? (b.bytes-sum(nvl(a.bytes,0))) 已使用,

? sum(nvl(a.bytes,0)) 剩余空间,

? sum(nvl(a.bytes,0))/(b.bytes)*100 剩余百分比

? from dba_free_space a,dba_data_files b

? where a.file_id=b.file_id

? group by b.tablespace_name,b.file_id,b.bytes

? order by b.file_id

? /

?

?

?

?文件ID号表空间名字节数已使用剩余空间剩余百分比

?--------- ------------------------------ --------- --------- --------- ----------

? 1 SYSTEM 20971520 9971712 10999808 52.451172

? 2 USER_DATA 3145728 432128 2713600 86.263021

? 3 ROLLBACK_DATA 5242880 1640448 3602432 68.710938

4 TEMPORARY_DATA 2097152 2048

2095104 99.902344

Oracle DBA 数据库日常维护手册 常用SQL 脚本

Oracle数据库日常维护 【版本整理日期:2011/02/26 】 版本整理人:1634068400@https://www.360docs.net/doc/0319257457.html, 本文档包含以下内容: 1.Oracle数据库日常维护 2.Oracle DBA 常用管理脚本 3.Oracle DB 常用SQL 语句

/******************************************************** https://www.360docs.net/doc/0319257457.html,(若跳转不成功,请复制到浏览器或联系Q) https://www.360docs.net/doc/0319257457.html,/item.htm?id=7437120468Metalink Sharing ********************************************************/

在Oracle数据库运行期间,DBA应该对数据库的运行日志及表空间的使用情况进行监控,及早发现数据库中存在的问题。 一、Oracle警告日志文件监控 Oracle在运行过程中,会在警告日志文件(alert_SID.log)中记录数据库的一些运行情况: l数据库的启动、关闭,启动时的非缺省参数; l数据库的重做日志切换情况,记录每次切换的时间,及如果因为检查点(checkpoint)操作没有执行完成造成不能切换,会记录不能切换的原因; l对数据库进行的某些操作,如创建或删除表空间、增加数据文件; l数据库发生的错误,如表空间不够、出现坏块、数据库内部错误(ORA -600)

DBA 应该定期检查日志文件,根据日志中发现的问题及时进行处理 问题 处理 启动参数不对 检查初始化参数文件 因为检查点操作或归档操作没有完成造成重做日志不能切换 如果经常发生这样的情况,可以考虑增加重做日志文件组;想办法提高检查点 或归档操作的效率; 有人未经授权删除了表空间 检查数据库的安全问题,是否密码太简 单;如有必要,撤消某些用户的系统权 限 出现坏块 检查是否是硬件问题(如磁盘本生有坏 块),如果不是,检查是那个数据库对象 出现了坏块,对这个对象进行重建 表空间不够 增加数据文件到相应的表空间 出现ORA-600 根据日志文件的内容查看相应的TRC 文件,如果是Oracle 的bug ,要及时打 上相应的补丁 二、数据库表空间使用情况监控(字典管理表空间) 数据库运行了一段时间后,由于不断的在表空间上创建和删除对象,会在表空间上产生大量的碎片,DBA 应该及时了解表空间的碎片和可用空间情况,以决定是否要对碎片进行整理或为表空间增加数据文件。 select tablespace_name,

oracle 备份恢复语句整理(最全)

Oracle备份恢复场景总结 一、数据文件、表空间恢复 1、数据库文件恢复 1>场景一: 问题描述: test.dbf丢失,有RMAN备份。 重启报错: Startup; ORA-01157: cannot identify/lock data file 5 - see DBWR trace file ORA-01110: data file 5: '/oracle/app/oracle/oradata/orcl/test01.dbf' run{ startup mount; allocate channel ch00 type 'SBT_TAPE'; restore datafile 5; recoverdatafile 5; alter database open; release channel ch00; }

2>场景二 问题描述: 模拟test表空间损坏,删除数据文件(恢复到新目录) 旧目录:/oracle/app/oracle/oradata 新目录: /home/oracle run{ allocate channel ch00 type 'SBT_TAPE'; sql 'alter database datafile 5 offline'; setnewname for datafile 5 to '/home/oracle/test01.dbf'; restoredatafile 5; switchdatafile 5; recoverdatafile 5; sql 'alter database datafile 4 online'; release channel ch00; } 说明: set newname for 告诉RMAN 还原数据文件的新位置在哪里。这个命令在restore 前出现。 switch datafile更新controlfile,记录这个新位置。这个命令要在recover 前出现

oracle常用命令及格式

oracle常用命令及格式 一:关于日志管理的 1.切换日志:sql> alter system switch logfile; 2.切换checkpoints:sql> alter system checkpoint; 3.增加日志组:sql> alter database add logfile [group 4] sql> ('/disk3/log4a.rdo','/disk4/log4b.rdo') size1m; 4.增加日志成员 sql> alter database add logfile member sql> '/disk3/log1b.rdo' to group 1, sql> '/disk4/log2b.rdo' to group 2; 5.改变日志文件名字或路径 sql> alter database rename file 'c:/oracle/oradata/oradb/re do01.log' sql> to 'c:/oracle/oradata/redo01.log'; (此处注意,那个文件路径的输入格式) 6.删除日志文件组:sql> alter database drop logfile group 3;

7.删除日志文件成员 sql> alter database drop logfile member 'c:/oracle/oradata/ redo01.log'; 8.清除日志文件内容 sql> alter database clear [unarchived] logfile 'c:/oracle/l og2a.rdo'; 二、关于表空间管理的 1.创建表空间 sql> create tablespace tablespace_name datafile 'c:\oracle\ oradata\file1.dbf' size100m, sql> 'c:\oracle\oradata\file2.dbf' size100mminimum extent 5 50k [logging/nologging] sql> default storage (initial 500k next 500k maxextents 500 pctinccease 0) sql> [online/offline] [permanent/temporary] [extent_managem ent_clause]

7损坏或丢失控制文件的恢复方法

一、损坏单个控制文件 损坏单个控制文件是比较容易恢复的,因为一般的数据库系统,控制文件都不是一个,而且所有的控制文件都互为镜相,只要拷贝一个好的控制文件替换坏的控制文件就可以了。 1、控制文件损坏,最典型的就是启动数据库出错,不能mount数据库 SQL>startup ORA-00205: error in identifying controlfile, check alert log for more info 查看报警日志文件,有如下信息 alter database mount Mon May 26 11:59:52 2003 ORA-00202: controlfile: 'D:Oracleoradatachencontrol01.ctl' ORA-27041: unable to open file OSD-04002: unable to open file O/S-Error: (OS 2) 系统找不到指定的文件。 2、停止数据库 SQL>shutdown immediate

3、拷贝一个好的控制文件替换坏的控制文件或修改init.ora中的控制文件参数,取消这个坏的控制文件。 4、重新启动数据 SQL>startup 说明: 1、损失单个控制文件是比较简单的,因为数据库中所有的控制文件都是镜相的,只需要简单的拷贝一个好的就可以了 2、建议镜相控制文件在不同的磁盘上 3、建议多做控制文件的备份,长期保留一份由alter database backup control file to trace产生的控制文件的文本备份 二、损坏全部控制文件 损坏多个控制文件,或者人为的删除了所有的控制文件,通过控制文件的复制已经不能解决问题,这个时候需要重新建立控制文件。同时注意,alter database backup control file to trace可以产生一个控制文件的文本备份。 以下是详细重新创建控制文件的步骤 1、关闭数据库

实验8-Oracle数据库备份与恢复

实验8 Oracle数据库备份与恢复 1 实验目的 (1)掌握Oracle数据库各种物理备份方法。 (2)掌握Oracle数据库各种物理恢复方法。 (3)掌握利用RMAN工具进行数据库的备份与恢复。 (4)掌握数据的导入与导出操作。 2 实验要求 (1)对BOOKSALES数据库进行一次冷备份。 (2)对BOOKSALES数据库进行一次热备份。 (3)利用RMAN工具对BOOKSALES数据库的数据文件、表空间、控制文件、初始化参数 文件、归档日志文件进行备份。 (4)利用热备份恢复数据库。 (5)利用RMAN备份恢复数据库。 (6)利用备份进行数据库的不完全恢复。 3 实验步骤 (1)关闭BOOKSALES数据库,进行一次完全冷备份。 select file_name from dba_data_files; select member from v$logfile; select value from v$parameter where name='control_files';

(2)启动数据库后,在数据库中创建一个名为cold表,并插入数据,以改变数据库的状态。 CREATE TABLE COLD( ID NUMBER PRIMARY KEY, NAME VARCHAR2(25) ); (3)利用数据库冷备份恢复BOOKSALES数据库到备份时刻的状态并查看恢复后是否

存在cold表。 (4)将BOOKSALES数据库设置为归档模式。 1.1 shutdown immediate 正常关闭数据 1.2 startup mount;将数据库启动到mount状态 3)、关闭flash闪回数据库模式,如果不关闭的话,在后面关闭归档日志的时候就会出现讨厌的ora-38774错误。 alter database flashback off 1.3 alter database archivelog;发出设置归档模式的命令 1.4 alter database open;打开数据库 1.5 再次正常关闭数据库,并备份所有的数据文件和控制文件 1.6archive log list;在将数据库设置为归档模式后,可以执行此命令进行确认 1.6.1 Database log mode 为Archive Mode说明当前的数据库为归档模式 1.6.2 Automatic archival为Enable说明启动了自动归档。

ORACLE SQLPLUS 常用命令及解释

Oracle SQLPlus常用命令及解释 1.@ 执行位于指定脚本中的SQLPlus语句。可以从本地文件系统或Web服务器中调用脚本。可以为脚本中的变量传递值。在iSQL*Plus中只能从Web服务器中调用脚本。 2.@@ 执行位于指定脚本中的SQL*Plus语句。这个命令和@(“at”符号)命令功能差不多。在执行嵌套的命令文件时它很有用,因为它会在与调用它的命令文件相同的路径或url中查找指定的命令文件。在iSQL*Plus中只支持url形式。 3./ 执行保存在SQL缓冲区中的最近执行的SQL命令或PL/SQL块。在SQL*Plus命令行中,可在命令提示符或行号提示符使用斜线(/)。也可在iSQL*Plus的输入区中使用斜线(/)。斜线不会列出要执行的命令。 4.ACCEPT 可以修改既有变量,也可定义一个新变量并等待用户输入初始值,读取一行输入并保存到给出的用户变量中。ACCEPT在iSQL*Plus中不可用。 5.APPEND 把指定文本添加到SQL缓冲区中当前行的后面。如果text的最前面包含一个空格可在APPEND和text间输入两个空格。如果text的最后是一个分号,可在命令结尾输入两个分号(SQL*Plus会把单个的分号解释为一个命令结束符)。APPEND 在iSQL*Plus中不可用。 6.ARCHIVE LOG 查看和管理归档信息。启动或停止自动归档联机重做日志,手工(显示地)归档指定的重做日志,或者显示重做日志文件的信息。 7.ATTRIBUTE 为对象类型列的给定属性指定其显示特性,或者列出单个属性或所有属性的当前显示特性。 8.BREAK 分开重复列。指定报表中格式发生更改的位置和要执行的格式化动作(例如,在列值每次发生变化时跳过一行)。只输入BREAK而不包含任何子句可列出当前的BREAK定义。 9.BTITLE 在每个报表页的底部放置一个标题并对其格式化,或者列出当前BTITLE定义。

Oracle SQLPlus 常用命令及解释

Oracle SQLPlus 常用命令及解释 1.@ 执行位于指定脚本中的SQLPlus语句。可以从本地文件系统或Web服务器中调用脚本。可以为脚本中的变量传递值。在iSQL*Plus中只能从Web服务器中调用脚本。 2.@@ 执行位于指定脚本中的SQL*Plus语句。这个命令和@(“at”符号)命令功能差不多。在执行嵌套的命令文件时它很有用,因为它会在与调用它的命令文件相同的路径或url中查找指定的命令文件。在iSQL*Plus中只支持url形式。 3./ 执行保存在SQL缓冲区中的最近执行的SQL命令或PL/SQL块。在SQL*Plus命令行中,可在命令提示符或行号提示符使用斜线(/)。也可在iSQL*Plus的输入区中使用斜线(/)。斜线不会列出要执行的命令。 4.ACCEPT 可以修改既有变量,也可定义一个新变量并等待用户输入初始值,读取一行输入并保存到给出的用户变量中。ACCEPT在iSQL*Plus中不可用。 5.APPEND 把指定文本添加到SQL缓冲区中当前行的后面。如果text的最前面包含一个空格可在APPEND和text间输入两个空格。如果text的最后是一个分号,可在命令结尾输入两个分号(SQL*Plus会把单个的分号解释为一个命令结束符)。APPEND 在iSQL*Plus中不可用。 6.ARCHIVE LOG 查看和管理归档信息。启动或停止自动归档联机重做日志,手工(显示地)归档指定的重做日志,或者显示重做日志文件的信息。 7.ATTRIBUTE 为对象类型列的给定属性指定其显示特性,或者列出单个属性或所有属性的当前显示特性。 8.BREAK 分开重复列。指定报表中格式发生更改的位置和要执行的格式化动作(例如,在列值每次发生变化时跳过一行)。只输入BREAK而不包含任何子句可列出当前的BREAK定义。 9.BTITLE 在每个报表页的底部放置一个标题并对其格式化,或者列出当前BTITLE定义。

oracle11g常用命令.

第一章:日志管理 1. forcing log switches sql> alter system switch logfile; 2. forcing checkpoints sql> alter system checkpoint; 3. adding online redo log groups sql> alter database add logfile [group 4] sql> ('/disk3/log4a.rdo','/disk4/log4b.rdo' size 1m; 4. adding online redo log members sql> alter database add logfile member sql> '/disk3/log1b.rdo' to group 1, sql> '/disk4/log2b.rdo' to group 2; 5. changes the name of the online redo logfile sql> alter database rename file 'c:/oracle/oradata/oradb/redo01.log' sql> to 'c:/oracle/oradata/redo01.log'; 6. drop online redo log groups sql> alter database drop logfile group 3; 7. drop online redo log members

sql> alter database drop logfile member 'c:/oracle/oradata/redo01.log'; 8.clearing online redo log files sql> alter database clear [unarchived] logfile 'c:/oracle/log2a.rdo'; https://www.360docs.net/doc/0319257457.html,ing logminer analyzing redo logfiles a. in the init.ora specify utl_file_dir = ' ' b. sql> execute dbms_logmnr_d.build('oradb.ora','c:\oracle\oradb\log'; c. sql> execute dbms_logmnr_add_logfile('c:\oracle\oradata\oradb\redo01.log', sql> dbms_logmnr.new; d. sql> execute dbms_logmnr.add_logfile('c:\oracle\oradata\oradb\redo02.log', sql> dbms_logmnr.addfile; e. sql> execute dbms_logmnr.start_logmnr(dictfilename=>'c:\oracle\oradb\log\oradb.ora '; f. sql> select * from v$logmnr_contents(v$logmnr_dictionary,v$logmnr_parameters sql> v$logmnr_logs; g. sql> execute dbms_logmnr.end_logmnr; 第二章:表空间管理 1. create tablespaces sql> create tablespace tablespace_name datafile 'c:\oracle\oradata\file1.dbf' size 100m,

ORACLE数据备份与数据恢复方案

O R A C L E数据备份与数据恢 复方案 Prepared on 24 November 2020

摘要 结合金华电信IT系统目前正在实施的备份与恢复策略,重点介绍电信业务计算机管理系统(简称97系统)和营销支撑系统的ORALCE数据库备份和恢复方案。 Oracle数据库有三种标准的备份方法,它们分别是导出/导入 (EXP/IMP)、热备份和冷备份。要实现简单导出数据(Export)和导入数据(Import),增量导出/导入的按设定日期自动备份,可考虑,将该部分功能开发成可执行程序,然后结合操作系统整合的任务计划,实现特定时间符合备份规划的备份应用程序的运行,实现数据库的本级备份,结合ftp简单开发,实现多服务器的数据更新同步,实现数据备份的异地自动备份。 关键字:数据库远程异地集中备份 目录

一、前言 目前,数据已成为信息系统的基础核心和重要资源,同时也是各单位的宝贵财富,数据的丢失将导致直接经济损失和用户数据的丢失,严重影响对社会提供正常的服务。另一方面,随着信息技术的迅猛发展和广泛应用,业务数据还将会随业务的开展而快速增加。但由于系统故障,数据库有时可能遭到破坏,这时如何尽快恢复数据就成为当务之急。如做了备份,恢复数据就显得很容易。由此可见,做好数据库的备份至关重要。因此,建立一个满足当前和将来的数据备份需求的备份系统是必不可少的。传统的数据备份方式主要采用主机内置或外置的磁带机对数据进行冷备份,这种方式在数据量不大、操作系统种类单一、服务器数量有限的情况下,不失为一种既经济又简明的备份手段。但随着计算机规模的扩大,数据量几何级的增长以及分布式网络环境的兴起,将越来越多的业务分布在不同的机器、不同的操作平台上,这种单机的人工冷备份方式越来越不适应当今分布式网络环境。 因此迫切需要建立一个集中的、自动在线的企业级备份系统。备份的内容应当包括基于业务的业务数据,又包括IT系统中重要的日志文件、参数文件、配置文件、控制文件等。本文以ORACLE数据库为例,结合金华电信的几个相关业务系统目前正在实施的备份方案,介绍ORACLE数据库的备份与恢复。 二、金华电信ORACLE数据库的备份与恢复方案 由于金华电信IT系统以前只采用逻辑备份方式进行数据库备份,速度较慢并且数据存储管理都很分散,甚至出现备份数据不完整的现象。为了提高备份数据的效率,提供可靠的数据备份,完善备份系统,保证备份数据的完整性,降低数据备份对网络和服务器的影响,对每个IT系统的备份数据进行集中管理,我们对备份工作进行了改进,将逻辑备份与物理备份相结合,在远程建立了一个异地集中、自动在线的备份系统即网络存储管理系统。(这里用到的物理备份指热备份)其具备的主要功能如下:(1)集中式管理 :网络存储备份管理系统对整个网络的数据进行管理。利用集中式管理工具的帮助,系统管理员可对全网的备份策略进行统一管理,备份服务器可以监控所有机器的备份作业,也可以修改备份策略,并可即时浏览所有目录。所有数据可以备份到同备份服

oracle数据库基本命令

oracle数据库基本命令 oracle安装后 sys:超级管理员(dba),默认密码为:change_on_install system:系统管理员(dbaoper),默认密码为:manager; sys与system的不同在于sys能够create datebase而system则不能。scott:普通用户,默认密码:tiger 1.切换用户:conn 用户名/密码; SQL> conn system/manager; Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 Connected as system SQL> conn sys/change_on_install as sysdba; Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 Connected as SYS 注意:sys与其他用户在命令窗口切换时的不同。 2.修改密码:passw username;(普通用户可以修改自己密码,管理员可以修改其他人的密码) 3.显示当前用户。show user; 4.断开数据库同时推出:exit; 文件操作 5.运行sql脚本,start d:\a.sql; 6.编辑指定的sql脚本。Edit d:\a.sql; 7.将屏幕上指定的内容输出到指定文本中去。spool e:\b.sql;执行语句;spool off;

8.显示设置环境变量; 可以用来控制输出的各种格式,如果希望永久保存可以修改glogin.sql脚本。 Linesize(行宽): show linesize;显示行宽 set linesize 90;设置行宽为90个字符。 Pagesize(页面大小): Show pagesize;显示页面大小 Set pagesize 180;设置页面的小。 (做报表时可以用。一页设定几行。)

修改oracle实例名(sid)和数据库名(db_name)

修改oracle实例名(sid)和数据库名(db_name) 有时我们需要修改数据库的sid和dbname,除了使用rman进行备份恢复之外,也可以通过手工方式修改,主要由两个主要过程完成: 1、修改实例名(SID) 2、修改数据库名(dbname) 下面演示将数据库sid和dbname由orcl修改为cnhtm的过程: 1、修改实例名(sid) 1.1、检查原来的数据库实例名(sid) oracle@oracle[/home/oracle]> echo $ORACLE_SID orcl oracle@oracle[/home/oracle]> sqlplus / as sysdba SQL*Plus: Release 10.2.0.1.0 - Production on Sun Dec 20 11:14:49 2009 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options sys@ORCL> select instance from v$thread; INSTANCE -------------------------------------------------------------------------------- orcl 1.2、关闭数据库 注意不能用shutdown abort,只能是shutdown immediate或shutdown normal

Oracle数据泵备份与恢复实例

SQL> conn / as sysdba 已连接。 SQL> create directory mydump as 'd:\oracle\mydump'; SQL> Grant read,write on directory mydump to test; 授权成功。 创建目录d:\oracle\mydump。 C:\Users\David>expdp test/test directory=mydump dumpfile=test.dmp logfile=test.l og tables=t1 Export: Release 11.2.0.1.0 - Production on 星期三7月16 22:52:58 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Produc tion With the Partitioning, OLAP, Data Mining and Real Application Testing options 启动"TEST"."SYS_EXPORT_TABLE_01": test/******** directory=mydump dumpfile=test .dmp logfile=test.log tables=t1 正在使用BLOCKS 方法进行估计... 处理对象类型TABLE_EXPORT/TABLE/TABLE_DATA 使用BLOCKS 方法的总估计: 64 KB 处理对象类型TABLE_EXPORT/TABLE/TABLE 处理对象类型TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS . . 导出了"TEST"."T1" 5.507 KB 5 行 已成功加载/卸载了主表"TEST"."SYS_EXPORT_TABLE_01" ****************************************************************************** TEST.SYS_EXPORT_TABLE_01 的转储文件集为: D:\ORACLE\MYDUMP\TEST.DMP 作业"TEST"."SYS_EXPORT_TABLE_01" 已于22:53:09 成功完成 需要将原表删除。 C:\Users\David>impdp test/test directory=mydump dumpfile=test.dmp tables=t1 Import: Release 11.2.0.1.0 - Production on 星期三7月16 23:00:28 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Produc

Oracle案例:损坏控制文件的恢复方法

Oracle案例:损坏控制文件的恢复方法 一:损坏单个控制文件 损坏单个控制文件是比较容易恢复的,因为一般的数据库系统,控制文件都不是一个,而且所有的控制文件都互为镜相,只要拷贝一个好的控制文件替换坏的控制文件就可以了。1、控制文件损坏,最典型的就是启动数据库出错,不能mount数据库 SQL>startup ORA-00205: error in identifying controlfile, check alert log for more info 查看报警日志文件,有如下信息 alter database mount Mon May 26 11:59:52 2003 ORA-00202: controlfile: 'D:\Oracle\oradata\chen\control01.ctl' ORA-27041: unable to open file OSD-04002: unable to open file O/S-Error: (OS 2) 系统找不到指定的文件。 2、停止数据库 SQL>shutdown immediate 3、拷贝一个好的控制文件替换坏的控制文件或修改init.ora中的控制文件参数,取消这个坏的控制文件。 4、重新启动数据 SQL>startup 说明: 1、损失单个控制文件是比较简单的,因为数据库中所有的控制文件都是镜相的,只需要简

单的拷贝一个好的就可以了 2、建议镜相控制文件在不同的磁盘上 3、建议多做控制文件的备份,长期保留一份由alter database backup control file to trace产生的控制文件的文本备份 二:损坏全部控制文件 损坏多个控制文件,或者人为的删除了所有的控制文件,通过控制文件的复制已经不能解决问题,这个时候需要重新建立控制文件。 同时注意,alter database backup control file to trace可以产生一个控制文件的文本备份。 以下是详细重新创建控制文件的步骤 1、关闭数据库 SQL>shutdown immediate; 2、删除所有控制文件,模拟控制文件的丢失 3、启动数据库,出现错误,并不能启动到mount下 SQL>startup ORA-00205: error in identifying controlfile, check alert log for more info 查看报警日志文件,有如下信息 alter database mount Mon May 26 11:53:15 2003 ORA-00202: controlfile: 'D:\Oracle\oradata\chen\control01.ctl'

oracle命令行大全

SQL*PLUS命令的使用大全 Oracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中,可以运行sql*plus命令与sql*plus 语句。 我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行修改,然后再次执行,sql*plus一般都与数据库打交道。 除了sql*plus语句,在sql*plus中执行的其它语句我们称之为sql*plus命令。它们执行完后,不保存在sql buffer的内存区域中,它们一般用来对输出的结果进行格式化显示,以便于制作报表。 下面就介绍一下一些常用的sql*plus命令: 1. 执行一个SQL脚本文件 SQL>start file_name SQL>@ file_name 我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理。 2. 对当前的输入进行编辑 SQL>edit 3. 重新运行上一次运行的sql语句 SQL>/ 4. 将显示的内容输出到指定文件 SQL> SPOOL file_name 在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。 5. 关闭spool输出 SQL> SPOOL OFF 只有关闭spool输出,才会在输出文件中看到输出的内容。 6.显示一个表的结构 SQL> desc table_name 7. COL命令: 主要格式化列的显示形式。 该命令有许多选项,具体如下: COL[UMN] [{ column|expr} [ option ...]] Option选项可以是如下的子句: ALI[AS] alias CLE[AR] FOLD_A[FTER] FOLD_B[EFORE] FOR[MA T] format

Oracle 建立控制文件

Oracle 建立控制文件 在一般情况下,如果使用了复合控制文件,并且将各个控制文件分别存储在不同的磁盘中,则丢失全部控件文件的可能性将非常小。但是,如果数据库的所有控制文件全部丢失,这时惟一的补救方法就是以手动方式重新创建控制文件。 另外,如果DBA需要改变数据库的某个永久性参数,也需要重新创建控制文件。永久性参数是在创建数据库时设置的一些参数,主要包括:数据库名称、MALOGFILES(最大的重做日志文件数)、MAXLOGMEMBERS(最大的重做日志组成员数)等。 下面介绍创建新的控制文件的命令CREATE CONTROLFILE语句的基本用法,具体步骤: (1)查看数据库中所有的数据文件和重做日志文件的名称和路径。 在创建新控制文件时,首先需要了解数据库中的数据文件和重做日志文件。如果数据库中所有的控制文件和重做日志文件都已经丢失,这时数据库已经无法打开,因此也就无法来查询数所字典获得数据文件和日志文件的信息,这时惟一的办法就是查看警告文件中的内容。如果数据库可以打开,那么可以通过执行下面的查询来生成文件列表:SQL> select member from v$logfile; SQL> select name from v$datafile; SQL> select name from v$controlfile; 如果既无法打开数据库,又无法打开可靠的文件列表,那么就只能够用手工方法通过查找操作系统文件来制作文件列表。 (2)关闭数据库。 如果数据库处于打开状态,则可能采取正常模式关闭数据库。 SQL> connect as sysdba …. SQL> shutdown immediate 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。 (3)在操作系统级别备份所有的数据文件和重做日志文件。 在使用CREATE CONTROLFILE语句创建新的控制文件时,如果操作不当可能会损坏数据文件和日志文件,因此,需要事先对其进行备份。 (4)启动实例,但是不加载数据库。 在建立控制文件时,要求实例处理NOMOUNT状态,即不打开控制文件。 SQL> startup nomount ORACLE 例程已经启动。 Total System Global Area 401743872 bytes Fixed Size 1333480 bytes Variable Size 255854360 bytes Database Buffers 138412032 bytes Redo Buffers 6144000 bytes

oracle常用命令大全和环境变量路径

Oracle 命令大全 底部为环境变量配置路径。 1 运行SQLPLUS工具 sqlplus 2 以OS的默认身份连接 / as sysdba 3 显示当前用户名 show user 4 直接进入SQLPLUS命令提示符 sqlplus /nolog 5 在命令提示符以OS身份连接 connect / as sysdba 6 以SYSTEM的身份连接 connect system/xxxxxxx@服务名 7 显示当然用户有哪些表 select * from tab; 8 显示有用户名和帐户的状态 select username,account_status from dba_users; 9 将SCOTT帐号解锁(加锁) alter user scott account unlock(lock); 10 以SCOTT的身份连接并且查看所属表 connect scott/tiger select * from tab; 11 查看EMP的表结构及记录内容 desc emp select empno,ename from emp; 12 以OS的身份登看SGA,共享池,CACHE的信息 connect / as sysdba show sga select name,value/1024/1024 from v$sga; show parameter shared_pool_size select value/1024/1024 from v$parameter where name ='shared_pool_size';

show parameter db_cache_size select value/1024/1024 from v$parameter where name ='db_cache_size'; 13 查看所有含有SIZE的信息 show parameter size bitmap_merge_area_size integer 1048576 create_bitmap_area_size integer 8388608 db_16k_cache_size big integer 0 db_2k_cache_size big integer 0 db_32k_cache_size big integer 0 db_4k_cache_size big integer 0 db_8k_cache_size big integer 0 db_block_size integer 4096 db_cache_size big integer 33554432 db_keep_cache_size big integer 0 db_recycle_cache_size big integer 0 NAME TYPE V ALUE ------------------------------------ ----------- ------------- global_context_pool_size string hash_area_size integer 1048576 java_max_sessionspace_size integer 0 java_pool_size big integer 33554432 large_pool_size big integer 8388608 max_dump_file_size string UNLIMITED object_cache_max_size_percent integer 10 object_cache_optimal_size integer 102400 olap_page_pool_size integer 33554432 oracle_trace_collection_size integer 5242880 parallel_execution_message_size integer 2148 NAME TYPE V ALUE ------------------------------------ ----------- ------------- sga_max_size big integer 143727516 shared_pool_reserved_size big integer 2516582 shared_pool_size big integer 50331648 sort_area_retained_size integer 0 sort_area_size integer 524288 workarea_size_policy string AUTO 14 显示SGA的信息 select * from v$sgastat; POOL NAME BYTES

ORACLE数据库监控配置规范方案

ORACLE数据库配置规范和监控清单 2015年12月

目录 一、常规参数配置 (3) 1.1 数据库最大连接数 (3) 1.2 归档配置 (3) 1.3 最大文件数设置 (4) 1.4 关闭回收站 (4) 1.5 控制文件配置 (5) 1.6 白名单设置 (5) 1.7 闪回区设置 (6) 1.8 在线日志组 (6) 1.9 控制文件记录保留数 (7) 二、常用监控项 (8) 2.1 数据库在用连接数 (8) 2.2 监控数据库文件数 (8) 2.3 表空间使用率 (8) 2.4 闪回区使用率 (9) 2.5 数据库等待事件 (10) 2.6 告警日志监控 (10) 2.7 灾备DataGuard同步监控 (10) 2.8 AWR采样报告分析 (10)

一、常规参数配置 1.1数据库最大连接数 参数: processes 说明: 数据库用户最大连接数通过processes参数进行配置,默认值为 300,该值表示能够同时连接到数据库的最大会话数,当连接数达到最大值,后续新增连接均会被拒绝。 修改命令: alter system set processes=1000 scope=spfile; 生效方式: 需重启实例生效。 1.2归档配置 参数: archive log list 说明: 数据库开启归档,任何生产环境均应在归档方式下运行,从而达到可通过备份进行数据恢复要求,提高系统安全性 修改命令: 数据库启动至mount状态,执行 alter database archivelog; 生效方式:

重启数据库设置生效 1.3最大文件数设置 参数: db_files 说明: 该参数用于控制在扩容表空间时,数据文件能够达到的最大数量,默认值为 200 修改命令: alter system set db_files=800 scope=spfile; 生效方式: 重启数据库生效 1.4关闭回收站 参数: recyclebin 说明: 如果回收站未关闭,则如果表对象被删除,将进入回收站,并不会释放占用的存储 修改命令: alter system set recyclebin=’off’ scope=spfile; 生效方式:

相关文档
最新文档