启动数据库实例与spfile的关系

启动数据库实例与spfile的关系

在数据库启动时需要读取参数文件来分配内存区域并定位控制文件的位置,oracle数据库中的初始化参数传统上是存储在一个文本初始化参数文件中的.为了更好地管理,可以选择使用一个二进制的服务器参数文件来管理初始化参数对它的修改在数据库重启后仍然生效.下面来介绍如何使用这种方法来管理初始化参数.

什么是服务器参数文件

服务器参数文件可以被认为是一个初始化参数档案库它被存储在运行oracle数据库服务器的系统中.它被设计为服务端初始化参数文件.存储在服务器参数文件中的初始化参数是永久生效的.当实例运行时对参数的任何改变在数据库重启之后是仍然有效的.这消除了为了使alter system语句的改变永久生效而要手工修改初始化参数的需要.它也提供了对数据库服务器自动调整的基础.

一个服务器参数文件是通过使用create spfile语句从文本初始化参数文件来初始化创建.(也可以通过DBCA来直接创建).服务器参数文件是一个二进制文件不能使用文本编辑器来修改.oracle数据库提供了其它的接口来查看和修改服务器参数文件中的参数.

注意:虽然你能使用一个文本编辑器来打开一个二进制服务器参数文件但不能手工修改它.如果修改会损坏文件.你将不能重启实例,如果实例正在运行那么它会终止运行.

当执行没有pfile子句的startup命令,oracle实例会在操作系统特定的缺省位置来搜索一个服务器参数文件并从文件中读取初始化参数.如果没有找到服务器参数文件,实例将搜索一个文本初始化参数.如果服务器参数文件存在但你想使用一个文本初始化参数来覆盖那么在执行startup命令时指定pfile子句.

下面来举例说明:
1.执行不带pfile子句的startup命令,从下面的输出可以看出启动时自动搜索了服务器参数文件spfilejycs.ora

SQL> startup
ORACLE instance started.
Total System Global Area  630501376 bytes
Fixed Size                  2215984 bytes
Variable Size             385880016 bytes
Database Buffers          234881024 bytes
Redo Buffers                7524352 bytes
Database mounted.
Database opened.
SQL> show parameter spfile
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /u01/app/oracle/11.2.0/db/dbs/
                                                 spfilejycs.ora

2.删除服务器参数文件spfilejycs.ora,再执行执行不带pfile子句的startup命令,从下面的输出可以看出在启动时,在搜索不到服务器参数文件时就会搜索文本初始化参数文件initjycs.ora

[oracle@jyrac1 dbs]$ mv spfilejycs.ora spfilejycs.ora.bak
SQL> startup
ORACLE instance started.
Total System Global Area  630501376 bytes
Fixed Size                  2215984 bytes
Variable Size             385880016 bytes
Database Buffers          234881024 bytes
Redo Buffers                7524352 bytes
Database mounted.
Database opened.
SQL> show parameter spfile  
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string

3.删除文本初始化参数文件initjycs.ora,再执行执行不带pfile子句的startup命令,从下面的输出可以看出在启动时,在搜索不到服务器参数文件时就会搜索文本初始化参数文件initjycs.ora,但是因为我们删除了文本初始化参数文件initjycs.ora,所以提示找不到这个文件

[oracle@jyrac1 dbs]$ mv initjycs.ora initjycs.ora.bak
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/11.2.0/db/dbs/initjycs.ora'

4.执行带pfile子句的startup命令,将使用文本初始化参数文件来替代服务器参数文件,可以看到spfile参数值为空说明是使用文本初始化参数来启动的实例

SQL> startup pfile='/u01/app/oracle/11.2.0/db/dbs/initjycs.ora'
ORACLE instance started.
Total System Global Area  630501376 bytes
Fixed Size                  2215984 bytes
Variable Size             385880016 bytes
Database Buffers          234881024 bytes
Redo Buffers                7524352 bytes
Database mounted.
Database opened.
SQL> show parameter spfile
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string

迁移到服务器参数文件

如果你当前正使用一个文本初始化参数文件那么使用下面的步骤来迁移到服务器参数文件:

1.如果初始化参数文件在一个客户端系统中,那么可以使用ftp将这个文件从客户端系统传输到服务器系统.
注意:如果你从一个oracle rac环境中迁移一个服务器参数文件,你必须合并所有实例特定的初始化参数文件为一个单独的初始化参数文件.这样做是为了使用oracle rac中的所有实例共同使用一个服务器参数文件.

2.使用create spfile from pfile命令在缺省位置创建一个服务器参数文件.
这个语句将读取一个文本初始化参数来创建一个服务器参数文件.

3.启动或重启实例
这个实例将会在缺省位置查找一个新的spfile文件来启动
创建服务器参数文件

可以使用create spfile语句来创建一个服务器参数文件.必须有sysdba或sysoper系统权限来执行这个语句.
注意:当使用dbca创建数据库时它会自动的创建一服务器参数文件

create spfile语句可以在实例启动之前或之后执行.然而如果实例已经使用一个服务器参数文件启动了,执行这个创建服务器参数文件的语句就会报错.

可以从一个存在的文本初始化参数文件或从内存来创建一个服务器参数文件(spfile)。从内存来创建服务器参数文件这意味着复制初始化参数的当前值到服务器参数文件中.

SQL> create spfile from memory;
create spfile from memory
*
ERROR at line 1:
ORA-32002: cannot create SPFILE already being used by the instance

##create spfile语句可以在实例启动之前或之后执行,但如果实例已经使用一个服务器参数文件启动了,执行这个创建服务器参数文件的语句就会报错.

下面的例子从一个文本初始化参数文件/u01/oracle/dbs/init.ora来创建服务器参数文件.在这个例子中没有指定spfile文件名所以这个被创建的文件将会使用平台特定的缺省名和位置.

SQL>CREATE SPFILE FROM PFILE='/u01/oracle/dbs/init.ora';

下面的例子在创建服务器参数文件时提供了文件名和存储的位置:

SQL>CREATE SPFILE='/u01/oracle/dbs/test_spfile.ora' FROM PFILE='/u01/oracle/dbs/test_init.ora';

下面的例子将在缺省位置将用内存中的初始化参数的当前值来创建服务器参数文件:

SQL>CREATE SPFILE FROM MEMORY;
SQL> create spfile from memory;
create spfile from memory
*
ERROR at line 1:
ORA-32002: cannot create SPFILE already being used by the instance
SQL> create spfile from memory;
File created.

下面将用内存中的初始化参数的当前值来创建文本初始化参数文件,将与用spfile文件创建的文本初始化参数文件进行比较,可以明显看到从内存来创建的文件中多了以_开头的参数

SQL> create pfile from memory;
File created.
[oracle@jyrac1 dbs]$ cat initjycs.ora
jycs.__db_cache_size=234881024
jycs.__java_pool_size=4194304
jycs.__large_pool_size=4194304
jycs.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
jycs.__pga_aggregate_target=209715200
jycs.__sga_target=633339904
jycs.__shared_io_pool_size=0
jycs.__shared_pool_size=373293056
jycs.__streams_pool_size=4194304
*.audit_file_dest='/u01/app/oracle/admin/jycs/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/u01/app/oracle/oradata/jycs/control01.ctl','/u01/app/oracle/flash_recovery_area/jycs/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='jycs'
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=4070572032
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=jycsXDB)'
*.open_cursors=300
*.pga_aggregate_target=209715200
*.processes=150
*.remote_login_passwordfile='exclusive'
*.sga_target=631242752
*.undo_tablespace='UNDOTBS1'


[oracle@jyrac1 dbs]$ cat initjycs.ora
# Oracle init.ora parameter file generated by instance jycs on 04/14/2014 10:33:22
__db_cache_size=224M
__java_pool_size=4M
__large_pool_size=4M
__oracle_base='/u01/app/oracle' # ORACLE_BASE set from environment
__pga_aggregate_target=200M
__sga_target=604M
__shared_io_pool_size=0
__shared_pool_size=356M
__streams_pool_size=4M
_aggregation_optimization_settings=0
_always_anti_join='CHOOSE'
_always_semi_join='CHOOSE'
_and_pruning_enabled=TRUE
_b_tree_bitmap_plans=TRUE
_bloom_filter_enabled=TRUE
_bloom_folding_enabled=TRUE
_bloom_pruning_enabled=TRUE
_complex_view_merging=TRUE
_compression_compatibility='11.2.0.0.0'
_connect_by_use_union_all='TRUE'
_convert_set_to_join=FALSE
_cost_equality_semi_join=TRUE
_cpu_to_io=0
_dimension_skip_null=TRUE
_eliminate_common_subexpr=TRUE
_enable_type_dep_selectivity=TRUE
_fast_full_scan_enabled=TRUE
_first_k_rows_dynamic_proration=TRUE
_gby_hash_aggregation_enabled=TRUE
_generalized_pruning_enabled=TRUE
_globalindex_pnum_filter_enabled=TRUE
_gs_anti_semi_join_allowed=TRUE
_improved_outerjoin_card=TRUE
_improved_row_length_enabled=TRUE
_index_join_enabled=TRUE
_ksb_restart_policy_times='0'
_ksb_restart_policy_times='60'
_ksb_restart_policy_times='120'
_ksb_restart_policy_times='240' # internal update to set default
_left_nested_loops_random=TRUE
_local_communication_costing_enabled=TRUE
_minimal_stats_aggregation=TRUE
_mmv_query_rewrite_enabled=TRUE
_new_initial_join_orders=TRUE
_new_sort_cost_estimate=TRUE
_nlj_batching_enabled=1
_optim_adjust_for_part_skews=TRUE
_optim_enhance_nnull_detection=TRUE
_optim_new_default_join_sel=TRUE
_optim_peek_user_binds=TRUE
_optimizer_adaptive_cursor_sharing=TRUE
_optimizer_better_inlist_costing='ALL'
_optimizer_cbqt_no_size_restriction=TRUE
_optimizer_coalesce_subqueries=TRUE
_optimizer_complex_pred_selectivity=TRUE
_optimizer_compute_index_stats=TRUE
_optimizer_connect_by_combine_sw=TRUE
_optimizer_connect_by_cost_based=TRUE
_optimizer_connect_by_elim_dups=TRUE
_optimizer_correct_sq_selectivity=TRUE
_optimizer_cost_based_transformation='LINEAR'
_optimizer_cost_hjsmj_multimatch=TRUE
_optimizer_cost_model='CHOOSE'
_optimizer_dim_subq_join_sel=TRUE
_optimizer_distinct_agg_transform=TRUE
_optimizer_distinct_elimination=TRUE
_optimizer_distinct_placement=TRUE
_optimizer_eliminate_filtering_join=TRUE
_optimizer_enable_density_improvements=TRUE
_optimizer_enable_extended_stats=TRUE
_optimizer_enhanced_filter_push=TRUE
_optimizer_extend_jppd_view_types=TRUE
_optimizer_extended_cursor_sharing='UDO'
_optimizer_extended_cursor_sharing_rel='SIMPLE'
_optimizer_extended_stats_usage_control=224
_optimizer_fast_access_pred_analysis=TRUE
_optimizer_fast_pred_transitivity=TRUE
_optimizer_filter_pred_pullup=TRUE
_optimizer_fkr_index_cost_bias=10
_optimizer_group_by_placement=TRUE
_optimizer_improve_selectivity=TRUE
_optimizer_join_elimination_enabled=TRUE
_optimizer_join_factorization=TRUE
_optimizer_join_order_control=3
_optimizer_join_sel_sanity_check=TRUE
_optimizer_max_permutations=2000
_optimizer_mode_force=TRUE
_optimizer_multi_level_push_pred=TRUE
_optimizer_native_full_outer_join='FORCE'
_optimizer_new_join_card_computation=TRUE
_optimizer_null_aware_antijoin=TRUE
_optimizer_or_expansion='DEPTH'
_optimizer_order_by_elimination_enabled=TRUE
_optimizer_outer_to_anti_enabled=TRUE
_optimizer_push_down_distinct=0
_optimizer_push_pred_cost_based=TRUE
_optimizer_rownum_bind_default=10
_optimizer_rownum_pred_based_fkr=TRUE
_optimizer_skip_scan_enabled=TRUE
_optimizer_sortmerge_join_inequality=TRUE
_optimizer_squ_bottomup=TRUE
_optimizer_star_tran_in_with_clause=TRUE
_optimizer_system_stats_usage=TRUE
_optimizer_table_expansion=TRUE
_optimizer_transitivity_retain=TRUE
_optimizer_try_st_before_jppd=TRUE
_optimizer_undo_cost_change='11.2.0.1'
_optimizer_unnest_corr_set_subq=TRUE
_optimizer_unnest_disjunctive_subq=TRUE
_optimizer_use_cbqt_star_transformation=TRUE
_optimizer_use_feedback=TRUE
_or_expand_nvl_predicate=TRUE
_ordered_nested_loop=TRUE
_parallel_broadcast_enabled=TRUE
_partition_view_enabled=TRUE
_pivot_implementation_method='CHOOSE'
_pre_rewrite_push_pred=TRUE
_pred_move_around=TRUE
_push_join_predicate=TRUE
_push_join_union_view=TRUE
_push_join_union_view2=TRUE
_px_minus_intersect=TRUE
_px_pwg_enabled=TRUE
_px_ual_serial_input=TRUE
_query_rewrite_setopgrw_enable=TRUE
_remove_aggr_subquery=TRUE
_replace_virtual_columns=TRUE
_right_outer_hash_enable=TRUE
_selfjoin_mv_duplicates=TRUE
_sql_model_unfold_forloops='RUN_TIME'
_sqltune_category_parsed='DEFAULT' # parsed sqltune_category
_subquery_pruning_enabled=TRUE
_subquery_pruning_mv_enabled=FALSE
_table_scan_cost_plus_one=TRUE
_union_rewrite_for_gs='YES_GSET_MVS'
_unnest_subquery=TRUE
_use_column_stats_for_function=TRUE
audit_file_dest='/u01/app/oracle/admin/jycs/adump'
audit_trail='DB'
compatible='11.2.0.0.0'
control_files='/u01/app/oracle/oradata/jycs/control01.ctl'
control_files='/u01/app/oracle/flash_recovery_area/jycs/control02.ctl'
core_dump_dest='/u01/app/oracle/diag/rdbms/jycs/jycs/cdump'
db_block_size=8192
db_domain=''
db_name='jycs'
db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
db_recovery_file_dest_size=3882M
diagnostic_dest='/u01/app/oracle'
dispatchers='(PROTOCOL=TCP) (SERVICE=jycsXDB)'
log_buffer=7192576 # log buffer update
open_cursors=300
optimizer_dynamic_sampling=2
optimizer_mode='ALL_ROWS'
pga_aggregate_target=200M
plsql_warnings='DISABLE:ALL' # PL/SQL warnings at init.ora
processes=150
query_rewrite_enabled='TRUE'
remote_login_passwordfile='EXCLUSIVE'
result_cache_max_size=3104K
sga_target=604M
skip_unusable_indexes=TRUE
undo_tablespace='UNDOTBS1'

如果使用缺省的spfile文件名和缺省位置或者指定一个spfile文件名和位置,如果存在一个同名的spfile文件名它将覆盖这个文件而不会有警告信息。

当从一个文本初始化参数文件创建服务器参数文件spfile时,在初始化参数文件中在相同行的特定注释会作为参数设置在spfile文件中被维护,所有其它的注释会被忽略。

oracle建议你允许数据库给spfile使用缺省名和缺省存储位置,这简化的数据库的管理,比如使用startup命令就会从缺省位置读取spfile文件。

下面的表格显示了在UNIX,Linux和Windows平台上的文本初始化参数文件pfile和服务器参数文件spfile的缺省文件名和存储位置。

PFILE and SPFILE Default Names and Locations on UNIX, LInux, and Windows
-------------------------------------------------------------------------------------------------------------
platform      pfile default name    spfile default name     pfile default location   spfile default location
-------------------------------------------------------------------------------------------------------------
unix,linux    initORACLE_SID.ora    spfileORACLE_SID.ora    ORACLE_HOME/dbs或者       不使用oracle asm:
                                                            与数据文件在同一个目录       ORACLE_HOME/dbs或者与
                                                                                      数据文件在同一个目录
                                                                                      使用oracle asm:与数据文件
                                                                                      在同一个磁盘组

windows       initORACLE_SID.ora    spfileORACLE_SID.ora    ORACLE_HOME\database      不使用oracle asm:
                                                                                      ORACLE_HOME\database
                                                                                      使用oracle asm:与数据文件
                                                                                      在同一个磁盘组
---------------------------------------------------------------------------------------------------------------

注意:在启动时,实例首先搜索一个名叫spfileORACLE_SID.ora的spfile文件,如果没有找到就会搜索spfile.ora文件;
使用spfile.ora能让所有的oracle rac实例使用相同的服务器参数文件;
如果spfile没找到,实例将搜索文本初始化参数文件initORACLE_SID.ora;
如果你不是在缺省位置创建一个spfile文件那么你必须创建一个缺省的pfile在pfile文件的根部指示这个服务器参数文件;
当使用dbca创建数据库且使用oracle asm时,dbca将会把spfile存储在一个oracle asm磁盘组也会在pfile文件的部指示这个服务器参数文件;

spfile初始化参数

spfile初始化参数包含了当前服务器参数文件的名字,当数据库使用缺省的服务器参数文件时,也就是执行没有pfile参数的startup命令时,这个spfile的值由服务器内部指定。在SQL*Plus中执行show parameter spfile(或任何其它的方法来查询参数的值)来显示当前使用的服务器参数文件名.
改变初始化参数值
使用alter system语句来设置,修改或还原初始化参数值。如果你正使用一个文本初始化参数文件,alter system语句就只能对当前实例改变参数的值,因为没有机制可以自动更新磁盘上的文本初始化参数文件,你必须手工更新,使用服务器参数文件可以克服这个问题。
有两种类型的初始化参数文件
动态初始化参数对于当前oracle实例是可以修改的,这种改变会立即生效。
静态初始化参数对于当前实例是不能修改的,必须修改文本初始化参数文件或者服务器参数文件中的参数然后重新启动实例使修改生效。

设置或修改初始化参数值

使用有set子句的alter system的语句来设置或修改初始化参数的值.可选scope子句用来指定修改的范围:

----------------------------------------------------------------------------------------------------
scope clause                       description
----------------------------------------------------------------------------------------------------
scope=spfile                      这种修改只应用于服务器参数文件.它的效果如下:
                                  .对当前实例不会生效
                                  .对于动态和静态参数只有在重启实例之后才会生效
                                  这是唯一可以修改静态参数的scope范围级别

scope=memory                      这种修改只应用于内存.它的效果如下:
                                  .这种改变只应用于当前实例且会立即生效
                                  .对于动态参数会立即生效.但是不是永久生效因为没有更新spfile文件
                                  对于静态参灵数不能在这个范围级别进行修改

scope=both                        这种修改应用于服务器参数文件和内存,它的效果如下:
                                  .对于当前实例这种改变会立即生效
                                  .对于动态参数会永久生效因为修改了服务器参数文件.
                                  对于静态参数不能在这个范围级别进行修改
----------------------------------------------------------------------------------------------------

如果使用cope=spfile或scope=both设置的参数有错误,实例使用服务器参数文件是不能启动的。

如果实例是使用服务器参数文件启动的,那么缺省的参数修改范围级别为scope=both。.如果实例是使用文本初始化参数文件来启动的,那么缺省的参数修改范围级别为scope=memory。

对于动态参数,还可以指定deferred关键字.当指定这个关键字后改变只对以后的会话生效.

当你设置scope为spfile或both时可以选择comment子句来对参数使用一个文本字符串作为注释,这个注释也会被写入服务器参数文件中.

下面的语句将修改在连接被删除之前允许的登录失败的最大次数.它包含了一注释且明确地指出了修改只对服务器参数文件生效;

SQL>ALTER SYSTEM SET SEC_MAX_FAILED_LOGIN_ATTEMPTS=3 COMMENT='Reduce from 10 for tighter security.' SCOPE=SPFILE;

下面的例子介绍了如何对复杂初始化参数进行设置这个参数有一个列表属性.下面的语句可以改变已经存在的设置或者使用一个新的归档目录

SQL>ALTER SYSTEM
2 SET LOG_ARCHIVE_DEST_4='LOCATION=/u02/oracle/rbdb1/',MANDATORY,'REOPEN=2'
3 COMMENT='Add new destination on Nov 29'
4 SCOPE=SPFILE;

当一个参数值是由列表值组成,你不能通过位置或者次序数字来统计单个属性。在每次修改这个参数时必须指定一个完全列表值,新的完全列表可以替换旧的参数列表值。
清除初始化参数值

可以使用alter system reset命令来清除(删除)实例启动时所用的spfile文件中的任何参数设置,scope=memory和scope=both是不被允许的,scope=spfile子句不被要求但可以包含。

你可能想清除spfile文件中的一个参数使其在下次启动时使用缺省参数值,这样做可能有以下几种原因:

1、为了诊断列出当前实例的所有参数值,可以使用show parameters命令或者查询v$parameter或v$parameter2视图;

2、为了修改服务器参数文件首先要将其导出创建成文本初始化参数文件再修改,修改后再使用create spfile命令从文本初始化参数文件来重新创建服务器参数文件;
导出的文本初始化参数文件pfile可以使用startup pfile命令来启动实例.

3、为了执行create pfile语句必须要有sysdba或sysoper系统权限,导出的文件在数据库服务器端生成,它可能包含了参数的注释并一起作为参数被设置;
下面的语句用来从spfile文件来创建pfile

SQL>create pfile from spfile;

因为没有指定文件名,数据库将使用一个平台特定的文件名来创建一个文本初始化参数文件pfile,而且它是使用平台特定的缺省的服务器参数文件spfile来创建的

下面的语句用来从spfile文件来创建pfile,但是指定了文件名:

SQL>CREATE PFILE='/u01/oracle/dbs/test_init.ora' FROM SPFILE='/u01/oracle/dbs/test_spfile.ora';

注意:可以使用内存中的当前参数值来创建一个pfile文件.例如:

SQL>CREATE PFILE='/u01/oracle/dbs/test_init.ora' FROM MEMORY;

备份服务器参数文件

可以通过导出的形式来备份服务器参数文件,如果你的数据库使用rman来实例备份和恢复策略,那么可以使用rman来创建一个spfile文件的备份。当使用rman备份数据库时spfile文件会自动备份,但是rman也能让你指定对当前活动的spfile创建一个备份.

恢复丢失或者损坏的服务器参数文件
如果服务器参数文件(spfile)丢失或者损坏了,那么当前实例可能会出现故障或者在下次启动实例时会失败.有下面几种方法来恢复spfile:
如果实例正在运行可以使用下面的命令从内存中使用当前参数值来重新创建一个服务器参数文件spfile

SQL>create spfile from memory;

这个命令将在缺省位置使用缺省文件名来创建一个spfile文件,也可以指定新的目录和文件名。

如果你有一个有效的文本初始化参数文件(pfile),可以使用下面的命令从pfile文件来创建spfile。

SQL>create spfile from pfile;

这个命令将在缺省位置使用缺省文件名来创建一个spfile文件,或者不使用缺省位置的缺省的pfile来创建的语句如下:

SQL>CREATE SPFILE='/u01/oracle/dbs/test_spfile.ora' FROM PFILE='/u01/oracle/dbs/test_init.ora';

从备份中还原spfile

如果你的情况以上方法都不能使用,那么执行以下步骤来创建:
1、从告警日志(alert.log)中所列出的参数值来创建一个文本初始化参数文件(pfile)
当实例启动时所使用的初始化参数将会写入告警日志文件中.可以将这些参数信息复制到新的pfile文件中。
2、使用pfile文件来创建spfile

在参数更新时出现读/写错误

在参数被更新时如果读取或者写服务器参数文件出错,那么这个错误报告会被写入告警日志文件,且后继的对服务器参数文件的更新将会忽略,这时可以执行下面的操作:
1)关闭实例,恢复服务器参数文件后再重新启动实例;
2)如果不关心后继的参数修改是不是永久生效,可以继续运行数据库;
查看参数设置
可以使用以下几种方法来查看参数设置
```sql

方法 描述

show parameters 这个命令将会显示影响当前会话的初始化参数值

show spparameters 这个命令将会显示服务器参数文件中的初始化参数值

create pfile 这个命令将使用服务器参数文件或者内存中当前参数的值
来创建一个文本初始化参数文件.可以使用任何文本编辑器
来查看pfile

v$parameter 这个视图将显示影响当前会话的初始化参数.使用视图更容易
区分列表参数值因为每一个列表参数值显示为一行

v$system_parameter 这个视图显示影响当前实例的初始化参数.一个新的会话会继承
实例级别的参数值

v#system_parameter2 这个视图显示影响当前实例的初始化参数.一个新的会话会继承
实例级别的参数值,使用视图更容易区分列表参数值因为每一个
列表参数值显示为一行

v$spparameter 这个视图显示了spfile的当前内容.如果实例没有使用spfile启动
这个视图在isspecified列返回false.








转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 289211569@qq.com