Db_create_online_log_dest_n
Hello,
I want to start use OMF in my database.
I have 3 redo log groups and controlfiles, that don't use OMF.
Now I set the parameters:
db_create_online_log_dest_1 = /u03/data/
db_create_online_log_dest_2 = /u04/data/
both locations exist.
When I create a new log file group :
alter database add logfile group 4;
files for the new group are added to the above locations, but one file is added to $ORACLE_HOME/DATABASE. I can't understand why?
How can I add new members to groups 1,2 and 3 and controlfile to make them be created in the two above locations?
Thanks in advance,
Aliq
Whenever a new redo group is added to the database, it will be contain 2 logfiles.These logfiles will be created in the location specified in db_create_file_dest_1 and db_create_file_dest_2 parameter.When you need to add a new logfile member to a existing log group you will need to provide the full pathname along with the filename.if you just specificy the filename it will be created in the $ORACLE_HOME/database.
but I thought that since I set these parameter I no more have to add logfile members specyfing the whole path and they will automatically be created in these locations.Mostly you will have to add redolog groups to the database not the logfile member.And 2 logfile members per groups is OK.
HTH
Anand
Similar Messages
-
OMF AND DB_CREATE_ONLINE_LOG_DEST_N
I created a database multipexing control files and redo log files in three locations
db_create_file_dest string C:\oracle\product\10.2.0\oradata
db_create_online_log_dest_1 string d:\logfile
db_create_online_log_dest_2 string d:\oracle
db_create_online_log_dest_3 string D:\tmp2
When i tried to add other location
alter system set db_create_online_log_dest_4 = 'new location'
And then execute the next commenad
alter database add logfile group 4
Should I modified others parameters ??
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXLOGHISTORY 292
The instance only create the redo online file group 4 in the first three locations. What happend with the fourth location??Hi,
I have not concentrated on the values or MAXLOGMEMBERS
you specified has 3
I mean to say that DB_CREATE_ONLINE_LOG_DEST_n initialization parameters are specified,
then an Oracle-managed log file member is created in each directory specified in the parameters (limit MAXLOGMEMBERS for the database).
- Pavan Kumar N -
Error while creating database on 10.2 enterprise eidition
Hi,
When i trying to create database through batch file on oracle version 10.2 enterprise edition, its giving error.
ORA-01092: ORACLE instance terminated. Disconnection forced
Following error message logged in log file:
ORA-00604: error occurred at recursive SQL level 2
ORA-00942: table or view does not exist
Offending statement at line 7032
create unique index apply$_conf_hdlr_columns_unq1
on apply$_conf_hdlr_columns(object_number, column_name)
ORA-01501: CREATE DATABASE failed
ORA-01519: error while processing file '%ORACLE_HOME%\RDBMS\ADMIN\SQL.BSQ' near line 7032
ORA-00604: error occurred at recursive SQL level 2
ORA-00942: table or view does not exist
The same script is working fine on Oracle 10.1 Enterprise edition But its giving error on Oracle 10.2 Enterprise edition while creating database.
Please help.
Thanks in advanceHi,
Content of PFILE:
# Basic Initialization Parameters
cluster_database=false
compatible=10.1.0.2.0
control_files = ("F:/oracle/oradata/DTO/ctrl01.ctl", "F:/oracle/oradata/DTO/ctrl02.ctl")
db_block_size=8192
# db_create_file_dest # only used in OMF mode
# db_create_online_log_dest_n # only used in OMF mode
db_domain=""
db_name=DTO
db_recovery_file_dest=F:/oracle/oradata/DTO/flash_recovery_area
db_recovery_file_dest_size=2G
db_unique_name=DTO_01
# instance_number # RAC parameter
job_queue_processes=10
# log_archive_dest_n # NOARCHIVELOG mode
# log_archive_dest_state_n # NOARCHIVELOG mode
# nls_language # OS dependant
# nls_territory # OS dependant
open_cursors=50
pga_aggregate_target=10M
processes=50
# remote_listener # RAC parameter
remote_login_passwordfile=EXCLUSIVE
# rollback_segments # UNDO_MANAGEMENT mode
# sessions # derived from processes
sga_target=100M
shared_servers=0
star_transformation_enabled=FALSE
undo_management=AUTO
# undo_tablespace # first UNDO tablespace
# Other Parameters
background_dump_dest=F:/oracle/admin/DTO/bdump
core_dump_dest=F:/oracle/admin/DTO/cdump
cursor_sharing=SIMILAR
db_file_multiblock_read_count=64
db_files=400
db_writer_processes=2
instance_name=DTO
log_buffer = 8192
log_checkpoint_interval = 10000
log_checkpoint_timeout = 0
os_authent_prefix=""
service_names=DTO
statistics_level=typical
timed_statistics=true
user_dump_dest=F:/oracle/admin/DTO/udump
utl_file_dir=*
Command in batch script:
CONNECT sys/oracle AS SYSDBA
STARTUP NOMOUNT PFILE=&ADMN_DIR/pfile/init&ORA_INST..ora
CREATE DATABASE &ORA_INST
CONTROLFILE REUSE
LOGFILE
GROUP 1 ('&REDO_DIR_1/redo11.log','&REDO_DIR_2/redo12.log') SIZE 10M REUSE,
GROUP 2 ('&REDO_DIR_1/redo21.log','&REDO_DIR_2/redo22.log') SIZE 10M REUSE,
GROUP 3 ('&REDO_DIR_1/redo31.log','&REDO_DIR_2/redo32.log') SIZE 10M REUSE,
GROUP 4 ('&REDO_DIR_1/redo41.log','&REDO_DIR_2/redo42.log') SIZE 10M REUSE
DATAFILE
'&DATA_DIR/syst01.dbf' SIZE 40M REUSE AUTOEXTEND ON NEXT 40M MAXSIZE 2G
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE
'&DATA_DIR/saux01.dbf' SIZE 40M REUSE AUTOEXTEND ON NEXT 40M MAXSIZE 2G
DEFAULT TEMPORARY TABLESPACE temp
TEMPFILE '&TEMP_DIR/temp01.dbf' SIZE 20M REUSE AUTOEXTEND ON NEXT 20M MAXSIZE 2G
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 10M
UNDO TABLESPACE undo
DATAFILE '&UNDO_DIR/undo01.dbf' SIZE 20M REUSE AUTOEXTEND ON NEXT 20M MAXSIZE 2G,
'&UNDO_DIR/undo02.dbf' SIZE 20M REUSE AUTOEXTEND ON NEXT 20M MAXSIZE 2G
CHARACTER SET AL32UTF8
SET TIME_ZONE = 'Europe/Warsaw'; -
Online redo log files being removed physically
Grid Infra version: 11.2.0.4
RDBMS Version: 11.2.0.4
Although this is a RAC DB, this is not a RAC-specific question. Hence posting it here.
Few months back, I remember issuing a command similair to below (DROP LOGFILE GROUP ...) and the redo log files were still physically present in the diskgroup.
If I remember correctly, the file is not deleted physical so that we can use the REUSE functionality (ALTER DATABASE ADD LOGFILE MEMBER '+REDO/orcl/onlinelog/redo1b.log' reuse to group 11; ) ie. you can use the REUSE command to add the logfile of the same name which is physically present in OS Filesystem/Diksgroup to redo log group.
But today, after I issued the below command, I checked the diskgroup location from ASMCMD
SQL> alter database drop logfile group 31;
Database altered.
From ASMCMD, I can that the file has disappeared physically. Is this a new feature with 11.2.0.4 or am I missing something here ?
ASMCMD> ls +DATA/msblprd/onlinelog/group_31.548.833154995
ASMCMD-8002: entry 'group_31.548.833154995' does not exist in directory '+DATA/msblprd/onlinelog/'Just to add to what Aman has said.
It is a bad practice not to let OMF decide the placement of Online redo logs because of this issue especially when you use ASM.
Executing rm command in Linux/Unix is easy but Dropping ASM aliases in the disk group can be a hassle.
This is documented.
"When a redo log member is dropped from the database, the operating system file is not deleted from disk. Rather, the control files of the associated database are updated to drop the member from the database structure. After dropping a redo log file, ensure that the drop completed successfully, and then use the appropriate operating system command to delete the dropped redo log file."
http://docs.oracle.com/cd/E11882_01/server.112/e25494/onlineredo.htm#ADMIN11324
BTW . You don't even need to set db_create_online_log_dest_n to enable OMF for ORLs.
SQL> show parameter log_dest
NAME TYPE VALUE
db_create_online_log_dest_1 string
db_create_online_log_dest_2 string
db_create_online_log_dest_3 string
db_create_online_log_dest_4 string
db_create_online_log_dest_5 string
SQL> show parameter db_create_file_dest
NAME TYPE VALUE
db_create_file_dest string +MBL_DATA
alter database add logfile thread 4
group 31 ('+MBL_DATA','+MBL_FRA') size 4096M,
group 32 ('+MBL_DATA','+MBL_FRA') size 4096M,
group 33 ('+MBL_DATA','+MBL_FRA') size 4096M,
group 34 ('+MBL_DATA','+MBL_FRA') size 4096M ;
Database altered.
And redo logs will be neatly placed as shown below
INST GROUP# MEMBER STATUS ARC
4 31 +MBL_DATA/bsblprd/onlinelog/group_31.276.832605441 UNUSED YES
+MBL_FRA/bsblprd/onlinelog/group_31.297.832605445 UNUSED YES
32 +MBL_DATA/bsblprd/onlinelog/group_32.547.832605451 UNUSED YES
+MBL_FRA/bsblprd/onlinelog/group_32.372.832605457 UNUSED YES
33 +MBL_DATA/bsblprd/onlinelog/group_33.548.832605463 UNUSED YES
+MBL_FRA/bsblprd/onlinelog/group_33.284.832605469 UNUSED YES
34 +MBL_DATA/bsblprd/onlinelog/group_34.549.832605475 UNUSED YES
+MBL_FRA/bsblprd/onlinelog/group_34.359.832605481 UNUSED YES -
Dataguard using ASM in primary node and FILESYSTEM in standby node
Hi There!
I need to configure a Dataguard, and my primary DB is working on ASM, the standby node is going to be using filesystems, so I want to know if there is a guide that I can follow in order to get this task successfully completed.
My operating system is Solaris 10, and the DB Release is 10.2.0.4. I want to know the best practices.
Also I want to remember some RMAN Restore and Recover techniques to have this configuration ready, up and running.
Thanks in Advance.
Paola
@>--->----setting this up isn't that different to setting up a single instance standby on ASM,
the MAA guide is here
http://www.oracle.com/technology/deploy/availability/pdf/MAA_WP_10g_RACPrimarySingleInstancePhysicalStandby.pdf
this details the configuration using ASM on both sides, if you want to use filesystem storage on the standby then the following parameters will need to be changed
*.db_file_name_convert='+DATA/CHICAGO/','+DATA/BOSTON/','+RECOVERY/CHICAGO','+RECOVERY/BOSTON'
*.log_file_name_convert='+DATA/CHICAGO/','+DATA/BOSTON/','+RECOVERY/CHICAGO','+RECOVERY/BOSTON'
to something like
*.db_file_name_convert='+DATA/CHICAGO/','/oradata/boston','+RECOVERY/CHICAGO','/recovery/boston'
*.log_file_name_convert='+DATA/CHICAGO/','/oradata/boston','+RECOVERY/CHICAGO','/recovery/boston'
alternativly you can set the DB_CREATE_FILE_DEST and DB_CREATE_ONLINE_LOG_DEST_n parameters and let oracle create OMF files for the dataguard instance.
Chris -
SQL*Plus: Release 10.2.0.3.0 - Production on Mon Mar 11 11:42:45 2013
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.There are some initialization parameters that decide the location of the online redo log files in general.These initialization parameters are
- DB_CREATE_ONLINE_LOG_DEST_n
- DB_RECOVERY_FILE_DEST
- DB_CREATE_FILE_DEST
I could not understand the level of precedence of these parameters if you set each of them for creating online logfile, if i set all these parameter then creating online log file always goes to the path which define in parameter DB_CREATE_ONLINE_LOG_DEST_n and ignores the others parameter (DB_RECOVERY_FILE_DEST,DB_CREATE_FILE_DEST).
If i just set the last two parameter (DB_RECOVERY_FILE_DEST,DB_CREATE_FILE_DEST) and do not set the DB_CREATE_ONLINE_LOG_DEST_n the logfile created in both location DB_RECOVERY_FILE_DEST,DB_CREATE_FILE_DEST) with mirrored mechanisim.
SQL> select name,value
2 from v$parameter
3 where upper(name) in ('DB_CREATE_ONLINE_LOG_DEST_1','DB_RECOVERY_FILE_DEST','DB_CREATE_FILE_DEST')
4 /
NAME VALUE
db_create_file_dest D:\ORACLE\PRODUCT\10.2.0\DB_1\dbfile
db_create_online_log_dest_1
db_recovery_file_dest D:\oracle\product\10.2.0\db_1\flash_recovery_area
SQL> select * from v$logfile
2 /
GROUP# STATUS TYPE MEMBER
3 ONLINE D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG
2 ONLINE D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG
1 STALE ONLINE D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG
SQL> alter database add logfile
2 /
Database altered.
SQL> select * from v$logfile
2 /
GROUP# STATUS TYPE MEMBER
3 ONLINE D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG
2 ONLINE D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG
1 STALE ONLINE D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG
4 ONLINE D:\ORACLE\PRODUCT\10.2.0\DB_1\DBFILE\ORCL\ONLINELOG\O1_MF_4_8MTHLWTJ_.LOG
4 ONLINE D:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_AREA\ORCL\ONLINELOG\O1_MF_4_8MTHLZB8_.LOGAs you can see above result , creating a logfile adhere defining parameters DB_RECOVERY_FILE_DEST,DB_CREATE_FILE_DEST) , when i define the parameter DB_CREATE_ONLINE_LOG_DEST_1 , logfile creation will goes to only defining within parameter DB_CREATE_ONLINE_LOG_DEST_1 no matter what you define for DB_RECOVERY_FILE_DEST,DB_CREATE_FILE_DEST).Here you go.
SQL> alter database drop logfile group 4
2 /
Database altered.
SQL> select * from v$logfile
2 /
GROUP# STATUS TYPE MEMBER
3 ONLINE D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG
2 ONLINE D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG
1 STALE ONLINE D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG
SQL> alter system set db_create_online_log_dest_1='D:\oracle' scope=both
2 /
System altered.
SQL> select name,value
2 from v$parameter
3 where upper(name) in ('DB_CREATE_ONLINE_LOG_DEST_1','DB_RECOVERY_FILE_DEST','DB_CREATE_FILE_DEST')
4 /
NAME VALUE
db_create_file_dest D:\ORACLE\PRODUCT\10.2.0\DB_1\dbfile
db_create_online_log_dest_1 D:\oracle
db_recovery_file_dest D:\oracle\product\10.2.0\db_1\flash_recovery_area
SQL> alter database add logfile
2 /
Database altered.
SQL> select * from v$logfile
2 /
GROUP# STATUS TYPE MEMBER
3 ONLINE D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG
2 ONLINE D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG
1 STALE ONLINE D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG
4 ONLINE D:\ORACLE\ORCL\ONLINELOG\O1_MF_4_8MTJ10B8_.LOG My confusion is here why the mechanisim of (DB_RECOVERY_FILE_DEST,DB_CREATE_FILE_DEST) is same while the same with both of them becomes differ when you define
'DB_CREATE_ONLINE_LOG_DEST_n'?DB_CREATE_FILE_DEST is used if DB_CREATE_ONLINE_LOG_DEST_n is not defined.
DB_RECOVERY_FILE_DEST is used for multiplexed log files.
Thus, if Oracle uses DB_CREATE_FILE_DEST (because DB_CREATE_ONLINE_LOG_DEST_n is not defined), it multiplexes the log file to DB_RECOVERY_FILE_DEST if DB_RECOVERY_FILE_DEST is also defined.
If, however, DB_CREATE_ONLINE_LOG_DEST_1 is used, Oracle expects you to define DB_CREATE_ONLINE_LOG_DEST_2 as well for multiplexing the log file; else it assumes that you do not want the log file multiplexed. The fact that the parameter ends with an n means that Oracle uses the n=2 f or the multiplexed location if defined.
Hemant K Chitale -
Question about ASM Online log files
Hi All,
Wondering if this setup is desirable?
SQL> show parameter db_create
NAME TYPE VALUE
db_create_file_dest string +SYS1
db_create_online_log_dest_1 string +SYS1
db_create_online_log_dest_2 string +SYS2
db_create_online_log_dest_3 string +SYS3
db_create_online_log_dest_4 string +SYS4
db_create_online_log_dest_5 string
SQL>
Looks like logs are being sent to 4 DG's....HI,
DB_CREATE_ONLINE_LOG_DEST_n (where n = 1, 2, 3, ... 5) specifies the default location for Oracle-managed control files and online redo logs. If more than one DB_CREATE_ONLINE_LOG_DEST_n parameter is specified, then the control file or online redo log is multiplexed across the locations of the other DB_CREATE_ONLINE_LOG_DEST_n parameters. One member of each online redo log is created in each location, and one control file is created in each location.
Specifying at least two parameters provides greater fault tolerance for the control files and online redo logs if one of the locations should fail.
If a file system directory is specified as the default location, then the directory must already exist; Oracle does not create it. The directory must have appropriate permissions that allow Oracle to create files in it. Oracle generates unique names for the files, and a file thus created is an Oracle Managed File.
Cheers -
(9I) OMF(ORACLE MANAGED FILES) 개념과 사용 예제
제품 : ORACLE SERVER
작성날짜 : 2002-04-01
(9I) OMF(ORACLE MANAGED FILES) 개념과 사용 예제
==============================================
PURPOSE
Space Management와 관련된 Oracle 9i의 새로운 기능은 크게 다음 세 가지이다.
- Oracle Managed Files, Delete Datafiles, Default Temporary Tablespace.
이를 이용하면 개발 중인 혹은 운영 중인 데이터베이스에 대해 DBA의 수고를 덜게
할 수 있다.
Oracle 9i의 새 기능인 OMF에 대하여 개념과 사용 예제를 알아보기로 한다.
Explanation
DBA가 테이블스페이스를 생성할 때, 혹은 기존의 테이블스페이스에 새로운 데이터
화일을 추가할 때, 실제 OS 화일명(디렉토리 포함)과 크기를 주면 자동으로 해당
화일이 생성된다. 9i의 Oracle Managed Files(OMF) 기능을 이용하면 OS 화일명을
줄 필요도 없다. 즉, 데이터베이스 차원에서 유일한 화일명을 생성하고, 그 이름의
데이터 화일을 생성하는 것이다. 또한 OMF를 이용해 만들어진 데이터 화일의 경우,
나중에 그 데이터 화일이 속한 테이블스페이스를 삭제하면 데이터 화일까지 자동
으로 삭제가 된다. DBA가 필요없는 데이터 화일을 찾아서 OS 상에서 일일이 삭제
해야만 하는 수고를 덜어주게 되는 것이다.
1. Oracle Managed Files (OMF)
Overview에서 기술했듯이 OMF를 이용하면 데이터베이스가 사용하는 OS 화일에 대해
DBA가 일일이 관리해야 하는 번거로움을 덜 수 있다. OMF 화일은 Oracle 서버에 의해
자동으로 생성(유일성을 보장하기 위한 Naming Structure 존재)되고 삭제된다.
이 OMF를 이용할 수 있는 화일은 Control File, Online Redo Log File, Data File
등이다.
1) Benefits of Oracle Managed Files
화일과 관련된 DBA 작업이 쉽다.
유일한 화일명이 생성되기 때문에, DBA가 화일명을 잘못 사용할 염려가 없다.
사용되지 않는 데이터 화일이 자동으로 삭제되기 때문에, 사용되지 않는 데이터
화일에 의한 디스크 공간 낭비의 우려가 없다.
테스트 데이터베이스, 개발용 데이터베이스 생성이 단순하다.
SQL 스크립트에 OS의 화일명을 명시하지 않아도 되기 때문에 Portable Application
개발이 용이하다.
2) Oracle Managed File Configurations
다음 두 가지의 초기 파라미터를 정의하면 된다.
DB_CREATE_FILE_DEST : data file들이 위치하게 될 기본 디렉토리
DB_CREATE_ONLINE_LOG_DEST_n : online redo log와 control file들이 위치하게
될 기본 디렉토리 (n : 1과 5 사이의 정수 - for multiplexing)
Note :
위 두 파라미터는 ALTER SYSTEM/SESSION에 의해 동적으로 정의/변경될 수 있다.
Note : DB_CREATE_FILE_DEST 파라미터는 정의되어 있지만 DB_CREATE_ONLINE_LOG_DEST_n
파라미터가 정의되어 있지 않으면, 모든 화일들(Data Files, Control Files,
Online Redo Logs)은 DB_CREATE_FILE_DEST 파라미터에 정의된 디렉토리에
존재하게 된다.
3) Oracle Managed File Name Structure
OMF 화일은 Oracle Flexible Architecture(OFA)를 따르며 플랫폼에 의존적이다.
아래는 Solaris 환경의 OMF Naming Structure의 예이다.
Control Files : ora_%u.ctl
Redo Log Files : ora_%g_%u.log
Data Files : ora_%t_%u.dbf
Temporary Data Files : ora_%t_%u.tmp
Note :
%u is an 8 character string that guarantees uniqueness.
%t is the tablespace name, truncated if necessary.
%g is the redo log file group number.
ora_ identifies the file as an Oracle Managed File.
Note : 위 Naming Structure를 따르지 않으면 OMF로 인식하지 않는다.
즉, 위 Naming Structure를 따르는 화일을(OMF로 생성) 추후 이 structure
를 따르지 않는 화일 이름으로 rename하게 되면 OMF 기능을 사용하지 못한다.
별 다른 옵션 없이 DROP TABLESPACE를 수행하면 해당 데이터 화일의 OS
화일이 자동으로 삭제되지는 않는다.
4) Managing Control Files with OMF
데이터베이스 생성 시 CONTROL_FILES 초기 파라미터를 정의하지 않으면
DB_CREATE_ONLINE_LOG_DEST_n에 정의된 디렉토리에 Control File이 기본적으로
생성된다(OMF). Control File 이름은 유일하게 생성되며 이 결과는 alert.log에
기록이 된다. 데이터베이스 생성 후에는 CONTROL_FILES 초기 파라미터에 생성된
Control File 이름을 정의해주어야 한다.
5) Managing Online Redo Log Files with OMF
Redo Log File specification 없이 아래와 같이 전체 Redo Log Group을 생성할
수 있다.
SQL> ALTER DATABASE ADD LOGFILE;
Note : 이 경우 해당 redo log file은 DB_CREATE_ONLINE_LOG_DEST_n에 정의된
디렉토리에 생성된다. 만일 이 파라미터 값이 정의되지 않았으면
DB_CREATE_FILE_DEST 디렉토리에 생성된다.
특정 Redo Log Group을 삭제할 때 관련 OMF 화일들은 OS 레벨에서 자동으로
삭제된다.
SQL> ALTER DATABASE DROP LOGFILE GROUP 3;
Note : Archived Log File은 OMF일 수 없다.
6) Managing Tablespaces with OMF
아래와 같이 테이블스페이스를 생성하면 DB_CREATE_FILE_DEST에 정의된
디렉토리에 크기가 100M인 데이터 화일이 자동으로 생성된다. 이 데이터 화일의
이름은 Naming Structure에 의해 유일하게 만들어진다.
(Autoextend On, Unlimited Restriction)
SQL> CREATE TABLESPACE TBS1;
데이터 화일의 기본 값 이외의 화일을 생성하려면 다음과 같이 하면 된다.
SQL> CREATE TABLESPACE TBS1 DATAFILE SIZE 400M AUTOEXTEND OFF;
기존 테이블스페이스에 데이터 화일을 추가하려면 다음과 같이 하면 된다.
SQL> ALTER TABLESPACE TBS1 ADD DATAFILE;
아래와 같이 테이블스페이스를 삭제하면 관련 데이터 화일(OMF)들도 OS 레벨에서
삭제된다.
SQL> DROP TABLESPACE TBS1;
Note : DB_CREATE_FILE_DEST의 값은 다음과 같이 동적으로 변경할 수 있다.
SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST = '/disk2/oradata/';
세션 단위의 변경은 ALTER SESSION 구문을 사용하면 된다. 하지만 이와 같은
변경이 이미 생성되어져 있는 데이터 화일의 위치를 바꾸는 것은 아니며,
다만 새로 생성되는 데이터 화일에만 영향이 있다. OMF 기능을 사용하지 않으려면
다음과 같이 하면 된다.
SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST = '';
Example
테스트 1) OMF를 이용한 테이블스페이스 생성/삭제 및 이에 대한 확인
As SYSTEM
DB_CREATE_FILE_DEST 파라미터 값 정의
SQL> alter session set db_create_file_dest='/d02/ora9i/oracle/dbs/ora9i/tbs_omf';
- OMF를 이용한 테이블스페이스 생성 : 크기가 10M인 두 개의 데이터 화일 자동 생성
SQL> host ls -l /d02/ora9i/oracle/dbs/ora9i/tbs_omf
total 0
SQL> create tablespace tbs_4 datafile size 10M, size 10M;
SQL> host ls -l /d02/ora9i/oracle/dbs/ora9i/tbs_omf
total 41024
-rw-r----- 1 ora9i dba 10489856 Mar 12 17:10 ora_tbs_4_xbs141rr.dbf
-rw-r----- 1 ora9i dba 10489856 Mar 12 17:10 ora_tbs_4_xbs142xv.dbf
- 해당 테이블스페이스에 데이터 화일 추가
SQL> alter tablespace tbs_4 add datafile size 10M;
SQL> host ls -l /d02/ora9i/oracle/dbs/ora9i/tbs_omf
total 61536
-rw-r----- 1 ora9i dba 10489856 Mar 12 17:10 ora_tbs_4_xbs141rr.dbf
-rw-r----- 1 ora9i dba 10489856 Mar 12 17:10 ora_tbs_4_xbs142xv.dbf
-rw-r----- 1 ora9i dba 10489856 Mar 12 17:11 ora_tbs_4_xbs156ff.dbf
- 해당 테이블스페이스 삭제 : 이 테이블스페이스의 모든 OMF 데이터 화일 자동 삭제
SQL> drop tablespace tbs_4;
SQL> host ls -l /d02/ora9i/oracle/dbs/ora9i/tbs_omf
total 0
테스트 2) OMF를 이용한 UNDO Tablespace 생성/삭제 및 이에 대한 확인
As SYSTEM
DB_CREATE_FILE_DEST 파라미터 값 정의
SQL> alter session set db_create_file_dest='/d02/ora9i/oracle/dbs/ora9i/tbs_omf';
- OMF를 이용한 UNDO 테이블스페이스 생성 : 크기가 10M인 데이터 화일 자동 생성
SQL> create undo tablespace undotbs_1 datafile size 10M;
SQL> host ls -l /d02/ora9i/oracle/dbs/ora9i/tbs_omf
total 20512
-rw-r----- 1 ora9i dba 10489856 Mar 12 17:12 ora_undotbs__xbs17brr.dbf
- 해당 테이블스페이스에 데이터 화일 추가
SQL> alter tablespace undotbs_1 add datafile size 10M;
SQL> host ls -l /d02/ora9i/oracle/dbs/ora9i/tbs_omf
total 41024
-rw-r----- 1 ora9i dba 10489856 Mar 12 17:12 ora_undotbs__xbs17brr.dbf
-rw-r----- 1 ora9i dba 10489856 Mar 12 17:13 ora_undotbs__xbs19hr8.dbf
- 해당 테이블스페이스 삭제 : 이 테이블스페이스의 모든 OMF 데이터 화일 자동 삭제
SQL> drop tablespace undotbs_1;
SQL> host ls -l /d02/ora9i/oracle/dbs/ora9i/tbs_omf
total 0
테스트 3) OMF를 이용한 Temporary Tablespace 생성/삭제 및 이에 대한 확인
As SYSTEM
DB_CREATE_FILE_DEST 파라미터 값 정의
SQL>alter session set db_create_file_dest ='/d02/ora9i/oracle/dbs/ora9i/tbs_omf';
- OMF를 이용한 Locally Managed Temporary 테이블스페이스 생성 : 크기가 10M인
데이터 화일 자동 생성
SQL>create temporary tablespace omf_temp tempfile size 10M extent
management local;
SQL> host ls -l /d02/ora9i/oracle/dbs/ora9i/tbs_omf
total 176
-rw-r----- 1 ora9i dba 10489856 Mar 12 17:14 ora_omf_temp_xbs1cqrv.tmp
- 해당 테이블스페이스에 temp file 추가
SQL> alter tablespace omf_temp add tempfile size 10M;
SQL> host ls -l /d02/ora9i/oracle/dbs/ora9i/tbs_omf
total 352
-rw-r----- 1 ora9i dba 10489856 Mar 12 17:14 ora_omf_temp_xbs1cqrv.tmp
-rw-r----- 1 ora9i dba 10489856 Mar 12 17:15 ora_omf_temp_xbs1d9xp.tmp
- 해당 테이블스페이스 삭제 : 이 테이블스페이스의 모든 OMF 데이터 화일 자동 삭제
SQL> drop tablespace omf_temp;
SQL> host ls -l /d02/ora9i/oracle/dbs/ora9i/tbs_omf
total 0
테스트 4) OMF를 이용한 Online Redo Log 생성/삭제 및 이에 대한 확인
As SYSTEM
DB_CREATE_ONLINE_LOG_DEST_n 파라미터 값 정의
SQL> alter session set db_create_online_log_dest_1 =
'/d02/ora9i/oracle/oradata/ora9i/redo_omf';
- OMF를 이용한 새로운 Online Redo Log Group 생성 : 크기가 10M인 Online Redo
Log File 자동 생성
SQL> host ls -l /d02/ora9i/oracle/oradata/ora9i/redo_omf
total 0
SQL> select group#, member from v$logfile;
GROUP# MEMBER
3 /d02/ora9i/oracle/oradata/ora9i/redo03.log
2 /d02/ora9i/oracle/oradata/ora9i/redo02.log
1 /d02/ora9i/oracle/oradata/ora9i/redo01.log
SQL> alter database add logfile size 10M;
SQL> host ls -l /d02/ora9i/oracle/oradata/ora9i/redo_omf
total 20512
-rw-r----- 1 ora9i dba 10486272 Mar 12 17:15 ora_4_xbs1fv2r.log
SQL> select group#, member from v$logfile;
GROUP# MEMBER
3 /d02/ora9i/oracle/oradata/ora9i/redo03.log
2 /d02/ora9i/oracle/oradata/ora9i/redo02.log
1 /d02/ora9i/oracle/oradata/ora9i/redo01.log
4 /d02/ora9i/oracle/oradata/ora9i/redo_omf/ora_4_xbs1fv2r.log
- 해당 Online Redo Log Group 삭제 : 이 Redo Log Group의 모든 OMF Redo Log
Member 화일 자동 삭제
SQL> alter database drop logfile group 4;
SQL> host ls -l /d02/ora9i/oracle/oradata/ora9i/redo_omf
total 0
SQL> select group#, member from v$logfile;
GROUP# MEMBER
3 /d02/ora9i/oracle/oradata/ora9i/redo03.log
2 /d02/ora9i/oracle/oradata/ora9i/redo02.log
1 /d02/ora9i/oracle/oradata/ora9i/redo01.log
Reference Document
<Note:137482.1> -
Creating Controlfile Consfusion
According to Oracle Documents [http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_5003.htm|http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_5003.htm]
When you issue a CREATE CONTROLFILE statement, Oracle Database creates a new control file based on the information you specify in the statement. The control file resides in the location specified in the CONTROL_FILES initialization parameter. If that parameter does not have a value, then the database creates an Oracle-managed control file in the default control file destination, which is one of the following (in order of precedence):
•One or more control files as specified in the DB_CREATE_ONLINE_LOG_DEST_n initialization parameter. The file in the first directory is the primary control file. When DB_CREATE_ONLINE_LOG_DEST_n is specified, the database does not create a control file in DB_CREATE_FILE_DEST or in DB_RECOVERY_FILE_DEST (the flash recovery area).
•If no value is specified for DB_CREATE_ONLINE_LOG_DEST_n, but values are set for both the DB_CREATE_FILE_DEST and DB_RECOVERY_FILE_DEST, then the database creates one control file in each location. The location specified in DB_CREATE_FILE_DEST is the primary control file.
•If a value is specified only for DB_CREATE_FILE_DEST, then the database creates one control file in that location.
•If a value is specified only for DB_RECOVERY_FILE_DEST, then the database creates one control file in that location.
If no values are set for any of these parameters, then the database creates a control file in the default location for the operating system on which the database is running. This control file is not an Oracle-managed file.
SQL> alter database backup controlfile to trace as 'D:\oracle\stuff\control.txt'
2 /
Database altered.
SQL> show parameter control_files
NAME TYPE VALUE
control_files string D:\ORACLE\PRODUCT\10.2.0\ORADA
TA\ORCL\CONTROL01.CTL, D:\ORAC
LE\PRODUCT\10.2.0\ORADATA\ORCL
\CONTROL02.CTL, D:\ORACLE\PROD
UCT\10.2.0\ORADATA\ORCL\CONTRO
L03.CTL
SQL> create pfile='D:\oracle\stuff\pfile.txt' from spfile
2 /
File created.take out control_files parameter from pfile.txt and define the parameter only
db_recovery_file_dest='D:\oracle\product\10.2.0\db_1
db_recovery_file_dest_size=2147483648
SQL> shutdown immediate
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL> startup pfile='D:\oracle\stuff\pfile.txt' nomount
ORACLE instance started.
Total System Global Area 293601280 bytes
Fixed Size 1290208 bytes
Variable Size 218103840 bytes
Database Buffers 67108864 bytes
Redo Buffers 7098368 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS 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\ORCL\REDO01.LOG' SIZE 50M,
9 GROUP 2 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG' SIZE 50M,
10 GROUP 3 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG' SIZE 50M,
11 GROUP 4 'D:\ORACLE\ORCL\ONLINELOG\O1_MF_4_8MTJ10B8_.LOG' SIZE 100M
12 DATAFILE
13 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF',
14 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF',
15 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF',
16 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF',
17 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF'
18 CHARACTER SET WE8MSWIN1252
19 /
Control file created.
SQL> select name from v$controlfile
2 /
NAME
D:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_AREA\ORCL\CONTROLFILE\O1_MF_8MTSRCWH_.CTLAs you can see the location of OMF controlfile which is defined in parameter db_Recovery_file_dest,db_recovery_file_dest='D:\oracle\product\10.2.0\db_1\flash_recovery_area'
But why its failing when i try to assert the Oracle doc statment
If no values are set for any of these parameters DB_CREATE_ONLINE_LOG_DEST_n,DB_CREATE_FILE_DEST,DB_RECOVERY_FILE_DEST.The database creates a control file in the default location for the operating system on which the database is running. This control file is not an Oracle-managed file.
SQL> CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS 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\ORCL\REDO01.LOG' SIZE 50M,
9 GROUP 2 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG' SIZE 50M,
10 GROUP 3 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG' SIZE 50M,
11 GROUP 4 'D:\ORACLE\ORCL\ONLINELOG\O1_MF_4_8MTJ10B8_.LOG' SIZE 100M
12 DATAFILE
13 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF',
14 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF',
15 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF',
16 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF',
17 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF'
18 CHARACTER SET WE8MSWIN1252
19 ;
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS ARCHIVELOG
ERROR at line 1:
ORA-01503: CREATE CONTROLFILE failed
ORA-00600: internal error code, arguments: [kccbcf_omf_reuse], [], [], [], [],
SQL> disconnect
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL>Oh really , here you go , i hope you can help me to sort the issue.
SQL> alter database backup controlfile to trace as 'D:\oracle\stuff\control.txt'
2 /
Database altered.
SQL> show parameter control_files
NAME TYPE VALUE
control_files string D:\ORACLE\PRODUCT\10.2.0\ORADA
TA\ORCL\CONTROL01.CTL, D:\ORAC
LE\PRODUCT\10.2.0\ORADATA\ORCL
\CONTROL02.CTL, D:\ORACLE\PROD
UCT\10.2.0\ORADATA\ORCL\CONTRO
L03.CTL
SQL> create pfile='D:\oracle\stuff\pfile.txt' from spfile
2 /
File created.take out control_files parameter from pfile.txt
Pfile Parameters
orcl.__db_cache_size=71303168
orcl.__java_pool_size=8388608
orcl.__large_pool_size=4194304
orcl.__shared_pool_size=201326592
orcl.__streams_pool_size=0
*.audit_file_dest='D:\oracle\product\10.2.0\db_1\admin\orcl\adump'
*.background_dump_dest='D:\oracle\product\10.2.0\db_1\admin\orcl\bdump'
*.compatible='10.2.0.3.0'
#*.control_files='D:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_AREA\ORCL\CONTROLFILE\O1_MF_8MV1O4PY_.CTL'
*.db_recovery_file_dest_size=2147483648
*.db_recovery_file_dest='D:\oracle\product\10.2.0\db_1\flash_recovery_area'
*.core_dump_dest='D:\oracle\product\10.2.0\db_1\admin\orcl\cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='orcl'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.job_queue_processes=10
*.open_cursors=300
*.pga_aggregate_target=96468992
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=290455552
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='D:\oracle\product\10.2.0\db_1\admin\orcl\udump'
SQL> shutdown immediate
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL> startup pfile='D:\oracle\stuff\pfile.txt' nomount
ORACLE instance started.
Total System Global Area 293601280 bytes
Fixed Size 1290208 bytes
Variable Size 218103840 bytes
Database Buffers 67108864 bytes
Redo Buffers 7098368 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS 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\ORCL\REDO01.LOG' SIZE 50M,
9 GROUP 2 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG' SIZE 50M,
10 GROUP 3 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG' SIZE 50M,
11 GROUP 4 'D:\ORACLE\ORCL\ONLINELOG\O1_MF_4_8MTJ10B8_.LOG' SIZE 100M
12 DATAFILE
13 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF',
14 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF',
15 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF',
16 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF',
17 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF'
18 CHARACTER SET WE8MSWIN1252
19 /
Control file created.
SQL> select name from v$controlfile
2 /
NAME
D:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_AREA\ORCL\CONTROLFILE\O1_MF_8MTSRCWH_.CTLAs you can see the location of OMF controlfile which is defined in parameter db_Recovery_file_dest,db_recovery_file_dest='D:\oracle\product\10.2.0\db_1\flash_recovery_area'
But why its failing when i try to assert the Oracle doc statment
If no values are set for any of these parameters DB_CREATE_ONLINE_LOG_DEST_n,DB_CREATE_FILE_DEST,DB_RECOVERY_FILE_DEST.The database creates a control file in the default location for the operating system on which the database is running. This control file is not an Oracle-managed file.
Pfile Parameters
orcl.__db_cache_size=71303168
orcl.__java_pool_size=8388608
orcl.__large_pool_size=4194304
orcl.__shared_pool_size=201326592
orcl.__streams_pool_size=0
*.audit_file_dest='D:\oracle\product\10.2.0\db_1\admin\orcl\adump'
*.background_dump_dest='D:\oracle\product\10.2.0\db_1\admin\orcl\bdump'
*.compatible='10.2.0.3.0'
*.control_files='D:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_AREA\ORCL\CONTROLFILE\O1_MF_8MV1O4PY_.CTL'
*.core_dump_dest='D:\oracle\product\10.2.0\db_1\admin\orcl\cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='orcl'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.job_queue_processes=10
*.open_cursors=300
*.pga_aggregate_target=96468992
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=290455552
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='D:\oracle\product\10.2.0\db_1\admin\orcl\udump'
SQL> CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS 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\ORCL\REDO01.LOG' SIZE 50M,
9 GROUP 2 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG' SIZE 50M,
10 GROUP 3 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG' SIZE 50M,
11 GROUP 4 'D:\ORACLE\ORCL\ONLINELOG\O1_MF_4_8MTJ10B8_.LOG' SIZE 100M
12 DATAFILE
13 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF',
14 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF',
15 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF',
16 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF',
17 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF'
18 CHARACTER SET WE8MSWIN1252
19 ;
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS ARCHIVELOG
ERROR at line 1:
ORA-01503: CREATE CONTROLFILE failed
ORA-00600: internal error code, arguments: [kccbcf_omf_reuse], [], [], [], [],
[], [], []when i do not define the contro_files parameter within pfile , it works a trait. It creates the control file using OS default location in the absence of control_files, whats the point?
Pfile Parameters
orcl.__db_cache_size=71303168
orcl.__java_pool_size=8388608
orcl.__large_pool_size=4194304
orcl.__shared_pool_size=201326592
orcl.__streams_pool_size=0
*.audit_file_dest='D:\oracle\product\10.2.0\db_1\admin\orcl\adump'
*.background_dump_dest='D:\oracle\product\10.2.0\db_1\admin\orcl\bdump'
*.compatible='10.2.0.3.0'
#*.control_files='D:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_AREA\ORCL\CONTROLFILE\O1_MF_8MV1O4PY_.CTL'
*.db_recovery_file_dest_size=2147483648
*.db_recovery_file_dest='D:\oracle\product\10.2.0\db_1\flash_recovery_area'
*.core_dump_dest='D:\oracle\product\10.2.0\db_1\admin\orcl\cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='orcl'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.job_queue_processes=10
*.open_cursors=300
*.pga_aggregate_target=96468992
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=290455552
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='D:\oracle\product\10.2.0\db_1\admin\orcl\udump'
SQL> startup pfile='D:\oracle\stuff\pfile.txt' nomount
ORACLE instance started.
Total System Global Area 293601280 bytes
Fixed Size 1290208 bytes
Variable Size 218103840 bytes
Database Buffers 67108864 bytes
Redo Buffers 7098368 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS 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\ORCL\REDO01.LOG' SIZE 50M,
9 GROUP 2 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG' SIZE 50M,
10 GROUP 3 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG' SIZE 50M,
11 GROUP 4 'D:\ORACLE\ORCL\ONLINELOG\O1_MF_4_8MTJ10B8_.LOG' SIZE 100M
12 DATAFILE
13 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF',
14 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF',
15 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF',
16 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF',
17 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF'
18 CHARACTER SET WE8MSWIN1252
19 ;
Control file created.
SQL> select name from v$controlfile
2 /
NAME
D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\CTL1ORCL.ORA -
Failover Database - From ASM to Filesystem
Hi,
Based on this article : http://manchev.org/2012/01/building-a-failover-database-using-oracle-database-11g-standard-edition-and-file-watchers/
I would like to know if it would be possible to perform the same operation but in a case where my source database is using ASM and the failover one isnt.
I think this (http://docs.oracle.com/cd/B28359_01/backup.111/b28270/rcmasmmi.htm#i1014926) should apply , but I haven't got the time to test it myself just yet so I thought to try out here and maybe get some valuable information/feedback on it.
Thanks in advance.
Greetings,
N KYes that's correct.
The control file can be restored using the from/to clause. Generate a control file backup from the primary (which is on the FRA) and restore it:
restore controlfile from '/backup/controlfile.bkp' to '/u01/control_file_path.ctl';And the datafiles new location can be set during restore as you pointed out, with switch datafile all at the end:
SET NEWNAME FOR DATAFILE 1 TO NEW;
SET NEWNAME FOR DATAFILE 2 TO NEW;
SET NEWNAME FOR DATAFILE 3 TO NEW;
SET NEWNAME FOR DATAFILE 4 TO NEW;
restore database;
SWITCH DATAFILE ALL;"TO NEW" clause is if you plan on using OMF with the File System, through the db_create_file_dest. If the datafiles are to be spread out on different mount points you can name them individually, like:
SET NEWNAME FOR DATAFILE 1 TO '/path/to/datafile1.dbf';
SWITCH DATAFILE ALL;Also don't forget to clear (rebuild) your redo log files after restore, setting DB_CREATE_ONLINE_LOG_DEST_n appropriately. -
Duplicate standby asm controlfile parameter
Hi
I want to create a standby database by using duplicate standby command.
Both primary and standby databases are on asm.
How should I set controlfile parameter in standby database spfile before initiating duplicate for standby clause ?
Primary:
SQL> show parameter control
NAME TYPE VALUE
control_files string +DATA/orcl/controlfile/current.260.769439087Should I set the same controlfile parameter for standby spfile or should I just set "+DATA" ?
I tried setting just "+DATA", however during duplicate, the instance couldnt create a controlfile in ASM.http://docs.oracle.com/cd/E11882_01/server.112/e25608/scenarios.htm#SBYDB4897 says:
>
If the primary database is configured to use OMF, then Oracle recommends that the standby database be configured to use OMF, too. To do this, set the DB_CREATE_FILE_DEST and DB_CREATE_ONLINE_LOG_DEST_n initialization parameters to appropriate values. Maintenance and future role transitions are simplified if the same disk group names are used for both the primary and standby databases.
>
So try to not set CONTROL_FILES parameter and set only DB_CREATE_FILE_DEST parameter:
DB_CREATE_FILE_DEST='+DATA'; -
Hi,
with db_create_FILE_dest can we specify both the location as
well as the size if yes then syntax for this would be
db_create_FILE_dest = location ,sizeHi,
OMF is Oracle Managed Files simplify file administration by eliminating the need to directly manage the files within an Oracle Database
OMF is created and deleted by Oracle Server as directed by SQL commands
set the following two parameter in init.ora file.
i) DB_CREATE_FILE_DEST set to give the default location for datafiles.
ii) DB_CREATE_ONLINE_LOG_DEST_N : set to give the default location for control files and online redo log files, up to a maximum of 5 locations.
Regards .... -
Hello-
I have a control file and auto backup to FRA but it does not show up as a file space in the FRA.
Shouldn't this show up when selecting the following and what are backup pieces ?
I am not making backups to FRA.
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
CONTROL FILE 0 0 0
REDO LOG 0 0 0
ARCHIVED LOG 10.46 10.46 8
BACKUP PIECE 28.22 28.06 23
IMAGE COPY 0 0 0
FLASHBACK LOG 12.19 2.18 120
FOREIGN ARCHIVED LOG 0 0 0
7 rows selected.user771256 wrote:
Why are they not under the control file usage ?
STATUS NAME IS_RECOVERY_DES BLOCK_SIZE FILE_SIZE_BLKS
/oradata/ora/control_files/control01.ctl NO 16384 514
/oradata/ora/control_files/control02.ctl NO 16384 514
/oradata/ora/flash_recovery_area/control03.ctl NO 16384 514
As you clearly see V$CONTROLFILE.IS_RECOVERY_DEST_FILE='NO' so it means these files is not use FRA(was not create as fra files) however these locate same location with FRA.These just database files but not oracle managed or FRA files.To providing this you have to set DB_CREATE_FILE_DEST as FRA(also set DB_CREATE_ONLINE_LOG_DEST_n as FRA for online redologs) -
hi,
while creating tablespaces is it possible to give create tablespace <tablespace_name>.i dont want to add any datafiles while creating tablespaces...
could anybody tell the syntax.
Thanks in advance,
R.RatheeshUse Oracle Managed Files (OMF), OMF simplifies the creation of databases as Oracle does all OS operations and file naming. It has several advantages including:
Automatic cleanup of the filesystem when database objects are dropped.
Standardized naming of database files.
Increased portability since file specifications are not needed.
Simplified creation of test systems on differing operating systems.
No unused files wasting disk space.
The location of database files is defined using the DB_CREATE_FILE_DEST parameter. If it is defined on its own all files are placed in the same location. If the DB_CREATE_ONLINE_LOG_DEST_n parameter is defined alternate locations and levels of multiplexing can be defined for Logfiles. These parameters are dymanic and can be changed using the ALTER SYSTEM statement:
ALTER SYSTEM SET DB_CREATE_FILE_DEST='C:\Oracle\Oradata\TSH1';
Files typically have a default size of 100M and are named using the following formats where u% is a unique 8 digit code, g% is the logfile group number, and %t is the tablespace name:
File Type Format
Controlfiles ora_%u.ctl
Redo Log Files ora_%g_%u.log
Datafiles ora_%t_%u.dbf
Temporary Datafiles ora_%t_%u.tmp
Managing Controlfiles Using OMF
Managing Redo Log Files Using OMF
Managing Tablespaces Using OMF
Default Temporary Tablespace
Managing Controlfiles Using OMF
During database creation the controlfile names are not specified. Instead, a controlfile is created for each DB_CREATE_ONLINE_LOG_DEST_n specified in the init.ora file. Once the database creation is complete the CONTROL_FILES parameter can be set in the init.ora file using the generated names shown in the V$CONTROLFILE view.
Managing Redo Log Files Using OMF
When using OMF for redo logs the DB_CREAT_ONLINE_LOG_DEST_n parameters in the init.ora file decide on the locations and numbers of logfile members. For exmple:
DB_CREATE_ONLINE_LOG_DEST_1 = c:\Oracle\Oradata\TSH1
DB_CREATE_ONLINE_LOG_DEST_2 = d:\Oracle\Oradata\TSH1
The above parameters mean two members will be created for the logfile group in the specified locations when the ALTER DATABASE ADD LOGFILE; statement is issued. Oracle will name the file and increment the group number if they are not specified.
The ALTER DATABASE DROP LOGFILE GROUP 3; statement will remove the group and it members from the database and delete the files at operating system level.
Managing Tablespaces Using OMF
As shown previously the DB_CREATE_FILE_DEST parameter in the init.ora file specifies the location of the datafiles for OMF tablespaces. Since the file location is specified and Oracle will name the file, new tablespaces can be created using the following statement:
CREATE TABLESPACE tsh_data;
The resultant datafiles will have a default size of 100M and AUTOEXTEND UNLIMITED. For a specific size file use:
CREATE TABLESPACE tsh_data DATAFILE SIZE 150M;
To add a datafile to a tablespace use:
ALTER TABLESPACE tsh_data ADD DATAFILE;
If a tablespace is dropped, Oracle will remove the OS files also. For tablespaces not using the OMF feature this cleanup can be performed by issuing the statement:
DROP TABLESPACE tsh_data INCLUDING CONTENTS AND DATAFILES; -
Hi What is OMF in oracle 9i plz tell me
What is OMF in oracle 9i plz tell me what its function and why it is necessary
Hi,
OMF is Oracle Managed Files simplify file administration by eliminating the need to directly manage the files within an Oracle Database
OMF is created and deleted by Oracle Server as directed by SQL commands
set the following two parameter in init.ora file.
i) DB_CREATE_FILE_DEST set to give the default location for datafiles.
ii) DB_CREATE_ONLINE_LOG_DEST_N : set to give the default location for control files and online redo log files, up to a maximum of 5 locations.
Regards ....
Maybe you are looking for
-
I did a factory reset on my late 2008 MacBook from a Snow Leopard disc. It installed fine, but as soon as I began to use the computer (safari) it froze. Couldn't even force quit. So I held down the power button to turn it off, and now it won't start
-
How to use JTable with DataBase
Dear All, how can i show a table in a frame that containes a data from a database, then can edit , add and delete some records in the database thnx 4 all
-
Uniqueness in Qualified tables
Dear MDM experts, I have this requirement wherein we have a qualified table wherein the user shouldnt enter duplicate entries. e.g. in the case of customer master data,the user may have only 1 qualified table record per company code. (can have differ
-
Hello all, Just starting this program and allready have compile errors that I don't understand if you could enlighten me as to why i am getting these that would be highly obliged. Thanks again in advance Here are the errors: A:\Chapter04\MyType.java:
-
I deleted everything iTunes and re-installed. This still comes up.