pfile (.ora), which records the basic configuration of the database, plain text, not much content, usually beginning with init, startup command required file
spfile (.ora), binary file, similar to pfile, can be generated by pfile
table space container (.dbf), binary file, this should be familiar, often tens of hundreds of GB
control file and backup, generally under database instance default directory and fast_recovery directory, file names are generally control01.ctl and control02.ctl
The
redo file (.log) is usually installed in the database instance installation directory, along with the.dbf file above. The file name defaults to redo01.log redo02.log redo03.log
these files are the main ones in a database. In other words, if we copy these files to another server with Oracle, we can theoretically pull up the database and continue running.
Losing any of the files above
would be disastrous. This will cause the database to fail startup, and not just for those files. If you open archived logs, the loss of archived logs will cause the database to fail to start.
table space file is lost and data is lost and cannot be recovered unless there is a backup.
The
control file creates two instances by default when you create an instance, if you lose one you can copy the other, if you lose both then the backup with table space does not have
pfile and spfile lost will cause the database cannot startup, but the pfile content is less, plaintext, can be copied from other instances over reference. Spfile, on the other hand, can be generated from a pfile via SQLPlus, so the loss of these two files is not necessarily catastrophic.
After
pfile is lost or tampered, you will often encounter “ora-03113 communication channel end file “error or ora-01507 database not mounted error
let’s first look at the structure of the pfile
#
# $Header: rdbms/admin/init.ora /main/23 2009/05/15 13:35:38 ysarig Exp $
#
# Copyright (c) 1991, 1997, 1998 by Oracle Corporation
# NAME
# init.ora
# FUNCTION
# NOTES
# MODIFIED
# ysarig 05/14/09 - Updating compatible to 11.2
# ysarig 08/13/07 - Fixing the sample for 11g
# atsukerm 08/06/98 - fix for 8.1.
# hpiao 06/05/97 - fix for 803
# glavash 05/12/97 - add oracle_trace_enable comment
# hpiao 04/22/97 - remove ifile=, events=, etc.
# alingelb 09/19/94 - remove vms-specific stuff
# dpawson 07/07/93 - add more comments regarded archive start
# maporter 10/29/92 - Add vms_sga_use_gblpagfile=TRUE
# jloaiza 03/07/92 - change ALPHA to BETA
# danderso 02/26/92 - change db_block_cache_protect to _db_block_cache_p
# ghallmar 02/03/92 - db_directory -> db_domain
# maporter 01/12/92 - merge changes from branch 1.8.308.1
# maporter 12/21/91 - bug 76493: Add control_files parameter
# wbridge 12/03/91 - use of %c in archive format is discouraged
# ghallmar 12/02/91 - add global_names=true, db_directory=us.acme.com
# thayes 11/27/91 - Change default for cache_clone
# jloaiza 08/13/91 - merge changes from branch 1.7.100.1
# jloaiza 07/31/91 - add debug stuff
# rlim 04/29/91 - removal of char_is_varchar2
# Bridge 03/12/91 - log_allocation no longer exists
# Wijaya 02/05/91 - remove obsolete parameters
#
##############################################################################
# Example INIT.ORA file
#
# This file is provided by Oracle Corporation to help you start by providing
# a starting point to customize your RDBMS installation for your site.
#
# NOTE: The values that are used in this file are only intended to be used
# as a starting point. You may want to adjust/tune those values to your
# specific hardware and needs. You may also consider using Database
# Configuration Assistant tool (DBCA) to create INIT file and to size your
# initial set of tablespaces based on the user input.
###############################################################################
# Change '<ORACLE_BASE>' to point to the oracle base (the one you specify at
# install time)
db_name='mydb'
memory_target=1G
processes = 150
audit_file_dest='/u01/oracle/admin/mydb/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/u01/oracle/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='/db/oracle'
dispatchers='(PROTOCOL=TCP) (SERVICE=mydbXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
# You may want to ensure that control files are created on separate physical
# devices
control_files = (control01.ctl,control02.ctl)
compatible ='11.2.0'
the field of the file is not much, most are fixed, such as the version of the database, the location of the database recovery file, size, connection protocol and so on. Parameters that vary between instances, except for the name and the corresponding storage path, are left with the block size.
db_block_size, which is the block size specified when we set up the database, determines the maximum size and efficiency of our database table space and buffer pool. Default is 8192. Under 8192, the maximum size of a single table space file is only 32gb, and expanding this value to 16384 would raise the single table space limit to 64GB, so this parameter will vary from database to database, and errors will cause startup failure.
control_files are control files for the database and can be written to multiple times, separated by commas. Written here is the actual control file name, path can go to find, to the startup log (startup fails will print the full path of this file), the name of the XML, you can use the locate the XML to search the file, or according to your oracle installation position, the path is about/oracle/diag/RDBMS/ora11g ora11g/alert log. The XML p>
watch the log, if the pfile was written incorrectly, then there will be the following error
ORA-00210: cannot open the specified control file
ORA-00202: control file: /opt/oracle/oradata/ora11g/control03.ctl;
you can refer to this article https://www.cnblogs.com/sparkbj/articles/6146247.html p>
spfile we can enter sqlplus to generate, the command is as follows:
sqlplus/as sysdba
create spfile from pfile='/u01/mydb/initmydb.ora';
Finally, after we have written the new pfile and spfile files, we can use the startup command to start
startup pfile='/u01/mydb/init.ora' mount
p>
div>
Read More:
- Oracle database file is damaged, Error:ORA-01033 :ORACLE initialization or shutdown in progress
- An error is reported when kettle connects Oracle database and MySQL database
- Oracle can’t start the database due to deleting DBF file by mistake
- Oracle 12C installation process related errors and Solutions
- The problem of [connection lost contact] after C # code connecting Oracle database for a period of time
- How to Solve mybatis returns null when querying Oracle database with char type field
- Failed to create Oracle Oracle home user solution appears in oracle12c installation
- A series of errors encountered in connecting to the database using Oracle SQL developer
- Solution of invalid username / password; login denied error in Oracle Database Foundation
- 【ORA】Error 1031 received logging on to the standby
- [SQLITE_ Error] SQL error or missing database (table users already exists)
- Solve the error of ora-12514 when Navicat connects to Oracle Database
- 0028opengl program running prompt glut32.dll missing one of the solutions
- Solutions to the problem of vulnerable missing firmware in Ubuntu
- Oracle11gr2 database suddenly “TNS no listener” protocol adapter error
- Oracle database error: fatal Ni connect error 12170
- Solutions to error c2143: syntax error: missing ‘;’ before ‘type’ in C + + program compilation
- Oracle12c client32 bit installation error: [ins-20802] Oracle net configuration assistant failed
- Oracle login error: Oracle error 6 initializing SQL * plus (normal before)
- How to solve MySQL error 1049 (42000): unknown database ‘database’