pfile&spfile

合集下载

Oracle实例初始化参数文件(InitializationParameterFiles)

Oracle实例初始化参数文件(InitializationParameterFiles)

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。

_wfopen_s用法

_wfopen_s用法

_wfopen_s用法_wfopen_s是一个用于打开文件的函数,常常用于Windows系统下处理文件操作。

下面是一些_wfopen_s函数的用法和注意事项:1. 语法:```C++errno_t _wfopen_s(FILE** pFile,const wchar_t* filename,const wchar_t* mode);```2. 参数:- pFile:指向一个FILE类型指针的指针,指向将被打开的文件。

- filename:要打开的文件名称。

- mode:一个以"W"或"L"开头的以空格或加号分隔的字符串,指定文件打开的方式。

3. 返回值:函数_wfopen_s函数返回一个错误码,如果函数执行成功,返回0,否则返回一个非0错误码。

4. 注意事项:- _wfopen_s 函数提供了更好的安全性,避免了字符缓冲区溢出或内存泄漏的问题,这是 fopen 函数所缺乏的。

- _wfopen_s 函数的第一个参数必须是指针的指针,也就是说,需要使用一个指针来指向指针 pFile。

- 当使用_wfopen_s函数时,打开文件时必须使用前缀L来指定文件名的类型。

例如,_wfopen_s(L"D:\\test.txt", "w"),其中的L是表示使用wchar_t类型,这是Windows系统的默认字符类型。

- _wfopen_s 函数需要安全的文件名和文件路径,如果文件名或路径中包含不安全的字符,如空格、/、\、:等,需要进行转义或加引号。

以上是_wfopen_s函数的基本用法和注意事项,可以帮助开发者更加安全地处理文件操作,避免常见的错误和安全隐患。

总结:_wfopen_s函数是一个常用于Windows系统下的文件打开函数,提供了更好的安全性和可靠性,避免了常见的文件操作中的错误和安全隐患。

为了使用_wfopen_s函数,需要了解基本的语法、参数和注意事项,并且需要安全地处理文件名和路径,确保程序的正确性和安全性。

oracle 19c pfile参数

oracle 19c pfile参数

oracle 19c pfile参数(原创版)目录1.Oracle 19c 简介2.Pfile 参数的定义与作用3.Oracle 19c 中 Pfile 参数的具体设置方法4.Pfile 参数的应用实例5.总结正文【1.Oracle 19c 简介】Oracle 19c 是甲骨文公司推出的一款关系型数据库管理系统。

该版本在性能、安全性和易用性等方面都有显著的提升。

其中,Pfile 参数是Oracle 19c 中一个重要的配置选项,它对于数据库的性能优化和故障排查具有重要意义。

【2.Pfile 参数的定义与作用】Pfile 参数是一种用于控制 Oracle 数据库实例行为的配置选项。

它允许用户在启动数据库实例时,通过指定特定的参数值来影响实例的行为。

这些参数值可以影响到数据库的性能、内存管理、I/O 系统等多个方面。

通过合理地设置 Pfile 参数,可以有效地优化数据库的性能,提高系统的稳定性。

【3.Oracle 19c 中 Pfile 参数的具体设置方法】在 Oracle 19c 中,设置 Pfile 参数的方法如下:1) 在安装目录下,找到参数文件 Pfile,通常位于$ORACLE_HOME/database/installation/oraparam.ini。

2) 使用文本编辑器打开 Pfile 文件,添加或修改需要的参数。

例如,如果要设置数据库的 SGA 大小,可以添加如下参数:```sga_target = 256m```3) 保存并关闭 Pfile 文件。

4) 重启数据库实例,新设置的参数值将生效。

【4.Pfile 参数的应用实例】以下是一些常见的 Pfile 参数应用实例:1) 设置 SGA 大小:通过设置 sga_target 参数,可以控制数据库的 SGA 内存大小,从而影响数据库的性能。

2) 设置 PGA 内存大小:通过设置 pga_target 参数,可以控制每个用户进程的 PGA 内存大小,进一步优化数据库的性能。

fopen_s的用法

fopen_s的用法

fopen_s的用法fopen_s是C语言中用于打开文件的函数。

它是fopen函数的安全版本,目的是在打开文件时提供更多的错误检测和错误处理能力。

本文将详细介绍fopen_s函数的用法,并逐步回答中括号内的内容。

一、fopen_s函数的基本用法在介绍fopen_s函数的用法之前,首先需要理解C语言文件操作中的一些基本概念。

在C语言中,我们可以通过文件指针来操作文件。

打开文件时,所使用的文件指针是由系统自动分配的,并用于标识文件。

fopen_s函数的原型如下:cerrno_t fopen_s(FILE pFile, const char* filename, const char* mode);其中,pFile是一个指向文件指针的指针,filename是待打开文件的文件名,mode是文件的访问模式。

fopen_s函数会尝试打开指定的文件,并将结果通过pFile返回。

打开文件时,可以使用以下访问模式之一:1. "r":以只读方式打开文件。

文件必须存在,否则打开失败。

2. "w":以写入方式打开文件。

若文件已存在,则其内容将被清空。

若文件不存在,则将会新建一个该文件。

3. "a":以追加方式打开文件。

若文件已存在,则文件指针定位在文件末尾。

如果文件不存在,则会新建一个该文件。

4. "rb":以二进制只读方式打开文件。

5. "wb":以二进制写入方式打开文件。

6. "ab":以二进制追加方式打开文件。

fopen_s函数的返回值是一个错误码,称为errno_t类型。

如果函数调用成功,其返回值为0,表示文件打开成功。

否则,返回值将是一个非零的错误代码。

具体使用fopen_s函数打开文件的示例代码如下:c#include <stdio.h>int main() {FILE* pFile = NULL;errno_t err;err = fopen_s(&pFile, "example.txt", "w");if (err == 0) {printf("文件打开成功\n");文件操作fclose(pFile);} else {printf("文件打开失败,错误码:d\n", err);}return 0;}以上代码尝试打开一个名为example.txt的文件,并将访问模式设置为写入方式。

Oracle 11gR2 使用 RMAN duplicate from active database 复制数据库

Oracle 11gR2 使用 RMAN duplicate from active database 复制数据库

在Oracle 10g下,我们可以使用RMAN duplicate 命令创建一个具有不同DBID 的复制库。

到了Oracle 11gR2,RMAN 的duplicate 有2种方法实现:1. Active database duplication2. Backup-based duplicationActive database duplication 通过网络,直接copy target 库到auxiliary 库,然后创建复制库。

这种方法就不需要先用RMAN 备份数据库,然后将备份文件发送到auxiliary端。

这个功能的作用是非常大的。

尤其是对T级别的库。

因为对这样的库进行备份,然后将备份集发送到备库,在进行duplicate 的代价是非常大的。

一备份要占用时间,二要占用备份空间,三在网络传送的时候,还需要占用带宽和时间。

所以Active database duplicate 很好的解决了以上的问题。

它对大库的迁移非常有用。

如果是从RAC duplicate 到单实例,操作是一样的。

如果是从单实例duplicate 到RAC。

那么先duplicate 到单实例。

然后将单实例转换成RAC。

Oracle 10g 下Rman duplicate 的例子参考:RMAN 异机复制数据库下面我们看一下11gR2下,Active Database Duplicate的步骤如下:1. 创建Auxiliary 库的Initialization Parameter:如果使用spfile,那么在pfile文件里只需要设置一个DB_NAME参数,其他参数会在duplicate 命令中自己设置。

如果使用pfile,那么需要设置如下参数:DB_NAMECONTROL_FILESDB_BLOCK_SIZEDB_FILE_NAME_CONVERTLOG_FILE_NAME_CONVERTDB_RECOVERY_FILE_DEST2. 在Auxiliary库创建Password File 文件对于Backup-based duplication,Password File 不是必须的,但是对于Active Database Duplication,Password File是必须的。

DDS-1-5

DDS-1-5

2.4.27 JFLD(被连接的字段)——仅用于连接逻辑文件使用这个连接层键字来指明一个逻辑文件中,用来连接物理文件的From字段和To字段。

这些字段都是作为连接字段来引用的。

这个键字的格式是:JFLD(From—字段名To—字段名)连接字段必须与作为连接规范的JOIN键字上指明的物理文件中的字段名一致。

在JFLD键字上指定的名必须与在物理文件中的名相同,除非在连接逻辑文件中对其进行了重命名。

如果没指定JOIN键字,则使用JFILE键字。

这个键字仅对连接逻辑文件有效。

对于每个连接规范至少要有一个JFLD键字,一个连接规范是在17列的J指明的。

由于在一个连接逻辑文件中至少要有一个连接规范,所以对每一个连接逻辑文件至少要有一个JFLD键字。

这些字段不必需指定作为连接逻辑文件记录格式中的一个字段。

为了在连接物理文件时指定另外的连接字段,要指定多个JFLD键字。

在JFLD键字上指定的字段名必须或者是在连接记录格式中字段层指定了的名字,或者是在JFILE键字上指定的一个物理文件中的字段名之一。

OS/400使用下面的检索顺序来匹配使用的连接字段:⒈在连接逻辑文件的字段层,19-28列上指定的字段。

注:那些指定了CONCAT、RENAME或SST键字的字段可作为连接字段。

CONCAT、RENAME或SST键字中做参数指定的字段不能作为连接字段。

⒉在JOIN键字中指定的物理文件中的字段。

指定连接字段的规则如下:·from字段必须能在JOIN键字上指定的from文件中找到。

·To字段必须能在JOIN键字上指定的to文件中找到。

·连接字段不必需在连接记录格式中定义。

·from和to字段必须具有相同的属性(长度、数据类型和小数位),但不必需有相同的名字。

当在物理文件中连接字段具有不同的定义时,必须重定义其中的一个或两个都重定义。

如果重定义这些字段,则可能发生数据转换错。

见2.3.9“长度”及2.3.10、2.3.12的说明。

数据库复习要点2

数据库复习要点2

SQL部分复习要点每个事务的处理必须满足ACID原则,即原子性Atomicity、一致性Consistency、隔离性Isolation、持久性Durability.SQL中可被锁定的资源从小到大分别是行、页、扩展盘区、____表_________ 和______数据库___________。

Sql提供了6中锁定模式分别是:排他、共享、更新、意向、架构、键范围如果允许用户对视图进行更新和插入操作,但又要防止用户将不符合视图约束条件的记录添加到视图,应当在定义视图时指定下列哪个子句?在表中插入数据的语句是在表中创建视图的语句是为了去除结果集中的重复的行,可在select语句中使用以下哪个关键字?下列关于游标的说法,不正确的是(d )A)是从数据表中提取出来的数据B)以临时表的形式存放在内存中C)在游标中有一个数据指针D)利用goto语句可以移动该指针利用“fetch”游标的操作不包括(C )A)openB)fetchC)quitD)close12、不属于存储过程的优点有(D )A)存储过程的能力大大增强了SQL语言的功能和灵活性。

B)可以降低网络的通信量C)在运行存储过程前,数据库已对其进行了语法和句法分析,并给出了优化执行方案D)存储过程可以使没有权限的用户不能直接或间接存取数据库数据,从而保证数据的安全。

系统安全性是指在系统级控制数据库的存取和使用的机制,包含:⑴有效的用户名/口令的组合。

⑵一个用户是否授权可连接数据库。

⑶用户对象可用的磁盘空间的数量。

⑷用户的资源限制。

⑸数据库审计是否是有效的。

⑹用户可执行哪些系统操作。

1.掌握sqlserver2005中用户的创建、删除和权限管理方法.(1)创建SQL SERVER登录名例如:以命令方式创建SQL SERVER认证方式登录名,登录名使用yan,密码是123456Create login yan with password=’123456’;(2)用户的创建例如:使用命令方式创建YGGL的数据库用户,用户名是yan,登录名是yanUse ygglGoCreate user yan for login yan(3)删除用户例如:使用命令方式删除YGGL的数据库用户yanUse ygglGoDrop user yan(4) 权限授予用户例如:以命令方式授予用户yan在YGGL数据库上salary表中的select,delete 权限。

Spfile和Pfile的区别

Spfile和Pfile的区别

Pfile(Parameter File,参数文件)是文本格式的参数文件,内容是数据库的配置参数。

(后附初始话参数文件分析)。

Spfile(Server Parameter File,服务器参数文件)是二进制格式的参数文件,内容是数据库及例程的参数和数值,不能以文本的编辑工具打开。

Spfile和Pfile 的区别:SpfilePfile格式二进制方式文本格式编辑修改方式(1)利用企业管理器对Pfile 进行修改,然后转换为Spfile(2)在SQL Plus 里使用ALTER SYSTEM 语句进行修改(1)利用文本工具直接进行修改(2)在企业管理器里修改配置后导出形成修改应用方式部分参数动态修改,不用重启数据库即可生效修改完必须重启数据库才能生效默认名称SPfile+例程名.oraInit+例程名.ora 实际参数文件Init.ora默认路径C:oracleora90databaseOracleadmin数据库例程名pfile启动次序9i里默认的参数文件,优先于Pfile低于Spfile数据库的初始化参数文件分析内容说明MTS 多线程服务器配置标识,Oracle 9i 里称为共享服务器配置dispatchers="(PROTOCOL=TCP) (SERVICE=testXDB)" 多线程服务器配置Optimizer 最优化hash_join_enabled=TRUE 优化程序选择散列连接query_rewrite_enabled=FALSE 启动或禁用对实体化视图的查询重写star_transformation_enabled=FALSE 确定基于成本的查询转换是否应用到星型查询中# Job Queues 作业列队job_queue_processes=10 作业列队进程数# Instance Identification 实例标识instance_name=test 实例名# Miscellaneous 其他aq_tm_processes=1compatible=9.2.0.0.0 兼容性# Security and Auditing 安全审核remote_login_passwordfile=EXCLUSIVE 指定操作系统或口令文件是否有检查用户口令的权限。

oracle三个重要参数文件:pfile和spfile和init.ora

oracle三个重要参数文件:pfile和spfile和init.ora

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 19c pfile参数

oracle 19c pfile参数

oracle 19c pfile参数摘要:1.Oracle 19c PFILE 简介2.PFILE 参数的作用3.如何在Oracle 19c 中配置PFILE 参数4.PFILE 参数的最佳实践5.总结正文:【1.Oracle 19c PFILE 简介】在Oracle 19c 中,PFILE 是一个重要的配置文件,它包含了数据库实例的参数设置。

这些参数对于数据库的正常运行至关重要,它们影响着数据库的性能、稳定性以及安全性。

PFILE 文件通常包含以下几类参数:内存管理参数、进程管理参数、数据文件和日志文件管理参数等。

【2.PFILE 参数的作用】PFILE 中的参数设置决定了数据库实例的行为。

例如,内存管理参数可以设置数据库实例的最大内存使用量,进程管理参数可以设置进程的数量和分配策略,数据文件和日志文件管理参数可以设置数据文件和日志文件的数量、大小以及自动增长等。

通过对这些参数进行合理设置,可以优化数据库的性能,提高数据处理的效率。

【3.如何在Oracle 19c 中配置PFILE 参数】在Oracle 19c 中,可以通过以下步骤配置PFILE 参数:1.创建或修改PFILE 文件。

可以使用文本编辑器创建或修改PFILE 文件,确保文件包含正确的参数设置。

2.启动Oracle 实例。

使用`orapwd` 命令或SQL*Plus 等工具,设置实例的PFILE 参数。

例如:```orapwdfile=/u01/app/oracle/product/19.0.0/dbhome_1/pfile=/u01/app/oracle/ product/19.0.0/dbhome_1/dbs/mydb.ora```3.验证PFILE 参数设置。

可以使用SQL*Plus 等工具,查询数据库实例的参数设置,确保PFILE 中的参数已生效。

【4.PFILE 参数的最佳实践】为确保数据库实例的安全、稳定和高效运行,以下是一些建议:1.合理设置内存管理参数,充分利用系统资源,避免内存不足导致数据库崩溃。

Oracle启动例程STARTUP参数说明

Oracle启动例程STARTUP参数说明

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的最大会话数

如何提高oracle的最大会话数

如何提高oracle的最大会话数〖Cause(原理)〗Oracle的最大会话(session)数是由初始化(init)参数processes控制的,并不是由初始化参数sessions控制的, 初始化参数sessions的值是由processes衍生出来的(也就是根据初始化参数processes计算出来的),sessions默认等于1.1*processer+5。

〖Action(方法)〗Step01:首先关闭当前正在运行的数据库。

$Sqlplus/nologSQL>Connect sys as SYSDBASQL>Shutdown immediate;Step02:进入初始化参数文件(PFILE)所在的目录。

初始化参数文件(PFILE)所在的目录是:$ORACLE_HOME/dbs(unix)或者%ORACLE_HOME%\dbs(windows)ORACLE_HOME是环境变量,表示ORACLE的主目录(ORACLE HOME)。

Step03:编辑初始化参数文件PFILE.。

本例中的PFILE文件是initwm.ora。

修改初始化参数processes的值。

processes=300提高processes的值相当于提高Oracle的最大会话数。

Step04:根据初始化参数文件PFILE(Initialization Parameter files)生成SPFILE(Server Parameter File)。

SQL>create PFILE='/Oracle/app/Oracle/product/10.1.0/Db_1/dbs/initwm.ora' from SPFILE='/Oracle/app/Oracle/product/10.1.0/Db_1/dbs/SPFILEwm.ora'File created.根据初始化参数文件initwm.ora的内容生成SPFILEwm.ora。

Oracle参数文件spfile

Oracle参数文件spfile

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启动的。

判断ORACLE启动时使用spfile还是pfile

判断ORACLE启动时使用spfile还是pfile

判断ORACLE启动时使用spfile还是pfile自Oracle 9i以后启动的时候默认使用的初始化文件是spfile,我们可以通过如下三种方式来判断是SPFILE还是PFILE方式启动数据库。

1、show parameter spfile2、show parameter pfile3、看v$spparameter视图1、通过查看spfile、pfile视图用spfile启动数据库:SQL> show parameter pfile;NAME TYPE VALUE------------------------------------ -------- ------------------------------spfile string C:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\SPFILEWWL.ORASQL> show parameter spfile;NAME TYPE VALUE------------------------------------ -------- ------------------------------spfile string C:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\SPFILEWWL.ORA用pfile启动数据库SQL> startup pfile=c:\initwwl.oraORACLE instance started.Total System Global Area 1610612736 bytesFixed Size 2066080 bytesVariable Size 385878368 bytesDatabase Buffers 1207959552 bytesRedo Buffers 14708736 bytesDatabase mounted.Database opened.SQL> col type format a8SQL> show parameter pfile;NAME TYPE VALUE------------------------------------ -------- ------------------------------spfile stringSQL> show parameter spfile;NAME TYPE VALUE------------------------------------ -------- ------------------------------spfile stringSQL>我们在这里可以很明显的发现,使用spfile启动数据库,在查看show parameter pfile和showparameter spfile 都能看到spfile参数文件的路径。

参数文件

参数文件

1:pfile和spfile的区别(1)创建pfile create pfile from spfile;创建spfile create spfile from pfile;(2)查询时pfile还是spfile启库show parameter pfile (3)PFILE是静态文件(内存状态不允许修改只能scope=spfile)修改之后不会马上生效,数据库必须重新启动读取这个文件才行。

SPFILE是动态参数文件(内存状态scope=memory),是二进制文件,不可以直接用记事本等等程序做修改,可以用ALTER命令做修改,不用重起数据库也能生效。

临时修改alter system set NAME=value;(alter system set sga_max_size=600M;)永久修改alter system set NAME=value; 并且用编辑器修改pfile文件(4)默认路径pfile 默认的名称为“init+例程名.ora”文件路径:E:\app\Administrator\product\11.2.0\dbhome_1\database,这是一个文本文件,可以用任何文本编辑工具打开。

spfile 默认的名称为“spfile+例程名.ora”文件路径:E:\app\Administrator\product\11.2.0\dbhome_1\database以二进制文本形式存在,不能用vi编辑器对其中参数进行修改。

(5)优先级:启动次序SPfile优先于Pfile。

2:查看参数v$parameter视图显示执行查询的session的参数值;v$system_parameter视图列出实例的参数值;查看当前内存中的参数值SQL> show parameter sga_targetNAME TYPE VALUE------------------------------------ ----------- ------------------------------ sga_target big integer 220MSQL> select value from v$parameter where name='sga_target'; VALUE-------------------------------------------------------------------------------- 230686720SQL> select value from v$system_parameter wherename='sga_target';VALUE-------------------------------------------------------------------------------- 230686720.查看参数文件中的参数值SQL> select value from v$spparameter where name='sga_target'; VALUE----------------------------------------------------------------------------- 3:修改参数alter system set sga_target=200M;sql>alter system set 参数名=值scope=参数2;参数2取值有如下三种:1. scope=spfile: 对参数的修改记录在服务器初始化参数文件中,修改后的参数在下次启动DB时生效。

windows oracle19c参数文件路径

windows oracle19c参数文件路径

windows oracle19c参数文件路径
Oracle 19c的参数文件(PFILE)的路径可以在Oracle数据库安装目录中找到。

参数文件是一个文本文件,包含了数据库的配置参数。

以下是几个可能的位置:
1. 默认位置:在大多数情况下,Oracle数据库的参数文件位于
`$ORACLE_HOME/dbs/init<SID>.ora`,其中 `<SID>` 是系统标识符(System Identifier)。

2. 用户自定义位置:用户也可以将参数文件放在其他位置,并在数据库配置中指定其路径。

3. 自动创建的参数文件:当数据库启动失败时,Oracle可能会自动创建一个新的参数文件。

这个文件的路径通常在警告日志中给出。

如果你想找到当前的参数文件路径,你可以查询 `v$parameter` 视图:
```sql
SELECT name, value
FROM v$parameter
WHERE name = 'db_create_file_dest';
```
这会显示数据库当前使用的文件目录。

但请注意,这个路径可能与实际的参数文件路径不完全一致,因为某些参数可能会指向不同的文件系统位置。

如果你想编辑参数文件,确保你具有适当的权限,并且知道你在做什么,因为错误的参数设置可能会导致数据库无法启动。

在编辑之后,通常需要重新启动数据库以使更改生效。

spfile&pfile的作用

spfile&pfile的作用

spfile&pfile1.参数文件的定义、作用oracle数据库通过一系列参数来对数据库进行配置。

这些参数是以键-值对的形式来表示的,如:MAXLOGFILES=50BACKGROUND_DUMP_DEST=C:\DUMP其中,等号左边是参数名,右边是对应的参数的值,值的类型有多种,典型的如数字和字符串.参数文件就是存储这些参数的地方,oracle在启动时会从参数文件中读取相关的配置。

2.参数文件的分类在9i之前,参数文件只有一种,它是文本格式的,称为pfile,在9i及以后的版本中,新增了服务器参数文件,称为spfile,它是二进制格式的。

这两种参数文件都是用来存储参数配置以供oracle读取的,但也有不同点,注意以下几点:第一,pfile是文本文件,spfile是二进制文件;第二,对于参数的配置,pfile可以直接以文本编辑器打开手工配置,而spfile 不行,必须在数据库启动后,通过sql命令进行在线修改。

第三,pfile配置改变后,要使用其生效,必须重新启动数据库,spfile的配置生效时限和作用域可以由修改参数的sql命令指定,可以立即生效,也可以不立即生效。

当然有些参数的修改必须重启数据库才能生效;第四,可用sql命令由pfile创建spfile,也可以由spfile创建pfile;第五,如果是手动创建数据库而不是通过DBCA,则开始创建数据库时,你只能定义pfile 。

因为它是文本格式的;第六,oracle数据库只使用一个参数文件,要么是pfile,要么是spfile,即么如何判断数据库当前使用的是哪一个参数文件呢?一种方法是能过create pfile 来鉴别,如果当前使用的不是spfile,则相应格式的create pfile会产生错误。

另一种方法是show parameter spfile命令,用来显示spfile的位置,如果显示的值为空,则表示使用的是pfile。

oracle 参数类型介绍

oracle 参数类型介绍

Oracle 参数类型介绍首先配置文件:pfile(参数文件),spfile(服务器配置文件) 在以前8i 以前的版本是不可以动态的修改系统参数的但是从9i 过后就开始有了spfile 提供给管理员更方便的修改系统参数两个文件区别: pfile 是文本文件可以通过文本编辑器编辑参数而spfile是二进制文件最好不要用文本编辑软件编辑内容,系统startup 默认是读取spfile 。

查看是用什么文件启动:方法一:SQL> select distinct ISSPECIFIED from v$spparameter;ISSPEC------FALSETRUE如果只有FALSE,使用的是PFILE,如果有TRUE,说明用的是SPFILE方法二:SQL>show parameters spfile如果有值说明使用spfile启动,反之pfile如果要通过spfile创建pfile,可以使用命令:create spfile(pfile) from pfile(spfile)(=' ')启动时可以指定pfile或者spfile:SQL> startup pfile='/home/jarodwang/my_pfile.ora';视图介绍:参数的相关信息保存在视图v$system_parameter中。

V$SYSTEM_PARAMETERDisplays information about the initialization parameters that are currently in effect for the根据v$system_parameter里面的issys_modifiable可以查出哪些是动态参数,哪些是静态参数,命令如下:SQL> select count(*) from v$system_parameter where issys_modifiable='FALSE';SQL> select count(*) from v$system_parameter where issys_modifiable='IMMEDIATE';SQL> select count(*) from v$system_parameter where issys_modifiable='DEFERRED';上面的结果查询出了静态参数是107个动态参数是144+7=151个三者的修改使用范围:静态参数必须指定为scope动态参数issys_modifiable为IMMEDIATE不加scope默认的是both,而动态参数issys_modifiable 为DEFERRED的必须加上scope=spfile 或者加上derferred。

Oracle 复合控制文件

Oracle  复合控制文件

Oracle 复合控制文件因为控制文件非常重要,所以为了防止控制文件的损坏或丢失,应用将控制文件复合。

Oracle建议每个数据库应该包含两个或两个以上的控制文件。

但需要注意,Oracle数据库最多可以包含8个控制文件。

当复合控制文件时,为了防止磁盘损坏导致控制文件丢失或损坏。

应该将控制文件分布到不同的磁盘上,如图11-1所示。

成员1成员2成员1成员2成员1成员2日志组1日志组2日志组3磁盘1磁盘2图11-1 复合控制文件如果在启动实例时使用了PFILE,在需要手动编辑文本参数文件,并修改初始化参数CONTROL_FILE,修改控制文件为复合形式。

具体步骤如下:(1)手动修改初始化参数CONTROL_FILE。

因为Oracle是通过初始化参数CONTROL_FILE来定位并打开控制文件,所以为了复合控制文件,必须手动修改初始化参数。

例如:control_files=("d:\app\Administrator\oradata\orcl\control01.ctl","d:\app\Administrator\oradata\orcl\control02.ctl","d:\app\Administrator\oradata\orcl\control03.ctl","e:\oradata\orcl\control01b.ctl","e:\oradata\orcl\control02b.ctl","d:\oradata\orcl\control03b.ctl")需要注意,在编辑PFILE文件时,在D盘上的控制文件是原有控制文件,而在E盘上的控制文件为新加的控制文件,目前还不存在。

(2)关闭数据库。

修改了静态参数CONTROL_FILES后,必须先关闭Oracle数据库,然后重新启动数据库,参数设置才能生效。

NC数据库日常维护

NC数据库日常维护

目录一.日常操作 (2)(一) Oracle数据库 (2)1.数据库的启动: (2)2.用户口令的修改: (2)3.数据库参数文件SPFILE与PFILE (2)(二). DB2 数据库的常用操作 (3)二. 备份与恢复 (3)(一) Oracle的逻辑备份与恢复 (3)1.逻辑备份 (3)2.逻辑恢复 (4)(二) DB2的备份与恢复 (4)1.备份 (4)2.恢复 (5)三. 执行统计分析更新 (5)(一) Oracle: (5)(二) DB2 (8)(三) SQL Server (8)四.重建索引 (8)(一) oracle (9)(二) db2 (9)(三) sql server: (9)附件一. 纠正oracle临时表统计信息的方案 (10)附件二. Oracle客户端连接服务器的出错处理 (15)附件三. Oracle优化说明 (16)一.日常操作(一) Oracle数据库1.数据库的启动:(1)启动数据库实例(Unix/Linux系统需切换到Oracle用户下):sqlplus “/ as sysdba”startup (启动数据库实例)shutdown immediate (关闭数据库实例)(2)启动/关闭数据库监听进程.lsnrctlLSNRCTL> start (启动监听)LSNRCTL> stop (关闭监听)2.用户口令的修改:SQL> ALTER USER “用户名” IDENTIFIED BY “新口令”如果数据库管理员的口令丢失, 可执行如下步骤:sqlplus “/ as sysdba”SQL> ALTER USER “sys” IDENTIFIED BY “新口令”SQL> ALTER USER “system” IDENTIFIED BY “新口令”3.数据库参数文件SPFILE与PFILE(假设Oracle安装在D:\Oracle目录下)(1) SPFILE文件:存储在D:\Oracle\ora92\database目录下, 为二进制的参数文件,无法直接编辑.文件名为”SPFILE+例程名.ora”(2) PFILE文件:存储在D:\Oracle\ora92\database目录下, 为文本的参数文件,可直接修改.文件名为”init+例程名.ora”, 打开此文件,内容为”IFILE=’d:\oracle\admin\实例名\pfile\init.ora’”, 也就是说真正的参数文件为init.ora, 此文件为文本文件,可直接编辑.(3) 数据库启动所使用的参数文件.数据库启动时, 首先寻找”SPFILE+例程名.ora”文件,若文件存在,就按照文件设置的参数启动例程;若”SPFILE+例程名.ora”文件不存在,转向寻找”init+例程名.ora”文件,按照”init+例程名.ora”文件里指定的实际参数文件init.ora的参数启动例程.(4) SPFILE和PFILE的相互转换.a) 用SPFILE文件创建PFILE文件.Create spfile=’spfile路径’ from pfile=’pfile路径’;b) 用PFILE文件创建SPFILE文件.Create pfile=’ pfile路径’ from spfile=’spfile路径’;(二). DB2 数据库的常用操作1.启动数据库db2start2.停止数据库db2stop3.连接数据库db2 connect to o_yd user db2 using pwd4.读数据库管理程序配置db2 get dbm cfg5.写数据库管理程序配置db2 update dbm cfg using 参数名参数值6.读数据库的配置db2 connect to 数据库名 user db2 using pwddb2 get db cfg for数据库名7.写数据库的配置db2 connect to数据库名user db2 using pwddb2 update db cfg for数据库名using 参数名参数值8.关闭所有应用连接db2 force application all9.执行一个sql文件db2 –tf sql文件名(文件中每一条命令用;结束)10.列出所有的系统表list tables for system二. 备份与恢复(一) Oracle的逻辑备份与恢复1.逻辑备份使用EXP命令, exp help=y得到所有关于exp命令的参数例:将nc30用户的所有数据备份到nc30bak.dmp文件中.exp nc30/1@ncdb owner=nc30 file=nc30bak.dmp log=exp.log其中:nc30/1: nc的Oracle用户名与密码ncdb: Oracle的实例名nc30bak.dmp: 为导出文件exp.log : 导出过程的log文件.2.逻辑恢复使用IMP命令,用imp help=y得到所有关于exp命令的参数例:将nc30bak.dmp文件中的nc30用户的所有数据恢复到nc30new用户下.imp nc30new/1@ncdb fromuser=nc30 touser=nc30new file=nc30bak.dmp log=imp.log其中:nc30/1:要导入的Oracle用户名与密码ncdb: Oracle的实例名nc30: 导出时的Oracle用户名nc30new: 要导入数据到此Oracle用户下nc30bak.dmp: 为导出文件imp.log : 导入过程的log文件.(二) DB2的备份与恢复1.备份通过DB2控制中心图形界面备份,右键点击选中的数据库,选择备份数据库,根据提示操作即可;msg,msg可以是错误提示信息如SQL1013N,也可以是某个命令如backup db。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

oracle9i,oracle10g下spfile和pfile的总结oracle9i,oracle10g如何切换使用spfile和pfile首先,要明确以下几点:1,spfile缺省目录:--unix下:$oracle_home/dbs/--NT下:%oracle_home%\database2,spfile的搜索顺序:1)spfile<oracle_sid>.ora,2)spfile.ora,3)init<oracle_sid>.ora,创建了spfile,重新启动数据库,oracle会按顺序搜索以上目录,spfile就会自动生效。

3,在widows系统下,虽然创建数据库时,默认会将spfile创建到%oracle_home%\dbs\目录下,但这个目录不是缺省目录。

如果spfile发生变化后,也不会再到此目录下查找了,还是会到spfile缺省目录下查找spfile。

(我就是被这一点给搞糊涂了,总以为oracle会到%oracle_home%\dbs\目录下去找spfile,所以将生成的spfile也放到此目录下了。

然后删除pfile,启动DB时报错,找不到pfile……)4,当我们用命令由spfile创建pfile,或者由pfile创建spfile时,新的文件也会生成到缺省目录下。

明确了以上问题,数据库使用pfile和spfile的转换也就很容易了。

1,如果当前使用的是spfile,使用命令创建pfile,然后删除或更名缺省目录下的spfile,然后重新启动,数据库就会默认使用pfile启动。

2,如果当前使用的是pfile,使用命令创建spfile,然后删除或更名缺省目录下的pfile,然后重新启动,数据库就会默认使用spfile启动。

这样理解应该没有问题,实际测试也是这样的!OK,又解决了我心中的一大疑问!相关讨论:/thread-1280993-1-1.htmlPS:以上讨论的只是如何切换pfile和spfile,让数据库默认用pfile或spfile启动。

当然,还有许多其它的用法,例如:1,启动时加pfile参数文件:startup pfile='c:\iniths01.bak'注意,不能以这种方式指定spfile.见实验一。

2,也可以将spfile路径放到pfile中,然后以及pfile启动数据库。

如,在默认使用的pfile文件中加入:spfile='E:\oracle\product\10.2.0\db_1\dbs\SPFILEHS01.ORA'然后重启数据库,查看参数文件,显示使用的就是spfile.这种方式,还有一点要注意,pfile中加入spfile路径,也可以定义其他参数,如果参数重复设置,后读取的参数将取代先前的设置。

(这种通过在pfile中调用spfile,使用后设置的参数覆盖spfile中的参数设置,是解决spfile 中参数设置错误的一种方法。

)见实验二。

实验一:SQL> show parameter spfileNAME TYPE V ALUE------------------------------------ -----------------------------------------spfile string E:\ORACLE\PRODUCT\10.2.0\DB_1\DA TABASE\SPFILEHS01.ORA SQL> show parameter optimizer_modeNAME TYPE V ALUE------------------------------------ -----------------------------------------optimizer_mode string CHOOSESQL> host type c:\iniths01.bakhs01.__db_cache_size=356515840hs01.__java_pool_size=4194304hs01.__large_pool_size=12582912hs01.__shared_pool_size=230686720hs01.__streams_pool_size=0...*.optimizer_mode='ALL_ROWS'...SQL> shutdown immediateDatabase closed.Database dismounted.ORACLE instance shut down.SQL> startup pfile='c:\iniths01.bak'ORACLE instance started.Total System Global Area 612368384 bytesFixed Size 1373308 bytesVariable Size 250219396 bytesDatabase Buffers 356515840 bytesRedo Buffers 4259840 bytesDatabase mounted.Database opened.SQL> show parameter spfileNAME TYPE V ALUE------------------------------------ -----------------------------------------spfile stringSQL> show parameter optimizer_modeNAME TYPE V ALUE------------------------------------ -----------------------------------------optimizer_mode string ALL_ROWSSQL>实验二:SQL> show parameter spfileNAME TYPE V ALUE------------------------------------ ----------- ------------------------------spfile string E:\ORACLE\PRODUCT\10.2.0\DB_1\DA TABASE\SPFILEHS01.ORA SQL> show parameter optimizer_modeNAME TYPE V ALUE------------------------------------ ----------- ------------------------------optimizer_mode string CHOOSESQL> host type c:\iniths01.bakhs01.__db_cache_size=356515840hs01.__java_pool_size=4194304hs01.__large_pool_size=12582912hs01.__shared_pool_size=230686720hs01.__streams_pool_size=0...*.optimizer_mode='ALL_ROWS'...SQL> shutdown immediateDatabase closed.Database dismounted.ORACLE instance shut down.SQL> startup pfile='c:\iniths01.bak'ORACLE instance started.Total System Global Area 612368384 bytesFixed Size 1373308 bytesVariable Size 250219396 bytesDatabase Buffers 356515840 bytesRedo Buffers 4259840 bytesDatabase mounted.Database opened.SQL> show parameter spfileNAME TYPE V ALUE------------------------------------ ----------- ------------------------------spfile stringSQL> show parameter optimizer_modeNAME TYPE V ALUE------------------------------------ ----------- ------------------------------optimizer_mode string ALL_ROWSSQL>实验二:SQL> show parameter pfileNAME TYPE V ALUE------------------------------------ ----------- ------------------------------spfile string E:\ORACLE\PRODUCT\10.2.0\DB_1\DA TABASE\SPFILEHS01.ORA SQL> show parameter optimizer_mode;NAME TYPE V ALUE------------------------------------ ----------- ------------------------------optimizer_mode string CHOOSE--当前使用的是spfile,并且spfile中参数optimizer_mode=CHOOSESQL> host cdE:\oracle\product\10.2.0\db_1\databaseSQL> host ren spfilehs01.ora spfilehs01.bak--修改当前spfile名称,DB启动将报错。

SQL> startupORA-01078: failure in processing system parametersLRM-00109: 无法打开参数文件'E:\ORACLE\PRODUCT\10.2.0\DB_1\DA TABASE\INITHS01.ORA'SQL> host echo spfile='E:\oracle\product\10.2.0\db_1\database\spfilehs01.bak' >iniths01.oraSQL> host echo *.optimizer_mode=all_rows >>iniths01.oraSQL> host type iniths01.oraspfile='E:\oracle\product\10.2.0\db_1\database\spfilehs01.bak'*.optimizer_mode=all_rows--建立pfile,在其中指定spfile=E:\oracle\product\10.2.0\db_1\database\spfilehs01.bak--并在其后指定参数optimizer_mode=all_rowsSQL> shutdown immediate数据库已经关闭。

相关文档
最新文档