1、概念
pfile:初始化参数文件(Initialization parameters Files),文本文件
spfile:服务器参数文件(server Parameter Files) spfile默认文件名称为“init+实例名.ora" ,二进制文件,实例启动参数文件
2、查看spfile与pfile的目录位置
方法一、

SQL> SELECT NAME, VALUE, DISPLAY_VALUE FROM V$PARAMETER WHERE NAME ='spfile'; NAME -------------------------------------------------------------------------------- VALUE -------------------------------------------------------------------------------- DISPLAY_VALUE -------------------------------------------------------------------------------- spfile /opt/oracle/product/19c/dbhome_1/dbs/spfileORCLCDB.ora /opt/oracle/product/19c/dbhome_1/dbs/spfileORCLCDB.ora
方法二:

SQL> show parameter spfile; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ spfile string /opt/oracle/product/19c/dbhome _1/dbs/spfileORCLCDB.ora
4、判断Oracle启动时使用spfile还是pfile?

SQL> select decode(count(*),1,'spfile','pfile') from v$spparameter where rownum=1 and isspecified ='TRUE'; DECODE ------ spfile
5、spfile,pfile的互相创建

使用服务器参数文件spfile创建文本参数文件pfile: 1,SQL> create pfile from spfile="/u01/app/oracle/product/9.2.0/dbs/spfile$ORACLE_SID.ora"; 2,SQL> create pfile from spfile; 3,SQL> create pfile="/u01/oracle/dbs/test_pfile_ora" from spfile="/u01/app/oracle/product/9.2.0/dbs/ spfile$ORACLE_SID.ora"; 4,SQL> create pfile="/u01/oracle/dbs/test_pfile_ora" from spfile; 使用参数文件pfile创建服务器参数文件spfile: 1,SQL> create spfile from pfile="/u01/app/oracle/admin/db_name/pfile/init$ORACLE_SID.ora"; 2,SQL> create spfile from pfile; 3,SQL> create spfile="/u01/oracle/dbs/test_spfile.ora" from pfile="/u01/app/oracle/admin/db_name/ pfile/init$ORACLE_SID.ora";
6、使用pfile/spfile 启动数据库

SQL> startup pfile='/data/app/oracle/product/12.1.0/dbhome_1/dbs/initorcl.ora'; ORACLE instance started. Total System Global Area 2466250752 bytes Fixed Size 2927384 bytes Variable Size 1426064616 bytes Database Buffers 1023410176 bytes Redo Buffers 13848576 bytes Database mounted. Database opened. SQL>
7、spfile参数的三种scope:

1. scope=spfile: 对参数的修改记录在服务器初始化参数文件中,修改后的参数在下次启动DB时生效。适用于动态和静态初始化参数。 2. scope=memory: 对参数的修改记录在內存中,对于动态初始化参数的修改立即生效。在重启DB后会丟失,会复原为修改前的参数值。 3. scope=both: 对参数的修改会同时记录在服务器参数文件和內存中,对于动态参数立即生效,对静态参数不能用这个选项 参数类型 spfile memory both 静态参数 可以,重启服务器生效 不可以 不可以 动态参数 可以,重启服务器生效 可以,立即生效,重启服务失效 可以,立即生效,重启服务器仍然有效果
修改spfile参数

SQL> show parameter pga; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ pga_aggregate_limit big integer 2G pga_aggregate_target big integer 500M SQL> alter system set pga_aggregate_target = 600m scope=both; System altered. SQL> show parameter pga; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ pga_aggregate_limit big integer 2G pga_aggregate_target big integer 600M
8、参数列表:

# Cache and I/O 高速缓存和 I/O ########################################### db_block_size=8192 指定数据块大小为8KB db_cache_size=33554432 指定数据缓冲区为32MB,该值越大,可以减少对数据库文件的I/O次数,提高效率 db_file_multiblock_read_count=16 ########################################### # Cursors and Library Cache 游标和库高速缓存 ########################################### open_cursors=300 指定一个会话一次可以打开的游标的最大数量为300,应将该值设置得足够高,这样才能防止应用程序耗尽打开的游标 ########################################### # Database Identification 数据库标识 ########################################### db_domain="" 数据库域名为mynet,加上数据库名称db_name构成全局数据库名称 db_name=cicro 数据库名称为myoracle ########################################### # Diagnostics and Statistics 诊断和统计 ########################################### background_dump_dest=/opt/oracle/admin/cicro/bdump 后台进程跟踪文件目录 core_dump_dest=/opt/oracle/admin/cicro/cdump 核心转储跟踪文件目录 timed_statistics=TRUE 收集操作系统的计时信息,这些信息可被用来优化数据库和 SQL 语句 user_dump_dest=/opt/oracle/admin/cicro/udump 用户进程跟踪文件目录 ########################################### # File Configuration control_files=("/opt/oracle/oradata/cicro/control01.ctl", "/opt/oracle/oradata/cicro/control02.ctl", "/opt/oracle/oradata/cicro/control03.ctl") 指定控制文件的路径及文件名 ########################################### ########################################### # Instance Identification 网络注册 ########################################### instance_name=test 例程名称为test ########################################### # Job Queues ########################################### job_queue_processes=10 ########################################### # MTS 多线程服务器配置标识,在Oracle 9i里称为共享服务器配置 ########################################### dispatchers="(PROTOCOL=TCP) (SERVICE=testXDB)" 多线程服务器配置 ########################################### # Miscellaneous 其他 ########################################### aq_tm_processes=1 compatible=9.2.0.0.0 兼容版本9.2.0 ########################################### # Optimizer ########################################### hash_join_enabled=TRUE query_rewrite_enabled=FALSE star_transformation_enabled=FALSE db_name=cicro ########################################### ########################################### # Pools 池 ########################################### java_pool_size=83886080 指定Java存储池的大小为32MB,用于存储 Java 的方法、类定义和Java对象。 large_pool_size=16777216 指定大型池的大小为1MB, 用于共享服务器的会话内存、并行执行的消息缓冲区以及RMAN备份和恢复的磁盘 I/O 缓冲区。 shared_pool_size=83886080 指定共享池的大小为32MB,用于存储共享游标、存储的过程、控制结构和并行执行消息缓冲区等对象。较大的值能改善多用户系统的性能. ########################################### # Processes and Sessions 进程和会话 ########################################### processes=150 指定可同时连接到一个Oracle Server上的操作系统用户进程的最大数量为150 ########################################### # Redo Log and Recovery 重做日志和恢复 ########################################### fast_start_mttr_target=300 指定从单个数据库例程崩溃中恢复所需的时间为300秒 ########################################### # Security and Auditing 安全与验证 ########################################### remote_login_passwordfile=EXCLUSIVE 指定操作系统或口令文件是否具有检查用户口令的权限。设置为EXCLUSIVE, 将使用数据库的口令文件对每个具有权限的用户进. ########################################### # Sort, Hash Joins, Bitmap Indexes 排序, 散列联接, 位图索引 ########################################### pga_aggregate_target=25165824 sort_area_size=524288 指定排序区使用的最大内存量为512KB。排序完成后, 各行将返回, 并且内存将释放。增大该值可以提高大型排序的效率。 ########################################### # System Managed Undo and Rollback Segments 系统管理的撤消和回退段 ########################################### undo_management=AUTO 指定系统使用的撤消空间管理方式为SMU 方式,在SMU方式下, 撤消空间会像撤消表空间一样在外部分配. undo_retention=10800 undo_tablespace=UNDOTBS1 指定回滚表空间为UNDOTBS