Oracle创建初始化参数文件
- 格式:doc
- 大小:68.50 KB
- 文档页数:2
Oracle实例初始化参数⽂件(InitializationParameterFiles)当 Oracle 实例启动时,它从初始化参数⽂件中读取参数进⾏实例初始化,最⼩化初始化参数⽂件只需要指定参数 DB_NAME 的值,所有其他参数有默认值。
初始化参数⽂件可以是只读(静态)的⽂本⽂件 (pfile),或是读/写(动态)的⼆进制⽂件 (spfile),⼆进制参数⽂件被称为服务器参数⽂件(Server Parameter File)。
pfile 可以⽤记事本进⾏直接修改,且必须重启才能⽣效。
spfile 须⽤ alter system 命令来进⾏修改,⽣效的时限和作⽤域由修改命令的参数 scope 来决定。
如:alter system set job_queue_processed=50 scope=memory;实例启动初始化参数⽂件查找顺序:spfile ORACLE_SID.ora -> spfile.ora -> init ORACLE_SID.ora可以通过 show parameter spfile 或者 select value from v$parameter where name = 'spfile' 命令查看服务器参数⽂件的位置,如果启动⽤的是 pfile,则 spfile 值为空。
[oracle@rac1 dbs]$ ls -hltotal 6.8M-rw-r----- 1 oracle oinstall 1.6K Aug 28 11:56 hc_byisdb.dat-rw-r----- 1 oracle oinstall 13K May 3 2001 initdw.ora-rw-r----- 1 oracle oinstall 8.2K Sep 11 1998 init.ora.bak-rw-r----- 1 oracle oinstall 24 Aug 28 11:58 lkBYISDB-rw-r----- 1 oracle oinstall 1.5K Sep 2 10:44 orapwbyisdb-rw-r----- 1 oracle oinstall 6.8M Aug 29 04:13 snapcf_byisdb.f-rw-r----- 1 oracle oinstall 3.5K Sep 5 10:11 spfilebyisdb.ora当前只有服务器初始化参数⽂件 spfilebyisdb.ora,下⾯再⽣成两个参数⽂件,⼀个是服务器参数⽂件 spfile.ora,另外⼀个是静态参数⽂件 pfile,看三个参数⽂件并存的时候,看实例启动时优先使⽤哪个⽂件作为初始化参数⽂件?SQL> create pfile from spfile2 /File created.[oracle@rac1 dbs]$ cp spfilebyisdb.ora spfile.ora[oracle@rac1 dbs]$ ls -hltotal 6.8M-rw-r----- 1 oracle oinstall 1.6K Aug 28 11:56 hc_byisdb.dat-rw-r--r-- 1 oracle oinstall 1.2K Sep 5 10:12 initbyisdb.ora-rw-r----- 1 oracle oinstall 13K May 3 2001 initdw.ora-rw-r----- 1 oracle oinstall 8.2K Sep 11 1998 init.ora.bak-rw-r----- 1 oracle oinstall 24 Aug 28 11:58 lkBYISDB-rw-r----- 1 oracle oinstall 1.5K Sep 2 10:44 orapwbyisdb-rw-r----- 1 oracle oinstall 6.8M Aug 29 04:13 snapcf_byisdb.f-rw-r----- 1 oracle oinstall 3.5K Sep 5 10:11 spfilebyisdb.ora-rw-r----- 1 oracle oinstall 3.5K Sep 5 10:16 spfile.ora可以看到实例正常启动,使⽤的初始化参数⽂件为 spfilebyisdb.ora。
orcl 创建实例Oracle数据库是目前广泛使用的关系型数据库管理系统之一,它的特点是稳定、可靠且具备较高的性能。
在使用Oracle数据库之前,我们需要先创建一个实例,这样才能进行后续的数据库操作。
创建Oracle实例的步骤如下:1. 安装Oracle数据库软件:首先需要下载并安装Oracle数据库软件,确保安装过程中没有出现错误。
安装完成后,可以在安装目录下找到数据库的可执行文件。
2. 配置初始化参数文件:在安装目录下创建一个文本文件,命名为init{实例名}.ora,其中{实例名}是你希望创建的实例的名称。
在该文件中,我们需要为实例配置一些初始化参数,例如内存大小、日志文件路径等。
这些参数的设置会影响到实例的性能和扩展性,所以需要根据实际需求进行调整。
3. 启动实例:在命令行中使用sqlplus工具,输入以下命令来启动实例:`sqlplus /nolog``connect / as sysdba``startup`这些命令的作用是启动sqlplus工具,并以sysdba角色连接到数据库实例,最后使用startup命令来启动实例。
如果一切顺利,你会看到一些启动信息,并且实例会进入运行状态。
4. 创建数据库:在实例启动后,我们可以使用CREATE DATABASE 语句来创建数据库。
例如,下面的命令将创建一个名为orcl的数据库:`CREATE DATABASE orclUSER sys IDENTIFIED BY sysUSER system IDENTIFIED BY systemLOGFILE GROUP 1 ('/path/to/logfile1', '/path/to/logfile2') SIZE 100MDATAFILE '/path/to/datafile1' SIZE 500MCHARACTER SET utf8;`在上述命令中,我们指定了数据库的名称、sys和system用户的密码、日志文件和数据文件的路径以及字符集等信息。
Oracle显示和设置初始化参数文件为了在SQL*Plus中显示初始化参数,可以使用SHOW PARAMETER命令。
该命令会显示初始化参数的名称、类型和参数值。
为了显示所有初始化参数的位置,可以直接执行SHOW PARAMETER命令。
例如:SQL>show parameterNAME TYPE V ALUE------------------------------------ ----------- ------------------------------db_writer_processes integer 1dbwr_io_slaves integer 0ddl_lock_timeout integer 0dg_broker_config_file1 string D:\APP\MANAGER\PRODUCT\11.1.0\DB_1\DATABASE\DR1ORCL.DAT dg_broker_config_file2 string D:\APP\MANAGER\PRODUCT\11.1.0\DB_1\DATABASE\DR2ORCL.DAT dg_broker_start boolean FALSE….SHOW PARAMETER命令也可以显示特定初始化参数。
为了显示特定初始化参数的名称、类型和参数值,可以在SHOW PARAMETER命令后指定参数名。
示例如下:SQL> show parameter db_block_sizeNAME TYPE V ALUE------------------------------------ ----------- -----------db_block_size integer 8192当使用SHOW PARAMETER命令显示初始化参数信息时,只能显示参数名、类型和参数值,为了取得初始化参数的详细信息,应该查询动态性能视图V$PARAMETER。
oracle 数据库实例的配置方式Oracle数据库是目前全球应用最广泛的关系型数据库之一,其强大的性能和可靠性使得它成为许多企业和组织首选的数据库管理系统。
在使用Oracle数据库之前,需要进行实例的配置,本文将详细介绍Oracle数据库实例的配置方式。
首先,我们需要理解什么是Oracle数据库实例。
Oracle数据库实例是由Oracle数据库软件创建和管理的一个独立运行环境,它包含了操作数据库所需的所有进程和内存结构。
每个Oracle数据库可以同时运行多个实例,每个实例和一个特定的数据库相关联。
接下来,我们将一步一步回答如何配置Oracle数据库实例。
第一步:安装Oracle数据库软件在配置Oracle数据库实例之前,我们需要先安装Oracle数据库软件。
Oracle提供了开发者和企业版两种版本的数据库软件,可以根据实际需求选择合适的版本。
安装过程中需要指定安装目录、数据库实例名称以及数据库系统标识符(SID) 等信息。
第二步:创建初始化参数文件在安装完成后,我们需要创建一个初始化参数文件,它用于描述数据库实例的初始配置参数。
参数文件通常以文本形式存在,并包含了一系列参数和值,用于控制数据库的各个方面。
参数文件通常命名为initSID.ora,其中SID为数据库实例名称。
参数文件中的参数可以分为两类:静态参数和动态参数。
静态参数在启动数据库实例之前必须使用参数文件进行配置,并且只能通过重新启动数据库实例来改变。
而动态参数可以在数据库实例运行过程中通过SQL语句来修改,无需重新启动数据库实例。
第三步:启动数据库实例配置完成参数文件后,我们可以使用Oracle提供的实用程序来启动数据库实例。
在Windows操作系统中,可以使用“OracleServiceSID”服务来启动数据库实例,其中SID为数据库实例名称。
在Linux和UNIX操作系统中,可以使用“sqlplus”命令来连接到数据库实例,并通过“startup”命令来启动数据库实例。
oracle三个重要参数⽂件:pfile和spfile和init.oraOracle中的参数⽂件是⼀个包含⼀系列参数以及参数对应值的操作系统⽂件。
它们是在数据库实例启动第⼀个阶段时候加载的,决定了数据库的物理结构、内存、数据库的限制及系统⼤量的默认值、数据库的各种物理属性、指定数据库控制⽂件名和路径等信息,1、pfile: 初始化参数⽂件(Initialization Parameters Files)pfile是啥呢,pfile的全名就是parameter file,参数⽂件。
pfile是⼀个可编辑的⽂本⽂件,主要内容就是数据库的配置参数,包括内存配置、数据库名、sessions、processes等。
pfile默认路径(windows):/u01/app/oracle/product/11.2.0/db1_s/dbs/initSID.oraOracle 9i之前,ORACLE⼀直采⽤pfile⽅式存储初始化参数,pfile 默认的名称为“init+实例sid.ora”⽂件路径:/u01/app/oracle/product/11.2.0/db1_s/dbs这是⼀个⽂本⽂件,可以⽤任何⽂本编辑⼯具打开。
我们可以直接使⽤指定pfile⽂件启动第⼀阶段数据库sql>startup pfile=/u01/app/oracle/product/11.2.0/db1_s/dbs/init.ora.10152018183435 //通过这个指定这个参数⽂件就可以启动这个数据库了2、spfile:服务器参数⽂件(Server Parameter Files)从Oracle 9i开始,Oracle引⼊了Spfile⽂件,spfile 默认的名称为“spfile+例程名.ora”⽂件路径:/u01/app/oracle/product/11.2.0/db_1/dbs/spfile以后,数据库默认就是读取spfile的配置启动和初始化参数,加载参数到内存中以⼆进制⽂本形式存在,不能⽤vi编辑器对其中参数进⾏修改,只能通过SQL命令在线修改。
Oracle启动例程STARTUP参数说明1. pfile:指定用于初始化数据库的参数文件的路径和名称。
Oracle数据库允许使用静态的初始化参数文件(pfile)或动态的服务器参数文件(spfile)。
pfile是一个文本文件,包含了数据库启动和运行所需的各种设置,例如内存配置、日志文件设置、网络配置等。
如果不指定此参数,默认将使用默认的pfile。
2. spfile:指定用于初始化数据库的动态服务器参数文件的路径和名称。
与pfile不同的是,spfile是二进制文件,数据库启动后会加载到内存中,可以在运行时动态地修改其中的参数值。
当spfile文件不存在时,可以通过pfile启动数据库,然后手动创建spfile文件并修改其中的参数值。
如果不指定此参数,默认将使用默认的spfile。
3. nomount:不打开数据库,只将实例启动到nomount状态。
在nomount状态下,数据库实例只加载参数文件,但不打开具体的数据库文件。
这个状态常用于创建数据库控制文件、重建控制文件或修改pfile/spfile文件等操作。
4. restrict:在nomount状态下打开数据库,并限制只有具有CREATE DATABASE权限的用户才能够连接到数据库。
这个选项常用于在数据库创建期间,限制只有授权用户可以进行相关操作。
5. mount:打开数据库并挂载数据库文件。
在mount状态下,数据库控制文件和数据文件都已加载到内存中,但数据库还没有打开,用户无法访问数据库中的数据。
6. open:打开数据库,使得用户可以对数据库进行正常的读写操作。
在open状态下,数据库可以被用户连接并执行各种操作。
7. force:强制Oracle数据库启动。
如果数据库之前没有正确关闭,或者出现了一些系统故障,导致数据库处于其中一种异常状态,可以使用force选项来强制启动数据库。
8. parallel:在启动数据库的过程中,使用并行化技术来同时加载多个数据库文件和数据块。
Oracle参数⽂件spfilepfile和spfile概念ORACLE中的参数⽂件是⼀个包含⼀系列参数以及参数对应值的操作系统⽂件,可以分为两种类型。
它们是在数据库实例启动时候加载的,决定了数据库的物理结构、内存、数据库的限制及系统⼤量的默认值、数据库的各种物理属性、指定数据库控制⽂件名和路径等信息,是进⾏数据库设计和性能调优的重要⽂件。
初始化参数⽂件(Initialization Parameters Files),Oracle 9i之前,ORACLE⼀直采⽤PFILE⽅式存储初始化参数,该⽂件为⽂本⽂件。
服务器参数⽂件(Server Parameter Files),从Oracle 9i开始,Oracle引⼊了SPFILE⽂件,该⽂件为⼆进制格式,不能通过⼿⼯修改。
区别 1、PFILE是⽂本⽂件的,⽽SPFILE是⼆进制格式的。
PFILE⽂件可以⽤⽂本编辑器打开⼿⼯配置、⽽SPFILE不⾏,只能通过SQL命令在线修改。
从操作系统上可以看到这两者的区别,初始化参数⽂件为ASCII⽂本⽂件,SPFILE为数据⽂件。
2、SPFILE的修改是可以通过SQL命令在线修改,不再需要通过⼿⼯修改,对于动态参数所有更改可以⽴即⽣效,⽽PFILE的修改必须重启实例才能⽣效。
3、⼿动创建数据库⽽不是通过DBCA,则开始创建数据库时,只能定义PFILE。
修改spfile参数的三种模式: scope=both ⽴即并永久⽣效,(默认模式) scope=spfile 下次启动才能⽣效。
scope=memory ⽴即⽣效但下次启动时失效查询位置SQL> show parameter pfileNAME TYPE VALUE------------------------------------ ----------- ------------------------------spfile string /u01/app/oracle/product/12.2.0/db_1/dbs/spfilegnnt2.ora默认显⽰的是spfile,说明数据库是使⽤spfile启动的。
一、数据库创建过程STEP1、编写初始化文件1、将%ORACLE_HOME%\admin\sample\pfile文件复制到%ORACLE_HOME%\database下更改命名为spfile.ora2、修改初始化参数文件新增参数instance_name=orcldb_domain=修改参数db_name=orcldb_block_size=8192remote_login_passwordfile=exclusiveSTEP2、设置操作系统环境变量在系统环境变量中修改oracle_sid为orclSTEP3、1、创建实例oradim -new -sid orcl -intpwd sys123 -startmode suto2、以管理员身份登录数据库sqlplus /nologconn / as sysdbacreate spfile from pfile;启动实例到nomount状态startup nomountSTEP4、执行创建数据库脚本create database orcldatafile 'C:\database\orcl\system_01.dbf' size 256m autoextend on next 10m maxsize unlimitedsysaux datafile 'C:\database\orcl\systemaux_01.dbf' size 100m autoextend on next 10m maxsize unlimitedlogfilegroup 1('C:\database\orcl\log_1_01.rdo') size 10m,group 2('C:\database\orcl\log_2_01.rdo') size 10m character set zhs16gbk;STEP5、运行数据字典脚本1、conn / as sysdba@C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\catalog.sql @C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\catproc.sql 2、conn system/manager@C:\oracle\product\10.2.0\db_1\sqlplus\admin\pupbld.sql 二、控制文件和重做日志文件多录化多路控制文件(利用spfile文件)1、超级用户sys登录2、查询数据字典v$controlfile得到控制文件的信息select name from v$controlfile; --执行得到控制文件名称和位置3、更改spfile中控制文件信息SQL> alter system set cntrolfiles='c:\oracle\product\10.2.0\db_1\database\CTL1ORCL.ora','d:\oradata\CTL2ORCL.ora','e:\oradata\CTL3ORCL.ora'scope=spfile;4、关闭数据库shutdown immediate5、将c:\oracle\product\10.2.0\db_1\database目录下的CTL1ORCL.ora拷贝到指定的位置,并更改为对应的名称。
Oracle 创建初始化参数文件
如果当前实例正在使用SPFILE ,那么使用ALTER SYSTEM 命令将无法修改某些初始化参数,如DB_NAME 。
为了修改这些初始化参数,必须建立PFILE ,并且手工修改该PFILE 文件的相应参数。
可以使用CREATE PFILE 命令可以建立文本参数文件,其语法如下:
create pfile [='pfile_name'] from spfile [='spfile_name']
其中,PFILE_NAME 用于指定PFILE 的文件全名,SPFILE_NAME 用于指定SPFILE 的文件全名。
如果不指定PFILE 文件名,则会在默认路径下建立默认PFILE ;如果不指定SPFILE 文件,则会使用当前实例正在使用的SPFILE 文件。
需要注意,只有特权用户才能执行CREATE PFILE 命令。
例如: C:\ >sqlplus sys/password as sysdba
SQL*Plus: Release 11.1.0.6.0 - Production on 星期三 3月 12 10:54:05 2008
Copyright (c) 1982, 2007, Oracle. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> create pfile from spfile;
文件已创建。
因为SPFILE 易于管理,并且可以对其进行备份,所以Oracle 建议使用SPFILE 。
使用PFILE 修改了某些初始化参数后,为了将PFILE 转换为SPFILE ,可以使用CREATE SPFILE 命令建立服务器参数文件。
语法如下:
create spfile [='spfile_name'] from pfile [='pfile_name']
其中,SPFILE_NAME 用于指定SPFILE 文件全名,PFILE_NAME 用于指定PFILE 文件全名。
如果不指定SPFILE 文件名,则会在默认路径下建立SPFILE ;如果不指定PFILE 文件名,则使用默认的PFILE 文件。
需要注意,只有特权用户才能执行CREATE SPFILE 命令。
例如:
C:\>sqlplus sys/password as sysdba
SQL*Plus: Release 11.1.0.6.0 - Production on 星期三 3月 12 11:14:10 2008
Copyright (c) 1982, 2007, Oracle. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
注
意 在执行CREATE SPFILE 语句时不需要启动实例,如果已经启动了实例,并且实例已经使用了
一个服务器端初始化参数文件,则新建的服务器端初始化参数文件不能覆盖正在使用的那个文件。
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> create spfile from pfile;
create spfile from pfile
*
第 1 行出现错误:
ORA-32002: 无法创建已由实例使用的SPFILE
启动实例时,即可以使用PFILE,也可以使用SPFILE。
当实例处于运行状态时,如果要确定实例使用的参数文件类型,首先应以特权用户登录,然后显示初始化参数SPFILE的值。
示例如下:
SQL> conn sys/password as sysdba
已连接。
SQL> show parameter spfile
NAME TYPE V ALUE
------------------------------- ----------- ------------------------------
spfile string D:\APP\MANAGER\PRODUCT\11.1.0\
DB_1\DATABASE\SPFILEORCL.ORA 如果V ALUE存在返回值,表示实例正在使用SPFILE;如果V ALUE没有任何返回结果,则表示实例正在使用PFILE。