Oracle 建立控制文件

合集下载

oracle常见面试题

oracle常见面试题

Oracle常见面试题1、对数据库SQL2005、ORACLE熟悉吗?SQL2005是微软公司的数据库产品。

是一个RDBMS数据库,一般应用在一些中型数据库的应用,不能跨平台。

ORACLE是ORACLE公司的数据产品,支持海量数据存储,支持分布式布暑,支持多用户,跨平台,数据安全完整性控制性能优越,是一个ORDBMS,一般用在大型公司。

2、能不能设计数据库?如何实现数据库导入与导出的更新使用POWERDISINE工具的使用,一般满足第三范式就可以了。

EXP与IMP数据库的逻辑导入与导出3、如何只显示重复数据,或不显示重复数据显示重复:select * from tablename group by id having count(*)>1不显示重复:select * from tablename group by id having count(*)=14、什么是数据库的映射就是将数据库的表与字段对应到模型层类名与属性的过程.5、写分页有哪些方法,你一般用什么方法?用SQL语句写一个分页?如何用存储过程写分页?在SQLSERVER中使用TOP分页,在ORACLE中用ROWNUM,或分析函数ROW_NUMBER 使用TOP:select top 20,n.* from tablename n minus select top 10,m.* from tablename m使用分析函数:select * from(select n.*,row_number() over(order by columnname) num from tablename n)where num>=10 and num <=20;使用过程时,只要将分页的范围用两个参数就可以实现。

在ORACLE中,要将过程封装在包里,还要用动态游标变量才能实现数据集的返回。

6、ORACLE中左连接与右连接左连接:LEFT JOIN 右连接:RIGHT JOINselect n.column,m.column from tablename1 n left join tablename2 mon n.columnname=m.columnname用WHERE实现:select n.column,m.column from tablename1 n,tablename2 mwhere n.columnname(+)=m.columnname7、什么是反射、序列化、反序列化?事务有几种级别?反射是在程序运行时动态访问DDL的一种方式。

Txt文件导入oracle数据库方法

Txt文件导入oracle数据库方法

Txt文件导入oracle数据库方法在Oracle数据库中,可以使用SQL*Loader工具或者外部表的方式将文本文件(.txt文件)导入到数据库。

下面我将为你详细介绍这两种方法。

方法一:使用SQL*Loader工具导入txt文件1.创建控制文件控制文件是SQL*Loader用来定义数据导入规则的文件。

它描述了数据文件的格式、目标表的结构,以及导入时的数据转换和验证规则。

例如,假设我们要将一个txt文件中的数据导入到名为EMP的表中,EMP表的结构如下:CREATETABLEEMPEMPNONUMBER(4),ENAMEVARCHAR2(10),JOBVARCHAR2(9),MGRNUMBER(4),HIREDATEDATE,SALNUMBER(7,2),COMMNUMBER(7,2),DEPTNONUMBER(2)我们可以创建一个名为emp.ctl的控制文件,内容如下:LOADDATAINFILE 'emp.txt'APPENDINTOTABLEEMPFIELDS TERMINATED BY ',' optionally enclosed by '"'EMPNO,ENAME,JOB,MGR,HIREDATECHAR"YYYY-MM-DD",SAL,COMM,DEPTNO2.准备数据文件在导入数据之前,需要将数据准备好并保存为一个txt文件(如emp.txt)。

确保数据文件的每一行与控制文件中的字段一一对应,并且字段之间以逗号分隔,如下所示:7902,SMITH,CLERK,7901,1980-12-17,800,,207369,ADAMS,CLERK,7876,1983-01-12,1100,,20...3. 使用SQL*Loader导入数据打开命令行窗口(或终端),输入以下命令导入数据:其中,username是数据库用户名,password是数据库密码,database是数据库实例名。

oracle修改控制文件路径手册

oracle修改控制文件路径手册

Oracle修改控制文件路径文档(仅供内部人员使用)问题分析:如果闪回区控制文件(control02.ctl)跟数据目录控制文件(control01.ctl)不在同一个目录下,这在双机环境中,发生双机切换后,可能因为闪回区不在共享目录下,而造成切换过去后控制文件不统一,数据库无法打开的情况解决方案:如果是双机环境,建议将两台服务器的闪回区修改至共享目录中。

方法如下:1、通过sqlplus / as sysdba打开数据库。

2、通过select * from v$controlfile;查看数据库控制文件存放路径。

3、通过create pfile=’c:\app\administrator\product\11.2.0\dbhome_1\dbs\init.ora’ fromspfile; 创建pfile文件。

4、打开c:\app\administrator\product\11.2.0\dbhome_1\dbs\init.ora文件,并找到需要修改控制文件的位置。

5、本文档以将控制文件control02.ctl的路径修改至G:\app下为例。

将控制文件control02.ctl的路径修改为G:\app\control02.ctl6、修改完成后,通过shutdown immediate;关闭数据库。

7、从G:\app\Administrator\flash_recovery_area目录下将control02.ctl文件复制到新修改的目录G:\app下8、指定pfile文件启动数据库。

9、(1)通过指定的pfile文件创建spfile文件。

(2)然后通过shutdown immediate;关闭数据库(3)最后通过startup force强制启动数据库。

10、完成修改,通过select * from v$controlfile查看修改后的控制文件路径。

oracle ctl 参数

oracle ctl 参数

oracle ctl 参数
在Oracle中,CTL参数通常是指控制文件(Control File)的
参数。

控制文件是Oracle数据库中非常重要的一部分,它记录了数
据库的结构信息和状态信息,包括数据文件和日志文件的名称及位置、数据库的日志序列号、数据库的时间戳等。

控制文件的参数可
以影响数据库的运行和管理,下面我会从多个角度来解释一下这些
参数。

首先,控制文件的参数可以影响数据库的性能和稳定性。

例如,控制文件的大小和数量会影响数据库的启动时间和恢复时间。

较大
的控制文件可以记录更多的信息,但也会增加读取和写入的时间;
而较小的控制文件则可能无法记录足够的信息。

此外,控制文件的
位置也很重要,它应该存储在不同的磁盘上以提高容错能力。

其次,控制文件的参数还可以影响数据库的管理和维护。

例如,可以通过参数来指定控制文件的自动备份策略,以及控制文件的自
动扩展策略。

这些参数可以帮助数据库管理员更好地管理数据库的
备份和恢复工作,确保数据库的可靠性和可用性。

此外,控制文件的参数还可以影响数据库的安全性。

通过控制
文件的参数,可以限制对控制文件的访问权限,以防止未经授权的
用户对控制文件进行修改或篡改,从而保护数据库的安全。

总的来说,控制文件的参数在Oracle数据库中起着非常重要的
作用,它们可以影响数据库的性能、稳定性、管理、维护和安全性。

因此,在设置这些参数时,需要仔细考虑数据库的实际情况和需求,以确保数据库的正常运行和安全性。

ORACLE数据文件和控制文件头部

ORACLE数据文件和控制文件头部

ORACLE数据文件和控制文件头部第一次检查数据文件头中的Checkpoint cnt是否与对应操纵文件中的Checkpoint cnt一致.假如相等,进行第二次检查.第二次检查数据文件头的开始SCN与对应操纵文件中的结束SCN是否一致假如结束SCN等于开始SCN,则不需要对那个文件进行恢复.对每个数据文件都完成检查后,打开数据库.同时将每个数据文件的结束SCN设置为无穷大.通过下列过程我们来进一步说明一下这个内容。

我们来看下列来自操纵文件部分(选取一个文件测试):DATA FILE #4:(name #4) /opt/oracle/oradata/eygle/eygle01.dbfcreation size=0 block size=8192 status=0xe head=4 tail=4 dup=1tablespace 4, index=4 krfil=4 prev_file=0unrecoverable scn: 0x0000.00000000 01/01/1988 00:00:00Checkpoint cnt:58 scn: 0x0000.002ac8ee 08/11/2006 09:48:29Stop scn: 0x0000.002ac8ee 08/11/2006 09:48:29Creation Checkpointed at scn: 0x0000.0015078d 06/06/2006 09:41:54thread:0 rba:(0x0.0.0)................aux_file is NOT DEFINED这部分中包含的重要信息有:检查点计数: Checkpoint cnt:58检查点SCN: scn: 0x0000.002ac8ee 08/11/2006 09:48:29数据文件Stop SCN:Stop scn: 0x0000.002ac8ee 08/11/2006 09:48:29我们再看来自数据文件头的信息:FILE HEADER:Software vsn=153092096=0x9200000, Compatibility Vsn=134217728=0x8000000Db ID=1407686520=0x53e79778, Db Name='EYGLE'Activation ID=0=0x0Control Seq=979=0x3d3, File size=1280=0x500File Number=4, Blksiz=8192, File Type=3 DATATablespace #4 - EYGLE rel_fn:4Creation at scn: 0x0000.0015078d 06/06/2006 09:41:54Backup taken at scn: 0x0000.00000000 01/01/1988 00:00:00 thread:0reset logs count:0x232bee1f scn: 0x0000.0007c781 recovered at 08/10/2006 20:57:53begin-hot-backup file size: 0Checkpointed at scn: 0x0000.002ac8ee 08/11/2006 09:48:29.......................这部分中包含的重要信息有:检查点SCN: Checkpointed at scn: 0x0000.002ac8ee 08/11/2006 09:48:29检查点计数: chkpt cnt: 58 ctl cnt:57这两者都与操纵文件中所记录的一致。

Oracle控制文件(CONTROLFILE)

Oracle控制文件(CONTROLFILE)

Oracle控制⽂件(CONTROLFILE)⼀、Oracle 控制⽂件为⼆进制⽂件,初始化⼤⼩由CREATE DATABASE指定,可以使⽤RMAN备份记录了当前数据库的结构信息,同时也包含数据⽂件及⽇志⽂件的信息以及相关的状态,归档信息等等在参数⽂件中描述其位置,个数等等。

通常采⽤分散放开,多路复⽤的原则。

在mount阶段被读取,open阶段⼀直被使⽤维护数据库⼀致性(数据库启动时会⽐较控制⽂件与联机⽇志⽂件中的ckpt,即起始scn号,如相等则正常启动,否则需要介质恢复)⼀个控制⽂件只能属于⼀个数据库控制⽂件的任意修改将写⼊到初始化参数中指定的所有控制⽂件中,读取时则仅读取第⼀个控制⽂件控制⽂件只能连接⼀个数据库,控制⽂件的⼤⼩⼀般不要超过MB,最多为个,最少⼀个,互为镜像控制⽂件中包含的内容数据库的名字、ID、创建的时间戳表空间的名字联机⽇志⽂件、数据⽂件的位置、个数、名字联机⽇志的Sequence号码检查点的信息撤销段的开始或结束归档信息备份信息⼆、查看控制⽂件的相关信息1.使⽤相关视图来查看V$CONTROLFILE --列出实例中所有控制⽂件的名字及状态信息V$PARAMETER --列出所有参数的位置及状态信息V$CONTROLFILE_RECORD_SECTION --列出控制⽂件中记录的部分信息SHOW PARAMETER CONTROL_FILES --列出控制⽂件的名字、状态、位置等SQL> select * from v$controlfile;STATUS NAME IS_ BLOCK_SIZE FILE_SIZE_BLKS------- -------------------------------------------------- --- ---------- --------------/u01/app/oracle/oradata/orcl/control01.ctl NO 16384 430/u01/app/oracle/oradata/orcl/control02.ctl NO 16384 430/u01/app/oracle/oradata/orcl/control03.ctl NO 16384 430SQL> select name,type,value from v$parameter where name like '%control%';NAME TYPE VALUEcontrol_files 2 /u01/app/oracle/oradata/orcl/control01.ctl,/u01/app/oracle/oradata/orcl/control02.ctl,/u01/app/oracle/oradata/orcl/control03.ctlcontrol_file_record_keep_time 3 7SQL> select * from v$controlfile_record_section;TYPE RECORD_SIZE RECORDS_TOTAL RECORDS_USED FIRST_INDEX LAST_INDEX LAST_RECID ---------------------------- ----------- ------------- ------------ ----------- ---------- ----------DATABASE 316 1 1 0 0 0CKPT PROGRESS 8180 11 0 0 0 0REDO THREAD 256 8 1 0 0 0REDO LOG 72 16 9 0 0 20DATAFILE 428 100 8 0 0 28FILENAME 524 2298 21 0 0 0TABLESPACE 68 100 7 0 0 7TEMPORARY FILENAME 56 100 1 0 0 1RMAN CONFIGURATION 1108 50 0 0 0 0LOG HISTORY 56 292 35 1 35 35OFFLINE RANGE 200 163 0 0 0 0TYPE RECORD_SIZE RECORDS_TOTAL RECORDS_USED FIRST_INDEX LAST_INDEX LAST_RECID ---------------------------- ----------- ------------- ------------ ----------- ---------- ----------ARCHIVED LOG 584 28 20 1 20 20BACKUP SET 40 409 0 0 0 0BACKUP PIECE 736 200 0 0 0 0BACKUP DATAFILE 116 282 0 0 0 0BACKUP REDOLOG 76 215 0 0 0 0DATAFILE COPY 660 223 1 1 1 1BACKUP CORRUPTION 44 371 0 0 0 0COPY CORRUPTION 40 409 0 0 0 0DELETED OBJECT 20 818 3 1 3 3PROXY COPY 852 249 0 0 0 0BACKUP SPFILE 36 454 0 0 0 0TYPE RECORD_SIZE RECORDS_TOTAL RECORDS_USED FIRST_INDEX LAST_INDEX LAST_RECID ---------------------------- ----------- ------------- ------------ ----------- ---------- ----------DATABASE INCARNATION 56 292 2 1 2 2FLASHBACK LOG 84 2048 0 0 0 0INSTANCE SPACE RESERVATION 28 1055 1 0 0 0REMOVABLE RECOVERY FILES 32 1000 0 0 0 0RMAN STATUS 116 141 0 0 0 0THREAD INSTANCE NAME MAPPING 80 8 8 0 0 0MTTR 100 8 1 0 0 0DATAFILE HISTORY 568 57 0 0 0 0STANDBY DATABASE MATRIX 400 10 10 0 0 0GUARANTEED RESTORE POINT 212 2048 0 0 0 0TYPE RECORD_SIZE RECORDS_TOTAL RECORDS_USED FIRST_INDEX LAST_INDEX LAST_RECID ---------------------------- ----------- ------------- ------------ ----------- ---------- ----------RESTORE POINT 212 2083 0 0 0 0SQL> show parameter control_files;NAME TYPE VALUE------------------------------------ ----------- ------------------------------control_files string /u01/app/oracle/oradata/orcl/control01.ctl,/u01/app/oracle/oradata/orcl/control02.ctl, /u01/app/oracle/oradata/orcl/control03.ctlSQL> select controlfile_sequence# from v$database;CONTROLFILE_SEQUENCE#---------------------9852.使⽤STRINGS命令来查看控制⽂件中的具体内容SQL> host strings /u01/app/oracle/oradata/orcl/control01.ctl | more}|{zJORCLL-+RG+ORCL+ORCLorclorcl-+-='/u01/app/oracle/oradata/orcl/redo03.log/u01/app/oracle/oradata/orcl/redo3.log/u01/app/oracle/oradata/orcl/redo02.log/u01/app/oracle/oradata/orcl/redo2.log/u01/app/oracle/oradata/orcl/redo01.log/u01/app/oracle/oradata/orcl/tbs1_2.dbf/u01/app/oracle/oradata/orcl/tbs1_1.dbf/u01/app/oracle/oradata/orcl/example01.dbf/u01/app/oracle/oradata/orcl/users01.dbf/u01/app/oracle/oradata/orcl/sysaux01.dbf/u01/app/oracle/oradata/orcl/undotbs01.dbf/u01/app/oracle/oradata/orcl/system01.dbfu01/app/oracle/oradata/orcl/undotbs02.dbf/u01/app/oracle/oradata/orcl/redo03.log/u01/app/oracle/oradata/orcl/redo3.log/u01/app/oracle/oradata/orcl/redo02.log/u01/app/oracle/oradata/orcl/redo2.log/u01/app/oracle/oradata/orcl/redo01.log/u01/app/oracle/oradata/orcl/tbs1_2.dbf/u01/app/oracle/oradata/orcl/tbs1_1.dbf/u01/app/oracle/oradata/orcl/example01.dbf/u01/app/oracle/oradata/orcl/users01.dbf/u01/app/oracle/oradata/orcl/sysaux01.dbf/u01/app/oracle/oradata/orcl/undotbs01.dbf/u01/app/oracle/oradata/orcl/system01.dbfu01/app/oracle/oradata/orcl/undotbs02.dbfSYSTEMUNDOTBS1SYSAUXUSERSEXAMPLETBS1TEMP3.备份控制⽂件到平⾯⽂件(然后查看控制⽂件中的具体内容)SQL> alter database backup controlfile to trace as '/u01/app/oracle/ctl.txt';--或者使⽤SQL> host strings /u01/app/oracle/oradata/orcl/control01.ctl > /u01/app/oracle/ctl.txtSQL> host cat /u01/app/oracle/ctl.txt;-- The following are current System-scope REDO Log Archival related-- parameters and can be included in the database initialization file.---- LOG_ARCHIVE_DEST=''-- LOG_ARCHIVE_DUPLEX_DEST=''---- LOG_ARCHIVE_FORMAT=%t_%s_%r.dbf---- DB_UNIQUE_NAME="orcl"---- LOG_ARCHIVE_CONFIG='SEND, RECEIVE, NODG_CONFIG'-- LOG_ARCHIVE_MAX_PROCESSES=2-- STANDBY_FILE_MANAGEMENT=MANUAL-- STANDBY_ARCHIVE_DEST=?/dbs/arch-- FAL_CLIENT=''-- FAL_SERVER=''---- LOG_ARCHIVE_DEST_10='LOCATION=USE_DB_RECOVERY_FILE_DEST'-- LOG_ARCHIVE_DEST_10='OPTIONAL REOPEN=300 NODELAY'-- LOG_ARCHIVE_DEST_10='ARCH NOAFFIRM NOEXPEDITE NOVERIFY SYNC'-- LOG_ARCHIVE_DEST_10='REGISTER NOALTERNATE NODEPENDENCY'-- LOG_ARCHIVE_DEST_10='NOMAX_FAILURE NOQUOTA_SIZE NOQUOTA_USED NODB_UNIQUE_NAME' -- LOG_ARCHIVE_DEST_10='VALID_FOR=(PRIMARY_ROLE,ONLINE_LOGFILES)'-- LOG_ARCHIVE_DEST_STATE_10=ENABLE---- Below are two sets of SQL statements, each of which creates a new-- control file and uses it to open the database. The first set opens-- the database with the NORESETLOGS option and should be used only if-- the current versions of all online logs are available. The second-- set opens the database with the RESETLOGS option and should be used-- if online logs are unavailable.-- The appropriate set of statements can be copied from the trace into-- a script file, edited as necessary, and executed when there is a-- Set #1. 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.-- After mounting the created controlfile, the following SQL-- statement will place the database in the appropriate-- protection mode:-- ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCESTARTUP NOMOUNTCREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS NOARCHIVELOG MAXLOGFILES 16MAXLOGMEMBERS 3MAXDATAFILES 100MAXINSTANCES 8MAXLOGHISTORY 292LOGFILEGROUP 1 '/u01/app/oracle/oradata/orcl/redo01.log' SIZE 50M,GROUP 2 ('/u01/app/oracle/oradata/orcl/redo02.log','/u01/app/oracle/oradata/orcl/redo2.log') SIZE 50M,GROUP 3 ('/u01/app/oracle/oradata/orcl/redo03.log','/u01/app/oracle/oradata/orcl/redo3.log') SIZE 100M,GROUP 4 '/u01/app/oracle/oradata/orcl/redo04.log ' SIZE 50M,GROUP 7 ('/u01/app/oracle/oradata/orcl/redo07.log ','/u01/app/oracle/oradata/orcl/redo7.log ') SIZE 50M,GROUP 8 ('/u01/app/oracle/oradata/orcl/redo8.log') SIZE 50M-- STANDBY LOGFILEDATAFILE'/u01/app/oracle/oradata/orcl/system01.dbf','/u01/app/oracle/oradata/orcl/undotbs01.dbf','/u01/app/oracle/oradata/orcl/sysaux01.dbf','/u01/app/oracle/oradata/orcl/users01.dbf','/u01/app/oracle/oradata/orcl/example01.dbf','/u01/app/oracle/oradata/orcl/tbs1_1.dbf','/u01/app/oracle/oradata/orcl/tbs1_2.dbf'CHARACTER SET WE8ISO8859P1;-- Commands to re-create incarnation table-- Below log names MUST be changed to existing filenames on-- disk. Any one log file from each branch can be used to-- re-create incarnation records.-- ALTER DATABASE REGISTER LOGFILE '/u01/app/oracle/flash_recovery_area-- /ORCL/archivelog/2010_05_20/o1_mf_1_1_%u_.arc';-- ALTER DATABASE REGISTER LOGFILE '/u01/app/oracle/flash_recovery_area-- /ORCL/archivelog/2010_05_20/o1_mf_1_1_%u_.arc';-- Recovery is required if any of the datafiles are restored backups,-- or if the last shutdown was not normal or immediate.RECOVER DATABASE-- Database can now be opened normally.ALTER DATABASE OPEN;-- Commands to add tempfiles to temporary tablespaces.-- Online tempfiles have complete space information.-- Other tempfiles may require adjustment.ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle/oradata/orcl/temp01.dbf' SIZE 26214400 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;-- End of tempfile additions.---- Set #2. 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.-- After mounting the created controlfile, the following SQL-- statement will place the database in the appropriate-- protection mode:-- ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCESTARTUP NOMOUNTCREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS NOARCHIVELOG MAXLOGFILES 16MAXLOGMEMBERS 3MAXDATAFILES 100MAXINSTANCES 8MAXLOGHISTORY 292LOGFILEGROUP 1 '/u01/app/oracle/oradata/orcl/redo01.log' SIZE 50M,GROUP 2 ('/u01/app/oracle/oradata/orcl/redo02.log','/u01/app/oracle/oradata/orcl/redo2.log') SIZE 50M,GROUP 3 ('/u01/app/oracle/oradata/orcl/redo03.log','/u01/app/oracle/oradata/orcl/redo3.log') SIZE 100M,GROUP 4 '/u01/app/oracle/oradata/orcl/redo04.log ' SIZE 50M,GROUP 7 ('/u01/app/oracle/oradata/orcl/redo07.log ','/u01/app/oracle/oradata/orcl/redo7.log ') SIZE 50M,GROUP 8 ('/u01/app/oracle/oradata/orcl/redo08.log','/u01/app/oracle/oradata/orcl/redo8.log') SIZE 50M-- STANDBY LOGFILEDATAFILE'/u01/app/oracle/oradata/orcl/system01.dbf','/u01/app/oracle/oradata/orcl/undotbs01.dbf','/u01/app/oracle/oradata/orcl/sysaux01.dbf','/u01/app/oracle/oradata/orcl/users01.dbf','/u01/app/oracle/oradata/orcl/example01.dbf','/u01/app/oracle/oradata/orcl/tbs1_1.dbf','/u01/app/oracle/oradata/orcl/tbs1_2.dbf'CHARACTER SET WE8ISO8859P1;-- Commands to re-create incarnation table-- Below log names MUST be changed to existing filenames on-- disk. Any one log file from each branch can be used to-- re-create incarnation records.-- ALTER DATABASE REGISTER LOGFILE '/u01/app/oracle/flash_recovery_area-- /ORCL/archivelog/2010_05_20/o1_mf_1_1_%u_.arc';-- ALTER DATABASE REGISTER LOGFILE '/u01/app/oracle/flash_recovery_area-- /ORCL/archivelog/2010_05_20/o1_mf_1_1_%u_.arc';-- Recovery is required if any of the datafiles are restored backups,-- or if the last shutdown was not normal or immediate.RECOVER DATABASE USING BACKUP CONTROLFILE-- Database can now be opened zeroing the online logs.ALTER DATABASE OPEN RESETLOGS;-- Commands to add tempfiles to temporary tablespaces.-- Online tempfiles have complete space information.-- Other tempfiles may require adjustment.ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle/oradata/orcl/temp01.dbf' SIZE 26214400 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;-- End of tempfile additions.4.转储控制⽂件内容(查看控制⽂件中的具体内容)alter session set events 'immediate trace name CONTROLF level 12'; level表⽰级别或 --level1 块头的内容 --level2 数据⽂件内容 --levle 10 |12 所有内容oradebug setmypidoradebug dump controlf 12SQL> alter system set events 'immediate trace name controlf level 10';System altered.SQL> show parameter user_dump;NAME TYPE VALUE------------------------------------ ----------- ------------------------------user_dump_dest string /u01/app/oracle/admin/orcl/udump--查看路径中最新的⽂件[root@robinson ~]# vim /u01/app/oracle/admin/orcl/udump/orcl_ora_5110.trc--以下仅列出部分信息Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsORACLE_HOME = /u01/app/oracle/10gSystem name: LinuxNode name: Release: 2.6.18-164.el5xenVersion: #1 SMP Tue Aug 18 16:06:30 EDT 2009Machine: i686Instance name: orclRedo thread mounted by this instance: 1Oracle process number: 19Unix process pid: 5110, image: oracle@ (TNS V1-V3)*** 2010-05-20 18:52:30.104*** SERVICE NAME:(SYS$USERS) 2010-05-20 18:52:30.084*** SESSION ID:(159.10) 2010-05-20 18:52:30.084DUMP OF CONTROL FILES, Seq # 985 = 0x3d9V10 STYLE FILE HEADER:Compatibility Vsn = 169869568=0xa200100Db ID=1242732291=0x4a129703, Db Name='ORCL'Activation ID=0=0x0Control Seq=985=0x3d9, File size=430=0x1aeFile Number=0, Blksiz=16384, File Type=1 CONTROLDump of memory from 0xB7EF7E00 to 0xB7EFBE00--使⽤oradebug setmypidSQL> oradebug setmypid --标记当前进程Statement processed.--获得当前的spidSQL> select spid from v$process where addr =2 (select paddr from v$session where sid =3 (select sid from v$mystat where rownum = 1));SPID------------5110SQL> oradebug dump controlf 3;--3表⽰包含头⽂件和数据⽂件内容Statement processed.--查看user_dump_dest 路径SQL> show parameter user_dNAME TYPE VALUE------------------------------------ ----------- ------------------------------user_dump_dest string /u01/app/oracle/admin/orcl/udu mp--找到当前spid的trc⽂件SQL> ! ls /u01/app/oracle/admin/orcl/udump/*5110.* -- *//u01/app/oracle/admin/orcl/udump/orcl_ora_5110.trcSQL> ! cat /u01/app/oracle/admin/orcl/udump/orcl_ora_5110.trc--下⾯列出的为部分内容***************************************************************************RMAN CONFIGURATION RECORDS***************************************************************************(size = 1108, compat size = 1108, section max = 50, section in-use = 0, last-recid= 0, old-recno = 0, last-recno = 0)(extent = 1, blkno = 90, numrecs = 50)***************************************************************************FLASHBACK LOGFILE RECORDS(size = 84, compat size = 84, section max = 2048, section in-use = 0, last-recid= 0, old-recno = 0, last-recno = 0)(extent = 1, blkno = 139, numrecs = 2048)***************************************************************************THREAD INSTANCE MAPPING RECORDS***************************************************************************(size = 80, compat size = 80, section max = 8, section in-use = 8,last-recid= 0, old-recno = 0, last-recno = 0)(extent = 1, blkno = 156, numrecs = 8)orcl recno=1UNNAMED_INSTANCE_2 recno=2UNNAMED_INSTANCE_3 recno=3UNNAMED_INSTANCE_4 recno=4UNNAMED_INSTANCE_5 recno=5UNNAMED_INSTANCE_6 recno=6UNNAMED_INSTANCE_7 recno=7UNNAMED_INSTANCE_8 recno=8***************************************************************************MTTR RECORDS***************************************************************************(size = 100, compat size = 100, section max = 8, section in-use = 1, last-recid= 0, old-recno = 0, last-recno = 0)(extent = 1, blkno = 157, numrecs = 8)MTTR record for thread 1MTTR statistics status: 3Init time: Avg: 47090974 us, Times measured: 4File open time: Avg: 11225 us, Times measured: 21Log block read time: Avg: 20 us, Times measured: 65536Data block read/claim time: Avg: 170 us, Times measured: 1000Data block write time: Avg: 390 us1000 change vector apply time: Avg: 112435 us, Times measured: 37 Ratio Information:# of log blocks measured: 207891# of data blocks measured: 12536# of change vectors measured: 564444STANDBY DATABASE MAP RECORDS***************************************************************************(size = 400, compat size = 400, section max = 10, section in-use = 10,last-recid= 0, old-recno = 0, last-recno = 0)(extent = 1, blkno = 160, numrecs = 10)***************************************************************************RESTORE POINT RECORDS***************************************************************************(size = 212, compat size = 212, section max = 2048, section in-use = 0,last-recid= 0, old-recno = 0, last-recno = 0)(extent = 1, blkno = 161, numrecs = 2048)三、控制⽂件的管理规划原则:多路复⽤,建议存放到不同的磁盘或同⼀磁盘不同的分区个数与位置及状态管理:查看控制⽂件的状态是否与参数定义中的相吻合,当数据库发⽣结构修改时,将修改内容同时写⼊控制⽂件备份管理恢复管理新建控制⽂件语句spfile或pfile都可以实现对控制⽂件的个数及位置管理spfile步骤修改spfile参数中的control_files -- alter system ... scope = spfile | both |memory⼀致性关闭数据库增加或减少控制⽂件(cp or mv)启动数据库使⽤spfile验证结果pfile步骤⼀致性关闭数据库修改pfile参数(vi或vim) 修改*.control_files=......这⼀段增加或减少控制⽂件(cp or mv)启动数据库使⽤pfile验证结果--演⽰spfile修改控制⽂件SQL> show parameter control_fileNAME TYPE VALUE------------------------------------ ----------- ------------------------------control_file_record_keep_time integer 7control_files string /u01/app/oracle/oradata/orcl/control01.ctl,/u01/app/oracle/oradata/orcl/control02.ctl, /u01/app/oracle/oradata/orcl/control03.ctl--将控制⽂件减少到⼀个SQL> alter system set control_files = '/u01/app/oracle/oradata/orcl/control01.ctl' scope = spfile; System altered.SQL> shutdown immediate;Database closed.Database dismounted.ORACLE instance shut down.SQL> startup mountORACLE instance started.Total System Global Area 251658240 bytesFixed Size 1218796 bytesVariable Size 88082196 bytesDatabase Buffers 159383552 bytesRedo Buffers 2973696 bytesDatabase mounted.--再次查看参数⽂件,已显⽰为⼀个SQL> show parameter control_fileNAME TYPE VALUE------------------------------------ ----------- ------------------------------control_file_record_keep_time integer 7control_files string /u01/app/oracle/oradata/orcl/control01.ctl--增加控制⽂件(在nomount状态下即可修改)SQL> alter system set control_files = '/u01/app/oracle/oradata/orcl/control01.ctl',2 '/u01/app/oracle/oradata/orcl/control02.ctl',3 '/u01/app/oracle/oradata/orcl/control03.ctl'4 scope = spfile;System altered.--启动时可以看到在实例阶段出现了版本号不⼀致的问题SQL> startup forceORACLE instance started.Total System Global Area 251658240 bytesFixed Size 1218796 bytesVariable Size 88082196 bytesDatabase Buffers 159383552 bytesRedo Buffers 2973696 bytesORA-00214: control file '/u01/app/oracle/oradata/orcl/control01.ctl' version1051 inconsistent with file '/u01/app/oracle/oradata/orcl/control02.ctl'version 1049--处理办法,⽤版本号⾼的控制⽂件覆盖版本号低的控制⽂件SQL> host cp /u01/app/oracle/oradata/orcl/control01.ctl /u01/app/oracle/oradata/orcl/control02.ctl; SQL> host cp /u01/app/oracle/oradata/orcl/control01.ctl /u01/app/oracle/oradata/orcl/control03.ctl; SQL> alter database mount;Database altered.SQL> alter database open;Database altered.对于控制⽂件丢失的情况下,通过查看参数⽂件中设置,使⽤操作系统命令逐个查看这些⽂件是否存在SQL> host ls /u01/app/oracle/oradata/orcl/control01.ctl/u01/app/oracle/oradata/orcl/control01.ctlSQL> host ls /u01/app/oracle/oradata/orcl/control02.ctl/u01/app/oracle/oradata/orcl/control02.ctl查看控制⽂件所在的⽬录可⽤空间及控制⽂件的⼤⼩,建议不要超过100MBSQL> host ls /u01/app/oracle/oradata/orcl/c*.ctl -lh-rw-r----- 1 oracle oinstall 6.8M May 23 10:55 /u01/app/oracle/oradata/orcl/control01.ctl-rw-r----- 1 oracle oinstall 6.8M May 23 10:55 /u01/app/oracle/oradata/orcl/control02.ctl-rw-r----- 1 oracle oinstall 6.8M May 23 10:55 /u01/app/oracle/oradata/orcl/control03.ctlSQL> ! df -hFilesystem Size Used Avail Use% Mounted on/dev/sda2 6.4G 3.9G 2.2G 64% //dev/sdd1 6.8G 3.7G 2.8G 58% /u01/dev/sdc2 1.2G 34M 1.1G 3% /home/dev/sdc1 760M 17M 704M 3% /tmp/dev/sda1 456M 18M 415M 5% /boottmpfs 450M 0 450M 0% /dev/shmnone 450M 104K 450M 1% /var/lib/xenstored控制⽂件的备份热备:alter database backup controlfile to '<dir>'; --热备份控制⽂件alter database backup controlfile to trace as '<dir>' ;--得到建⽴控制⽂件的脚本RMAN:backup current controlfile;backup database include current controlfile;-- 或者设置RMAN 为⾃动备份RMAN > configure controlfile autobackup on;--演⽰备份--⽤于归档模式下的恢复,直接覆盖到控制⽂件SQL> alter database backup controlfile to '/u01/app/oracle/control.bak';Database altered.--⽤于重建控制⽂件SQL> alter database backup controlfile to trace as '/u01/app/oracle/recreate_controlfile.txt'; Database altered.--使⽤RMAN备份RMAN> connect target /;connected to target database: ORCL (DBID=1242732291)RMAN> backup current controlfile; --handle为备份⽂件的路径Starting backup at 23-MAY-10using target database control file instead of recovery catalogallocated channel: ORA_DISK_1channel ORA_DISK_1: sid=148 devtype=DISKchannel ORA_DISK_1: starting full datafile backupsetchannel ORA_DISK_1: specifying datafile(s) in backupsetincluding current control file in backupsetchannel ORA_DISK_1: starting piece 1 at 23-MAY-10channel ORA_DISK_1: finished piece 1 at 23-MAY-10piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2010_05_23/o1_mf_ncnnf_TAG20100523T131841_5zkgon2l_.bkp tag=TAG20100523T131841 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:05Finished backup at 23-MAY-10RMAN> backup database include current controlfile;Starting backup at 23-MAY-10using target database control file instead of recovery catalogallocated channel: ORA_DISK_1channel ORA_DISK_1: sid=141 devtype=DISKchannel ORA_DISK_1: starting full datafile backupsetchannel ORA_DISK_1: specifying datafile(s) in backupsetinput datafile fno=00001 name=/u01/app/oracle/oradata/orcl/system01.dbfinput datafile fno=00003 name=/u01/app/oracle/oradata/orcl/sysaux01.dbfinput datafile fno=00005 name=/u01/app/oracle/oradata/orcl/example01.dbfinput datafile fno=00006 name=/u01/app/oracle/oradata/orcl/tbs1_1.dbfinput datafile fno=00007 name=/u01/app/oracle/oradata/orcl/tbs1_2.dbfinput datafile fno=00002 name=/u01/app/oracle/oradata/orcl/undotbs01.dbfinput datafile fno=00004 name=/u01/app/oracle/oradata/orcl/users01.dbfchannel ORA_DISK_1: starting piece 1 at 23-MAY-10channel ORA_DISK_1: finished piece 1 at 23-MAY-10piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2010_05_23/o1_mf_nnndf_TAG20100523T132647_5zkh4sk2_.bkp tag=TAG20100523T132647 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:05:25channel ORA_DISK_1: starting full datafile backupsetchannel ORA_DISK_1: specifying datafile(s) in backupsetincluding current control file in backupsetincluding current SPFILE in backupsetchannel ORA_DISK_1: starting piece 1 at 23-MAY-10channel ORA_DISK_1: finished piece 1 at 23-MAY-10piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2010_05_23/o1_mf_ncsnf_TAG20100523T132647_5zkhh5st_.bkp tag=TAG20100523T132647 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:14Finished backup at 23-MAY-10RMAN> show all;RMAN configuration parameters are:CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # defaultCONFIGURE BACKUP OPTIMIZATION OFF; # defaultCONFIGURE DEFAULT DEVICE TYPE TO DISK; # defaultCONFIGURE CONTROLFILE AUTOBACKUP OFF; # defaultCONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # defaultCONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # defaultCONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # defaultCONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # defaultCONFIGURE MAXSETSIZE TO UNLIMITED; # defaultCONFIGURE ENCRYPTION FOR DATABASE OFF; # defaultCONFIGURE ENCRYPTION ALGORITHM 'AES128'; # defaultCONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # defaultCONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/10g/dbs/snapcf_orcl.f'; # defaultRMAN> configure controlfile autobackup on; --将控制⽂件⾃动备份功能置为on;new RMAN configuration parameters:CONFIGURE CONTROLFILE AUTOBACKUP ON;new RMAN configuration parameters are successfully stored控制⽂件的恢复管理控制⽂件版本不⼀致的问题⽤较新版本的控制⽂件覆盖旧版本的控制⽂件直接修改参数control_file丢失问题归档模式下当归档⽇志全的时候,先做全备,然后使⽤备份的控制⽂件恢复即可当归档⽇志不全的时候,先做全备,然后建⽴新的控制⽂件即可⾮归档模式下先做全备,然后建⽴新的控制⽂件即可新建控制⽂件语句数据库处于mount及open状态执⾏alter database backup controlfile to trace as '<dir>';得到建⽴语句注意[no]archievelog [no]resetlogs 两个参数的区别版本不⼀致演⽰SQL> startupORACLE instance started.Total System Global Area 251658240 bytesFixed Size 1218796 bytesVariable Size 88082196 bytesDatabase Buffers 159383552 bytesRedo Buffers 2973696 bytesORA-00214: control file '/u01/app/oracle/oradata/orcl/control01.ctl' version1051 inconsistent with file '/u01/app/oracle/oradata/orcl/control02.ctl'version 1049--处理办法,⽤版本号⾼的控制⽂件覆盖版本号低的控制⽂件SQL> host cp /u01/app/oracle/oradata/orcl/control01.ctl /u01/app/oracle/oradata/orcl/control02.ctl; SQL> host cp /u01/app/oracle/oradata/orcl/control01.ctl /u01/app/oracle/oradata/orcl/control03.ctl; SQL> alter database mount;Database altered.SQL> alter database open;Database altered.--控制⽂件部分丢失的演⽰,原本有两个控制⽂件,丢失⼀个--处理办法:1.将存在的控制⽂件复制到⽬的路径并更改控制⽂件名字为正确的控制⽂件名称2.修改控控⽂件参数将丢失的控制⽂件去掉(⼀般不建议使⽤)SQL> alter system set control_files = ' /u01/app/oracle/oradata/orcl/c ontrol01.ctl',2 '/u01/app/oracle/oradata/orcl/control02.ctl' scope = spfile;System altered.SQL> shutdown immediate;Database closed.Database dismounted.ORACLE instance shut down.SQL> startupORACLE instance started.Total System Global Area 251658240 bytesFixed Size 1218796 bytesVariable Size 75499284 bytesDatabase Buffers 171966464 bytesRedo Buffers 2973696 bytesORA-00205: error in identifying control file, check alert log for more info[oracle@robinson ~]$ tail -n 100 /u01/app/oracle/admin/orcl/bdump/alert_orcl.log..........................Tue Jun 8 19:03:42 2010starting up 1 shared server(s) ...MMON started with pid=11, OS id=4557CJQ0 started with pid=10, OS id=4555Tue Jun 8 19:03:44 2010ALTER DATABASE MOUNTTue Jun 8 19:03:44 2010ORA-00202: control file: '/u01/app/oracle/10g/dbs/ /u01/app/oracle/oradata/orcl/c ontrol01.ctl' ORA-27037: unable to obtain file statusLinux Error: 2: No such file or directoryAdditional information: 3Tue Jun 8 19:03:47 2010ORA-205 signalled during: ALTER DATABASE MOUNT...--从警告⽇志中得知,⽂件名为c ontrol01.ctl的⽂件不存在,故将其改为正确的⽂件名。

oracle8管理控制文件和重做日日志文件

oracle8管理控制文件和重做日日志文件
SIZE 50M -- STANDBY LOGFILE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF', 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF', 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF', 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF', 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF'
2021/2/17
oracle8管理控制文件和重做日日志文件
移动重做日志文件
Open状态下移动redo文件 • 确保处于inactive状态 • Host copy • 执行alter database rename file A to B语句 • 备份控制文件或数据库
学习改变命运,知 识创造未来
2021/2/17
oracle8管理控制文件和重做日日志文件
重做日志文件管理
• 重做日志文件的作用
• 数据库恢复中起到非常重要的作用 • 例程恢复、介质恢复以及事务的撤销
• 重做日志文件组\成员
• Redo01.log\redo02_1.log\redo02_2.log • Maxlogfiles:重做日志文件组的最大数量 • Maxlogmembers:每个组成员的最大数量
• Alter tablespace temp add tempfile ‘%oracle_home%\oradata\orcl\temp01.dbf’

探讨Oracle数据库管理之控制文件

探讨Oracle数据库管理之控制文件

探讨Oracle数据库管理之控制文件杜战伟【摘要】控制文件作为Oracle数据库管理的物理文件之一,数据库的名字以及数据文件的位置信息由它记录。

控制文件一旦损坏,电脑将无法正常工作。

因此控制文件十分重要,其管理的重点在于防御。

本文将对控制文件的相关内容作介绍,为安全管理Oracle控制文件提出了相关的方法。

%The control file was one of the physical files of the Oracle database management,the name and loaction of data files were recorded by it.Once the control file is damaged,the computer will not work properly.So the control file is very important,the focus of its management lies in defense.This article will introduce the related content of the control file, and put forward the related methods for the safety management of Oracle control file.【期刊名称】《电子测试》【年(卷),期】2016(000)010【总页数】3页(P90-91,98)【关键词】Oracle;数据库管理;控制文件【作者】杜战伟【作者单位】西安秦皇医院信息部,西安,710016【正文语种】中文控制文件是一个很小的二进制文件,用于对数据库的维护和记录,无论何时打开Oracle数据库,在此之前Oracle服务器都要对控制文件进行访问。

控制文件一旦出现问题,会导致Oracle数据库无法正常工作。

数据库的启动以及正常运行都离不开控制文件。

Oracle RMAN 使用详解

Oracle RMAN 使用详解

在Oracle 10g中的配置情况使用RMAN>show all;可以显示出RMAN 配置参数为:CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # defaultCONFIGURE BACKUP OPTIMIZATION OFF; # defaultCONFIGURE DEFAULT DEVICE TYPE TO DISK; # defaultCONFIGURE CONTROLFILE AUTOBACKUP OFF; # defaultCONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default CONFIGURE DEVICE TYPE DISK PARALLELISM 1; # defaultCONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE MAXSETSIZE TO UNLIMITED; # defaultCONFIGURE SNAPSHOT CONTROLFILE NAME TO ‘C:ORACLE..SNCFTEST.ORA’; #default1.configure retention policy to redundancy 1:是用来决定那些备份不再需要了,它一共有三种可选项,分别是CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;CONFIGURE RETENTION POLICY TO REDUNDANCY 5;CONFIGURE RETENTION POLICY TO NONE;第一种recover window是保持所有足够的备份,可以将数据库系统恢复到最近七天内的任意时刻。

ORACLE面试常见的问题及回答

ORACLE面试常见的问题及回答

1.冷备份和热备份的不同点以及各自的优点解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。

而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。

热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。

冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。

(因为不必将archive log写入硬盘)2.如果你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢?解答:重建控制文件,用带backup control file子句的recover命令恢复数据库。

3.如何转换init.ora到spfile?解答:使用create spfile from pfile命令.4.解释data block,extent和segment的区别(这里建议用英文术语)解答:data block是数据库中最小的逻辑存储单元。

当数据库的对象需要更多的物理存储空间时,连续的data block就组成了extent.一个数据库对象拥有的所有extents被称为该对象的segment.5.给出两个检查表结构的方法解答:1.DESCRIBE命令2.DBMS_METADATA.GET_DDL包6.怎样查看数据库引擎的报错解答:alert log.7.比较truncate和delete命令解答:两者都可以用来删除表中所有的记录。

区别在于:truncate是DDL操作,它移动HWK,不需要rollback segment.而Delete是DML操作,需要rollback segment 且花费较长时间.SQL语言的分类:SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。

1数据查询语言DQL数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE 子句组成的查询块:SELECT<字段名表>FROM<表或视图名>WHERE<查询条件>2数据操纵语言DML数据操纵语言DML主要有三种形式:1)插入:INSERT2)更新:UPDATE3)删除:DELETE3数据定义语言DDL数据定义语言DDL用来创建数据库中的各种对象-----表、视图、索引、同义词、聚簇等如:CREATE TABLE/VIEW/INDEX/SYN/CLUSTER|||||表视图索引同义词簇4数据控制语言DCL数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。

Oracle大型数据库课后简答题

Oracle大型数据库课后简答题

简述表空间和数据文件之间的关系。

答:每一个数据文件都必须隶属于某个表空间,但一个表空间可以由多个数据文件组合而成。

tablespace是逻辑上的概念,datafile则在物理上储存了数据库的种种对象。

概述Oracle数据库体系的物理结构。

答:Oracle数据库体系的物理结构是指数据库上实际的、可以从操作系统看到的文件,可以利用操作系统指令进行管理作业,物理存储结构组成文件如下所列:数据文件(Data File):实际存储数据的地方;在线重做日志文件(Online Redo Log File):记录曾经发生过的动作,当数据库受损时,可利用在线重做日志文件进行必要的恢复动作;控制文件(Control File):记录数据库必要的信息,以验证及维护数据库的完整性的信息;初始化参数文件(Parameter File):当数据库开启时,用来架构出Oracle内存结构的文件;密码文件(Password File):验证哪些帐号能开启、关闭Oracle数据库。

简要介绍表空间、段、区和数据块之间的关系。

答:Oracle的逻辑存储单元从小到大依次为:数据块、区、段和表空间。

表空间又由许多段组成,段由多个区组成,区又由多个数据块组成。

简述Oracle实例系统中各后台进程的作用。

答:(1)DBWRn(Database Writer)的主要工作是将数据缓冲区中被改过的数据写回到数据文件里。

(2)LGWR(Log Writer)主要的工作是将Redo Log Buffer里的记录写到在线重做日志文件中。

(3)SMON(S ystem Monitor)有两个主要的功能。

<1>执行Instance Recovery:当数据库不正常中断后再度开启时,SMON会自动执行Instance Recovery,也就是会将在线重做日志里面的数据回写到数据文件里面。

<2>收集空间:将表空间内相邻的空间进行合并的动作。

oracle storage参数

oracle storage参数

oracle storage参数Oracle Storage参数是指在Oracle数据库中,用于控制数据存储和访问的一组参数。

这些参数可以影响数据库的性能、可靠性和安全性。

在Oracle数据库中,存储参数主要包括表空间、数据文件、日志文件和控制文件等。

表空间是Oracle数据库中存储数据的基本单位。

每个表空间都有一个或多个数据文件,用于存储表、索引和其他对象。

表空间的大小、块大小、自动扩展和压缩等参数可以通过ALTER TABLESPACE语句进行修改。

在创建表空间时,可以指定不同的存储参数,如块大小、初始大小、最大大小等。

数据文件是存储表空间中数据的物理文件。

每个数据文件都有一个唯一的文件名和路径。

数据文件的大小、自动扩展和压缩等参数可以通过ALTER DATABASE DATAFILE语句进行修改。

在创建数据文件时,可以指定不同的存储参数,如块大小、初始大小、最大大小等。

日志文件是Oracle数据库中记录事务操作的文件。

每个日志文件都有一个唯一的文件名和路径。

日志文件的大小、数量、自动切换和归档等参数可以通过ALTER SYSTEM SWITCH LOGFILE语句进行修改。

在创建日志文件时,可以指定不同的存储参数,如大小、数量、自动切换等。

控制文件是Oracle数据库中记录数据库结构和状态的文件。

每个控制文件都有一个唯一的文件名和路径。

控制文件的大小、数量、自动备份和恢复等参数可以通过ALTER DATABASE CONTROLFILE语句进行修改。

在创建控制文件时,可以指定不同的存储参数,如大小、数量、自动备份等。

除了以上存储参数外,Oracle数据库还有其他一些存储相关的参数,如SGA(System Global Area)、PGA(Program Global Area)、TEMP表空间等。

这些参数可以通过ALTER SYSTEM语句进行修改。

总之,Oracle Storage参数是Oracle数据库中非常重要的一组参数,它们可以影响数据库的性能、可靠性和安全性。

Oracle控制文件

Oracle控制文件

Oracle控制⽂件⼀、控制⽂件的作⽤Control File 是⼀个较⼩的⼆进制⽂件,描述数据库结构,包括:01、数据库建⽴的⽇期;02、数据库名;03、数据库中所有数据⽂件和⽇志⽂件的⽂件名及路径;04、恢复数据库时所需的同步信息;05、在打开和存取数据库时都要访问该⽂件;记录控制⽂件名及路径的参数为:CONTROL_FILES总结以下⼏点:01.⼆进制⽂件;02.记录了数据库当前实例的结构和⾏为,数据⽂件⽇志⽂件的信息,维护数据库⼀致性;03.参数⽂件中定义了控制⽂件的位置和⼤⼩;04.很⼩的⼆进制⽂件,⼀般不超过 100MB;05.mount 阶段 open 以后,⼀直在⽤;06.⼀套控制⽂件只能连接⼀个 database;07.可以分散放置,⾄少⼀份,最多⼋份;控制⽂件相关视图:01. v$controlfile ----> 列出实例的所有控制⽂件的名字和状态02. v$parameter ----> 列出所有参数的位置和状态(where name='control_files')03.v$controlfile_recode_section ----> 提供控制⽂件的记录部分的信息04.show parameter control_files ----> 列出控制⽂件的名字、状态和位置select * from v$controlfile;select name,type,value from v$parameter where name like '%control%';select * from v$controlfile_record_section;查看控制⽂件中关于数据⽂件中的数据记录信息:(注意 DATAFILE ⼀定要⼤写,否则会提⽰"未选定⾏")在 Linux 环境下:Control File 丢失(丢失其中⼀个,不全部丢失),系统还是可以 checkpoint 和 switch logfile 的。

oracle中的控制文件

oracle中的控制文件

oracle中的控制⽂件
控制⽂件不可修改,如果担⼼控制⽂件容易,可以多存放⼏份
控制⽂件⾮常重要,相当于⼤脑,数据库所有的⽂件都经过控制⽂件来实现管理
⼀个表空间有多少个⽂件,这些⽂件的路径是什么,都在数据库控制⽂件⾥展现,⽽且会随时同步⼀次,隔3秒。

控制⽂件有⼀个⼼跳
如果增加了表空间,马上会对控制⽂件进⾏变更完全会记录整个数据库的变更信息,注意:是从结构上变更
⽂件很⼩,不会超过100M
控制⽂件⼀个⽐较⼩的⼆进制⽂件,描述数据库结构,包括:
1.数据库建⽴的⽇期
2.数据库名
3.数据库中所有的数据⽂件和⽇志⽂件的⽂件名及路径
4.恢复数据库时所需的同步信息
5.在打开和存取数据库时都要访问该⽂件
6.⼀套控制⽂件只能连接⼀个database
7.分散放置,⾄少1份,⾄多8份
记录控制⽂件名及路径的参数为:CONTROL_FILES
再完善吧~。

Oracle-重建控制文件的方式

Oracle-重建控制文件的方式

Oracle-重建控制⽂件的⽅式简介控制⽂件记录了当前数据库的结构信息,如数据⽂件,⽇志⽂件的信息和相关的状态等。

它是⼀个⼆进制⽂件。

在参数⽂件中描述控制⽂件的位置和数量,在数据库实例启动到mount状态时读取控制⽂件的信息,在open状态中⼀直被使⽤,以维护数据库的⼀致性。

控制⽂件位置SHOW PARAMETER CONTROL_FILESset lines 168 pages 99col name for a60select * from v$controlfile;控制⽂件的内容数据字典中查看col type for a32select * from V$CONTROLFILE_RECORD_SECTION;strings 查看控制⽂件内容数据库的名字,ID、创建的时间戳表空间的名字联机⽇志⽂件、数据⽂件的位置、个数、名字联机⽇志的Sequence号码检查点的信息撤销段的开始或结束归档信息备份信息重建控制⽂件注意事项重建控制⽂件时,需要相应的redo logfile和数据⽂件已存在。

set和reuse databaseset database:将数据⽂件头的db_name改成脚本中指定的名称reuse database: 读取数据⽂件头中的db_name并校验脚本中指定的名称是否⼀致resetlogs和noresetlogsnoresetlogs: 从current的redo logfile中得到系统scn号,数据⽂件scn号resetlogs: 将redo logfile内容清空,sequence#从1开始tempfile控制⽂件不包含tempfile,可以在open数据库后再创建。

问题描述当⽆备份控制⽂件的情况下,如何重建处理⽅案获取控制⽂件的⽅式trace⽂件(需要在mount或open状态)⽣成trace⽂件alter database backup controlfile to trace as '/tmp/control_rebuild.trc';⽣成的trace⽂件包含了resetlogs和noresetlogs 两个部分。

Oracle 重建控制文件

Oracle 重建控制文件

ORACLE的控制文件是数据库的非常重要的文件,它保存着数据库的连接实例(instance)和database的一个桥梁,它定义了当前数据库物理信息的状态。

因此控制文件对于一个数据库来说是非常重要的,在某些时候我们需要重新创建控制文件:1。

当控制文件丢失的时候,并且没有最近的文件Copy备份(一般在建库完成后的生成一个创建ControlFile的的脚本)。

2。

需要修改数据库初始物理信息,如Log文件数量,数据文件的数量等,这些信息是在建库的时候写在ControlFIle里的,如果需要修改,可以通过重建ControlFile来调整。

以下是一种较好的重建控制文件的方法:1. 在重建Contrl前,建议备份数据库中的数据,以防不测。

2. sqlplus /nolog3. SQL>connect /as sysdbal4. SQL>alter database backup controlfile to trace; 备份创建控制文件的脚本到TRC文件5. 在$ORACLE_HOME/admin/SID/udump下可找到最新生成的TRACE文件,如ora_23456.trc,此文件就包含了当前控制文件的参数及生成语法。

6. 提取ora_23456.trc中有关控制文件生成的语句另存为recreatctl.sq l。

7. recreatctl.sql的内容为:STARTUP NOMOUNTCREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS NOARCHIVELOGMAXLOGFILES 32MAXLOGMEMBERS 2MAXDATAFILES 50MAXINSTANCES 8MAXLOGHISTORY 800LOGFILEGROUP 1 '/dev/vg00/roraredoa1' SIZE 10M,GROUP 2 '/dev/vg00/roraredoa2' SIZE 10M,GROUP 3 '/dev/vg00/roraredoa3' SIZE10MDATAFILE'/dev/vg00/rorclsys','/dev/vg00/rorclrbs','/dev/vg00/rorcltemp','/dev/vg00/rorcltools','/dev/vg00/rorcluser';8. 如果需要修改,可按自己的需要编辑creatctl.sql中的参数,如maxdatafiles、maxinstances等。

oracle控制文件概述

oracle控制文件概述
全,常 把弓弦 绷。20.10.1510:09:2410:09Oc t-2015- Oct-20
加强交通建设管理,确保工程建设质 量。10:09:2410:09:2410:09Thursday, October 15, 2020
安全在于心细,事故出在麻痹。20.10.1520.10.1510:09:2410:09:24October 15, 2020
严格把控质量关,让生产更加有保障 。2020年10月 上午10时9分20.10.1510:09Oc tober 15, 2020
作业标准记得牢,驾轻就熟除烦恼。2020年10月15日星期 四10时9分24秒 10:09:2415 October 2020
好的事情马上就会到来,一切都是最 好的安 排。上 午10时9分24秒 上午10时9分10:09:2420.10.15
wanghailiang
4
建立控制文件
• 修改数据库名 • 修改永久参数 • 恢复控制文件
wanghailiang
5
建立控制文件示例
wanghailiang
6
显示控制文件信息
V$CONTROLFILE V$CONTROLFILE_RECORD_SECTION
wanghailiang
7
练习三
牢记安全之责,善谋安全之策,力务 安全之 实。2020年10月15日 星期四10时9分 24秒T hursday, October 15, 2020
相信相信得力量。20.10.152020年10月 15日星 期四10时9分24秒20.10.15
谢谢大家!
树立质量法制观念、提高全员质量意 识。20.10.1520.10.15Thursday, October 15, 2020
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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
(5)建立控制文件。

利用先前获得的文件列表,执行CREATE CONTROLFILE命令创建一个新的控制文件。

需要注意,建立控制文件要求用户必须具有SYSDBA特权。

示例如下:
SQL> create controlfile
2 reuse database "orcl"
3 logfile
4 group 1 'D:\APP\USER\ORADATA\ORCL\REDO01.LOG',
5 group 2 'D:\APP\USER\ORADATA\ORCL\REDO02.LOG' ,
6 group 3 'D:\APP\USER\ORADATA\ORCL\REDO03.LOG'
7 datafile
8 'D:\APP\USER\ORADATA\ORCL\SYSTEM01.DBF',
9 'D:\APP\USER\ORADATA\ORCL\SYSAUX01.DBF',
10 'D:\APP\USER\ORADATA\ORCL\UNDOTBS01.DBF',
11 'D:\APP\USER\ORADATA\ORCL\USERS01.DBF',
12 'D:\APP\USER\ORADATA\ORCL\EXAMPLE01.DBF',
13 'D:\ORACLEDATA\BF_TBS01.DBF',
14 'D:\ORACLEDATA\BIGBLICK_TBS01.DBF',
15 'D:\ORACLEDATA\UNDO02.DBF',
16 'D:\ORACLEDATA\USER_03.DBF',
17 'D:\ORACLEDATA\USER04.DBF',
18 'D:\ORACLEDATA\UNDOTBS02.DBF'
19 maxlogfiles 50
20 maxlogmembers 3
21 maxinstances 6
22 maxdatafiles 200
23 noresetlogs
24 noarchivelog;
控制文件已创建。

其中,DATABASE用于指定数据库名,该名称必须与初始化参数DB_NAME完全一致;NORESETLOGS选项用于指定仍然使用原有重做日志,如果不希望使用重做日志,可以指定RESETLOGS选项;LOGFILE用于指定数据库原有重做日志的组号、尺寸以及对应的日志成员;DATAFILE用于指定数据库原有的数据文件;CHARCTER SET用于指定数据库字符集。

(6)编辑初始化参数CONTROL_FILES,使其指向新建的控制文件。

如果控制文件所在磁盘出现损坏,那么还必须使用ALTER SYSTEM命令改变控制文件的存放位置。

SQL> alter system set control_files=
2 'd:\app\Administrator\oradata\orcl\control01.ctl',
3 'd:\app\Administrator\oradata\orcl\control02.ctl',
4 'd:\app\Administrator\oradata\orcl\control03.ctl'
5 scope=spfile;
系统已更改。

(7)打开数据库。

如果没有执行恢复过程,就可以以下面的方式正常打开数据库:
SQL> alter database open;
如果在创建控制文件时使用了RESETLOGS语句,则可以按下面的方式以恢复方式打开数据库。

SQL> alter database open resetlogs;
现在,新的控制文件已经创建成功,并且数据库已经在使用新创建的控制文件打开。

相关文档
最新文档