暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 数据库应急宝典(二)_参数文件篇

IT小Chen 2021-04-19
2662

一:参数设置不合理,导致数据库无法启动问题汇总

二:spfile备份和恢复

三:spfile优势

四:如何查看参数值

五:参数的分类

六:初始化参数的可选项目

七:查看当前是否使用了spfile

八:实例启动最小参数需求

一:参数设置不合理,导致数据库无法启动问题汇总

    因为参数设置不准确,导致数据库无法启动的案例时有发生,例如在配置控制文件多路径等,设置了错误的路径,重启实例后,数据库无法nomount。
    此类问题解决思路基本都是一样的:
    编辑参数文件,将值改正确了,在启动数据库即可。
    但是通常情况下数据库使用的参数文件是spfile,在数据库无法nomount情况下无法通过命令修改,
    此时只能将当前的spfile转换出可编辑的pfile文件,在新pfile文件修改正确值后,在转换出新spfil在启动数据库。
    不同平台,不同数据库版本,操作略有不同。

    场景1:单实例(Linux/Unix)下,参数设置失败导致无法nomount

      1 创建临时pfile 
      create pfile='/tmp/pfile_202010417.ora' from spfile;

      2 修改正确的参数
      vi /tmp/pfile_202010417.ora

      3 以新pfile执行nomount
      startup pfile='/tmp/pfile_202010417.ora'

      4 创建新spfile
      create spfile from pfile='/tmp/pfile_202010417.ora';

      5 重启数据库
      shutdown immediate
      startup

      场景2::单实例(Windows)下,参数设置失败导致无法nomount

        1 编写临时参数文件
        由于Windows平台下,如果因为参数问题导致无法启动服务,使用SQLPLUS工具时,可能会遇到"ORA-12560: TNS: 协议适配器错误"错误。
        在这种情况下,可以用记事本编辑一个pfilecjc.ora参数文件,包含如下两行:
        SPFILE='/oracle/db/product/11.2.0/dbs/spfilecjc.ora'
        参数名='参数值'
        因为数据库在读取参数值时,如果设置了多个相同的参数,会以最后读取的参数值为准。
        第一行指向 SPFILE,第二行修正了出错的参数,给一个正确的值。这个值在实例启动时会覆盖之前错误的设置,就可以使用这个文件启动数据库实例了。

        2 生成新参数文件
        create pfile='/tmp/pfilecjc.ora' from spfile;

        3 重启数据库
        shutdown immediate
        startup

        场景3:11g RAC下,参数设置失败导致无法nomount

          在RAC下,需要注意spfile默认存储在ASM里,不要在$ORACLE_HOME/dbs下创建spfile文件,同时pfile内容应该只有一条指向spfile的数据,12cRAC开始,pfile也不会存储在本地文件系统了。
          1 创建临时pfile
          create pfile='/tmp/pfile_202010417.ora' from spfile='+CJC_DATA/XXX/spfilecjc.ora';

          2 修改为正确的参数
          vi /tmp/pfile_202010417.ora

          3 以新pfile执行nomount
          startup nomount pfile='/tmp/pfile_202010417.ora'

          4 创建新spfile
          create spfile='+CJC_DATA' from pfile='/tmp/pfile_202010417.ora';

          5 查看新产生spfile路径和位置
          su - grid
          asmcmd
          cd $ORACLE_HOME/dbs

          6 pfile修改新的spfile位置
          vi initcjc1.ora
          SPFILE='+DATA/cjcdb/spfile/spfilecjcdb.oraXXX'

          7 查看ocr记录的spfile位置
          srvctl config database -d dbname -a

          8修改OCR中spfile位置
          srvctl modify database -d cjcdb -p '+DATA/cjcdb/spfile/spfilecjcdb.ora'

          9 重启实例
          shutdown immediate
          startup

          场景4:12c及以上 RAC下,,参数设置失败导致无法nomount

            1 创建临时pfile 
            create pfile='/tmp/pfile_202010417.ora' from spfile='+CJC_DATA/XXX/spfilecjc.ora';

            2 修改为正确的参数
            vi tmp/pfile_202010417.ora

            3 以新pfile执行nomount
            startup nomount pfile='/tmp/pfile_202010417.ora'

            4 创建新spfile
            create spfile='+CJC_DATA' from pfile='/tmp/pfile_202010417.ora';

            5 重启数据库
            shutdown immediate
            startup

            场景5:reset参数

              有的参数修改,在RAC架构下,需要两个节点同时重启生效,例如db_recovery_file_dest_size、_gc_undo_affinity、_gc_policy_time等;
              有的参数可以分节点单独重启生效,例如process等;
              在可以分节点重启生效的参数修改时,如果第一个节点参数设置有问题,重启节点1实例启动失败,这时可以在节点2手动将参数改回原来的值或正确的值,在启动节点1即可。。
              可以重置spfile中设置的参数。
              当我们想恢复某个参数为缺省值时,可以使用如下命令:
              alter system reset parameter <scope=memory|spfile|both> sid=’sid|*’;
              相当于在spfile中删除此参数,再次启动实例时会以默认值启动。

              场景6:参数文件丢失,且数据库在启动状态(from memory)

                从 Oracle 11g 开始,为了增强参数文件的恢复,一个新的命令被引入,用于从当前运行实例取出参数值:
                create <spfile|pfile> from memory;
                这一增强简化了我们在某些条件下的参数文件恢复,感兴趣可以跟踪下递归命令。
                SQL> alter session set sql_trace=true;
                SQL> create spfile='/tmp/spfilecjc.ora' from memory;

                场景7:参数文件丢失,且数据库在启动状态(v$parameter)

                  生成创建参数文件的文本
                  set linesize 120
                  set pagesize 1000
                  set heading off
                  set feedback off
                  spool tmp/initcjc_tmp.ora
                  select '*.'||name||' = ' || value from v$parameter where isdefault = 'FALSE';
                  spool off
                  文本如下:
                  *.processes = 300
                  *.nls_language = AMERICAN
                  *.nls_territory = AMERICA
                  *.memory_target = 1375731712
                  *.memory_max_target = 1375731712
                  *.control_files = u01/app/oracle/oradata/chendb/control01.ctl, u01/app/oracle/oradata/chendb/control02.ctl
                  *.db_file_name_convert = u01/app/oracle/oradata/CJCDB/, u01/app/oracle/oradata/chendb/, u01/app/oracle/oradata/CJCDB/cjcpdb/, u01/app/oracle/oradata/chendb/chenpdb/
                  *.log_file_name_convert = u01/app/oracle/oradata/CJCDB/, u01/app/oracle/oradata/chendb/, u01/app/oracle/oradata/CJCDB/cjcpdb/, u01/app/oracle/oradata/chendb/chenpdb/
                  *.db_block_size = 8192
                  *.compatible = 19.0.0
                  *.log_archive_dest_1 = LOCATION=/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=chendb
                  *.log_archive_dest_2 = SERVICE=cjcdb ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=cjcdb
                  *.log_archive_dest_state_1 = ENABLE
                  *.log_archive_dest_state_2 = DEFER
                  *.fal_server = cjcdb
                  *.log_archive_trace = 8191
                  *.log_archive_config = DG_CONFIG=(chendb,cjcdb)
                  *.log_archive_format = cjcpdb_arch_%t_%s_%r.arc
                  *.db_recovery_file_dest = flashbak
                  *.db_recovery_file_dest_size = 12884901888
                  *.standby_file_management = AUTO
                  *.enable_goldengate_replication = TRUE
                  *.undo_tablespace = UNDOTBS1
                  *.inmemory_size = 0
                  *.recyclebin = OFF
                  *.remote_login_passwordfile = EXCLUSIVE
                  *.dispatchers = (PROTOCOL=TCP) (SERVICE=chendbXDB)
                  *.local_listener =
                  *.audit_file_dest = u01/app/oracle/admin/chendb/adump
                  *.audit_trail = DB
                  *.db_name = cjcdb
                  *.db_unique_name = chendb
                  *.open_cursors = 300
                  *.diagnostic_dest = u01/app/oracle
                  *.enable_pluggable_database = TRUE

                  二:spfile的备份和恢复

                    Oracle把spfile也纳入到rman的备份恢复策略当中,
                    如果配置了控制文件自动备份,那么Oracle会在数据库发生重大变化(如增减表空间)时自动进行控制文件及Spfile文件的备份。
                    CONFIGURE CONTROLFILE AUTOBACKUP ON;
                    查看rman配置
                    select * from v$rman_configuration;
                    检查备份信息
                    select * from v$backup_spfile;

                    RMAN> list backup of spfile;
                    恢复spfile和controlfile
                    RMAN> restore spfile to '/tmp/spfileeygle.ora' from autobackup;
                    RMAN> restore controlfile to '/tmp/control01.ctl' from autobackup;

                    三:spfile优势

                      参数文件是一个包含一系列参数及参数对应值的操作系统文件。
                      参数文件有两种类型:
                      初始化参数文件(Initialization Parameters Files)-Oracle9i之前Oracle一直采用pfile方式存储初始化参数,该文件为文本文件。可以手工修改。
                      服务器参数文件(Server Parameter Files)-从Oracle9i开始,Oracle引入的spfile文件,该文件为二进制格式,不能通过手工修改。
                      spfile比pfile优势:
                      1 动态参数设置不需要重启实例生效。
                      2 不需要手动编辑pfile文本文件,减少误操作风险。
                      3 可以rman备份。

                      四:如何查看参数值

                        1 V$SYSTEM_PARAMETER
                        显示当前对于实例(INSTANCE)级别生效的参数设置


                        2 V$PARAMETER
                        显示在会话级别生效的参数设置
                        如果在会话级别修改了参数设置,这里的参数值就可能和V$SYSTEM_PARAMETER 显示的有所不同。


                        3 V$PARAMETER2
                        对应于V$PARAMETER视图,还存在一个V$PARAMETER2视图,这个视图和V$PARAMETER的区别在于,对于存在多个参数值的参数,在这个视图中分多行记录。
                        select name,value from v$parameter where name='control_files';
                        select name,value from v$parameter2 where name='control_files';


                        4 V$SPPARAMETER
                        随着SPFILE的引入,一个新的视图V$SPPARAMETER被引入,这个视图用于记录SPFILE文件中设置的初始化参数:
                        select sid,name,value from v$spparameter where value is not null;
                        v$spparameter视图是建立在一个新的X$KSPSPFILE数据字典表之上的。


                        5 show parameter和show spparameter
                        例如:show parameter sga_max_size
                          实际上后台是在查询V$PARAMETER
                          跟踪
                          show parameter sga_max_size
                          alter session set sql_trace=true;
                          show parameter sga_max_size
                          alter session set sql_trace=false;
                          select value from v$diag_info where name = 'Default Trace File';
                          VALUE
                          --------------------------------------------------------------------------------
                          /u01/app/oracle/diag/rdbms/chendb/chendb/trace/chendb_ora_2498.trc
                          [oracle@cjcos02 trace]$ tkprof chendb_ora_2498.trc cjc_001a.trc
                          [oracle@cjcos02 trace]$ vi cjc_001a.trc
                          实际执行如下:
                          SELECT NAME NAME_COL_PLUS_SHOW_PARAM,
                          DECODE(TYPE,
                          1,
                          'boolean',
                          2,
                          'string',
                          3,
                          'integer',
                          4,
                          'file',
                          5,
                          'number',
                          6,
                          'big integer',
                          'unknown') TYPE,
                          DISPLAY_VALUE VALUE_COL_PLUS_SHOW_PARAM
                          FROM V$PARAMETER
                          WHERE UPPER(NAME) LIKE UPPER(:NMBIND_SHOW_OBJ)
                          ORDER BY NAME_COL_PLUS_SHOW_PARAM, ROWNUM;

                          同理,执行show spparameter sga_max_size,跟踪SQL如下:
                          SELECT SID SID_COL_PLUS_SHOW_SPPARAM,
                          NAME NAME_COL_PLUS_SHOW_SPPARAM,
                          TYPE,
                          DISPLAY_VALUE VALUE_COL_PLUS_SHOW_SPPARAM
                          FROM V$SPPARAMETER
                          WHERE UPPER(NAME) LIKE UPPER(:NMBIND_SHOW_OBJ)
                          ORDER BY NAME_COL_PLUS_SHOW_SPPARAM, VALUE_COL_PLUS_SHOW_SPPARAM;


                          那么v$parameter和v$spparameter来自哪里?
                          ---SYNONYM
                          select * from dba_objects where object_name='V$PARAMETER';
                          ---VIEW
                          select * from dba_objects where object_name='V_$PARAMETER';
                          select dbms_metadata.get_ddl('SYNONYM','V$PARAMETER','PUBLIC') from dual;
                          /*CREATE OR REPLACE NONEDITIONABLE PUBLIC SYNONYM "V$PARAMETER" FOR "SYS"."V_$PARAMETER"*/
                          select dbms_metadata.get_ddl('VIEW','V_$PARAMETER','SYS') from dual;
                          /*CREATE OR REPLACE FORCE NONEDITIONABLE VIEW "SYS"."V_$PARAMETER" CONTAINER_DATA
                          ("NUM", "NAME", "TYPE", "VALUE", "DISPLAY_VALUE", "DEFAULT_VALUE", "ISDEFAULT", "ISSES_MODIFIABLE", "ISSYS_MODIFIABLE", "ISPDB_MODIFIABLE", "ISINSTANCE_MODIFIABLE", "ISMODIFIED", "ISADJUSTED", "ISDEPRECATED", "ISBASIC", "DESCRIPTION", "UPDATE_COMMENT", "HASH", "CON_ID") AS
                          select "NUM","NAME","TYPE","VALUE","DISPLAY_VALUE","DEFAULT_VALUE","ISDEFAULT","ISSES_MODIFIABLE","ISSYS_MODIFIABLE","ISPDB_MODIFIABLE","ISINSTANCE_MODIFIABLE","ISMODIFIED","ISADJUSTED","ISDEPRECATED","ISBASIC","DESCRIPTION","UPDATE_COMMENT","HASH","CON_ID" from v$parameter*/
                          select * from v$fixed_view_definition where view_name = 'V_$PARAMETER';
                          select * from v$fixed_view_definition where view_name = 'GV$PARAMETER';
                          select /*+ use_hash(x y) */
                          x.inst_id,
                          x.indx + 1,
                          ksppinm,
                          ksppity,
                          ksppstvl,
                          ksppstdvl,
                          ksppstdfl,
                          ksppstdf,
                          decode(bitand(ksppiflg / 256, 1), 1, 'TRUE', 'FALSE'),
                          decode(bitand(ksppiflg / 65536, 3),
                          1,
                          'IMMEDIATE',
                          2,
                          'DEFERRED',
                          3,
                          'IMMEDIATE',
                          'FALSE'),
                          decode(bitand(ksppiflg / 524288, 1), 1, 'TRUE', 'FALSE'),
                          decode(bitand(ksppiflg, 4),
                          4,
                          'FALSE',
                          decode(bitand(ksppiflg / 65536, 3), 0, 'FALSE', 'TRUE')),
                          decode(bitand(ksppstvf, 7), 1, 'MODIFIED', 4, 'SYSTEM_MOD', 'FALSE'),
                          decode(bitand(ksppstvf, 2), 2, 'TRUE', 'FALSE'),
                          decode(bitand(ksppilrmflg / 64, 1), 1, 'TRUE', 'FALSE'),
                          decode(bitand(ksppilrmflg / 268435456, 1), 1, 'TRUE', 'FALSE'),
                          ksppdesc,
                          ksppstcmnt,
                          ksppihash,
                          y.con_id
                          from x$ksppi x, x$ksppcv y
                          where (x.indx = y.indx)
                          and bitand(ksppiflg, 268435456) = 0
                          and ((translate(ksppinm, '_', '$') not like '$$%') and
                          ((translate(ksppinm, '_', '$') not like '$%') or
                          (ksppstdf = 'FALSE') or (bitand(ksppstvf, 5) > 0)));

                            6 隐含参数
                            select a.ksppinm name, b.ksppstvl value, a.ksppdesc description
                            from x$ksppi a, x$ksppcv b
                            where a.indx = b.indx
                            and a.ksppinm like '_undo_autotune';
                              7 查看下参数是否动态参数
                              查看当前是否是默认参数
                              select * from v$parameter where isdefault='TRUE';
                              查看静态参数
                              SQL> set line 300
                              set pagesize 1000
                              col num for 999999
                              col name for a65
                              select num,name from v$parameter where ISSYS_MODIFIABLE='FALSE' ORDER by num;SQL> SQL> SQL> SQL>
                              NUM NAME
                              ------- -----------------------------------------------------------------
                              52 lock_name_space
                              53 processes
                              106 standby_db_preserve_states
                              136 instance_groups
                              145 event
                              160 sga_max_size
                              167 use_large_pages
                              176 pre_page_sga
                              177 shared_memory_address
                              178 hi_shared_memory_address
                              180 lock_sga
                              234 processor_group_name
                              264 allow_group_access_to_sga
                              287 shared_pool_reserved_size
                              290 java_soft_sessionspace_limit
                              291 java_max_sessionspace_size
                              317 instance_type
                              368 nls_language
                              369 nls_territory
                              370 nls_sort
                              371 nls_date_language
                              372 nls_date_format
                              373 nls_currency
                              374 nls_numeric_characters
                              375 nls_iso_currency
                              376 nls_calendar
                              377 nls_time_format
                              378 nls_timestamp_format
                              379 nls_time_tz_format
                              380 nls_timestamp_tz_format
                              381 nls_dual_currency
                              382 nls_comp
                              389 disk_asynch_io
                              390 tape_asynch_io
                              392 dbwr_io_slaves
                              404 fileio_network_adapters
                              406 filesystemio_options
                              407 dnfs_batch_size
                              422 clonedb
                              423 instant_restore
                              763 cluster_interconnects
                              866 threaded_execution
                              952 clonedb_dir
                              963 enable_dnfs_dispatcher
                              1074 gcs_server_processes
                              1091 active_instance_count
                              1238 instance_mode
                              1561 memory_max_target
                              1595 control_files
                              1604 db_file_name_convert
                              1605 log_file_name_convert
                              1613 db_block_buffers
                              1618 db_ultra_safe
                              1619 db_block_size
                              1678 db_writer_processes
                              1707 buffer_pool_keep
                              1708 buffer_pool_recycle
                              1845 compatible
                              1927 log_archive_start
                              1959 log_archive_format
                              1998 log_buffer
                              2069 db_files
                              2074 read_only_open_delayed
                              2075 cluster_database
                              2076 cluster_database_instances
                              2544 adg_account_info_tracking
                              2547 dml_locks
                              2552 replication_dependency_tracking
                              2561 transactions
                              2562 transactions_per_rollback_segment
                              2583 rollback_segments
                              2585 undo_management
                              2685 instance_number
                              3276 serial_reuse
                              3288 ldap_directory_sysauth
                              3289 os_roles
                              3290 rdbms_server_dn
                              3293 remote_os_authent
                              3294 remote_os_roles
                              3302 remote_login_passwordfile
                              3309 audit_sys_operations
                              3315 DBFIPS_140
                              3317 external_keystore_credential_location
                              3338 unified_audit_sga_queue_size
                              3348 wallet_root
                              3351 db_domain
                              3353 distributed_lock_timeout
                              3356 commit_point_strength
                              3370 instance_name
                              3407 cursor_space_for_time
                              3437 permit_92_wrap_format
                              3440 java_restrict
                              3447 parallel_min_percent
                              3453 create_bitmap_area_size
                              3454 bitmap_merge_area_size
                              3512 parallel_execution_message_size
                              3524 hash_area_size
                              3625 audit_syslog_level
                              3626 unified_audit_systemlog
                              3627 unified_audit_common_systemlog
                              3645 session_max_open_files
                              3653 open_links
                              3654 open_links_per_instance
                              3665 audit_trail
                              3693 db_name
                              3694 db_unique_name
                              3696 ifile
                              3698 os_authent_prefix
                              3705 sql92_security
                              3708 blank_trimming
                              4520 sec_max_failed_login_attempts
                              4521 sec_return_server_release_banner
                              4527 client_result_cache_size
                              4528 client_result_cache_lag
                              5115 tracefile_identifier
                              5158 enable_pluggable_database
                              5162 pdb_os_credential
                              5166 noncdb_compatible
                              5169 common_user_prefix
                              5177 target_pdbs
                              5185 cdb_cluster
                              5186 cdb_cluster_name
                              122 rows selected.

                              五:参数的分类

                                参数文件分类,可以分pfile和spfile。
                                数据库参数分类,又可以分推导参数、操作系统依赖参数、可变参数、动态参数、静态参数、隐含参数、废弃参数等

                                  1 推导参数(Derived Parameters)
                                  http://www.dba-oracle.com/t_derived_parameters.htm
                                  Some initialization parameters are derived, meaning that their values are calculated from the values of other parameters. Normally, you should not alter values for derived parameters, but if you do, then the value you specify will override the calculated value.
                                  For example, the default value of the SESSIONS parameter is derived from the value of the PROCESSES parameter. If the value of PROCESSES changes, then the default value of SESSIONS changes as well, unless you override it with a specified value.
                                  推导参数通常来自于其他参数的运算,依赖其他参数得来。
                                  这类参数通常不需要修改,如果强制修改,那么修改值会覆盖推导值。
                                  例如:SESSIONS参数,在Oracle 11gR2文档中,按以下公式得出:
                                  SESSIONS=(1.5*PROCESSES)+22
                                  oracle 10g公式如下:
                                  sessions=(1.1 * processes)+5
                                  select name,value from v$parameter where name in ('processes','sessions');

                                    2 操作系统依赖参数
                                    依赖于操作系统,例如db_cache_size值,依赖于操作系统物理内存值。

                                      3 可变参数
                                      按照修改方式划分
                                      初始化参数又可以分为动态参数和静态参数。

                                        4 动态参数
                                        select num,name from v$parameter where ISSYS_MODIFIABLE='IMMEDIATE';

                                          5 静态参数
                                          select num,name from v$parameter where ISSYS_MODIFIABLE='FALSE';

                                            6 显示参数
                                            可以通过v$parameter查询得到
                                            例如sga_target,session,process

                                              7 隐含参数
                                              常以"_"开头,必须通过查询系统表方能获得。
                                              例如 _allow_resetlogs_corruption、_allow_error_simulation、_minimum_giga_scn等。
                                                8 废弃参数
                                                select count(*) from V$OBSOLETE_PARAMETER;

                                                六 初始化参数的可选项目

                                                  Oracle的很多参数具有多个不同的可选值,可以通过 V$PARAMETER_VALID_VALUES
                                                  来进行查询,例如以下查询获得cursor_sharing 参数的三个可选设置:
                                                  SQL> select * from V$PARAMETER_VALID_VALUES where name like '%cursor%'; 
                                                  NUM NAME ORDINAL VALUE ISDEFAULT CON_ID
                                                  1 3458 cursor_sharing 1 FORCE FALSE 0
                                                  2 3458 cursor_sharing 2 EXACT TRUE 0
                                                  3 3458 cursor_sharing 3 SIMILAR FALSE 0
                                                  4 3946 cursor_bind_capture_destination 1 OFF FALSE 0
                                                  5 3946 cursor_bind_capture_destination 2 MEMORY FALSE 0
                                                  6 3946 cursor_bind_capture_destination 3 MEMORY+DISK FALSE 0
                                                  7 4389 cursor_invalidation 1 DEFERRED FALSE 0
                                                  8 4389 cursor_invalidation 2 IMMEDIATE TRUE 0


                                                  这个视图是基于 X$KSPVLD_VALUES 建立起来的,也可以查询 X$视图来直接获得这些设置选项:
                                                  SELECT INST_ID,
                                                  PARNO_KSPVLD_VALUES pvalid_par#,
                                                  NAME_KSPVLD_VALUES pvalid_name,
                                                  VALUE_KSPVLD_VALUES pvalid_value,
                                                  DECODE(ISDEFAULT_KSPVLD_VALUES, 'FALSE', '', 'DEFAULT') pvalid_default
                                                  FROM X$KSPVLD_VALUES
                                                  WHERE LOWER(NAME_KSPVLD_VALUES) LIKE LOWER('%cursor%')
                                                  ORDER BY pvalid_par#, pvalid_default, pvalid_Value;
                                                  INST_ID PVALID_PAR# PVALID_NAME PVALID_VALUE PVALID_DEFAULT
                                                  1 1 3458 cursor_sharing EXACT DEFAULT
                                                  2 1 3458 cursor_sharing FORCE
                                                  3 1 3458 cursor_sharing SIMILAR
                                                  4 1 3718 _optimizer_extended_cursor_sharing NONE
                                                  5 1 3718 _optimizer_extended_cursor_sharing UDO
                                                  6 1 3719 _optimizer_extended_cursor_sharing_rel NONE
                                                  7 1 3719 _optimizer_extended_cursor_sharing_rel SIMPLE
                                                  8 1 3946 cursor_bind_capture_destination MEMORY
                                                  9 1 3946 cursor_bind_capture_destination MEMORY+DISK
                                                  10 1 3946 cursor_bind_capture_destination OFF
                                                  11 1 4389 cursor_invalidation IMMEDIATE DEFAULT
                                                  12 1 4389 cursor_invalidation DEFERRED

                                                  七:查看当前是否使用了spfile

                                                    1 查看v$parameter
                                                    set line 200
                                                    col name for a10
                                                    col value for a65
                                                    SELECT name,value FROM v$parameter WHERE name='spfile';
                                                    NAME VALUE
                                                    ---------- -----------------------------------------------------------------
                                                    spfile /u01/app/oracle/product/19.0.0/dbhome_1/dbs/spfilechendb.ora


                                                    2 show parameter spfile
                                                    NAME             TYPE   VALUE
                                                    ------------------------------------ ----------- ------------------------------
                                                    spfile string /u01/app/oracle/product/19.0.0/dbhome_1/dbs/spfilechendb.ora


                                                    3 查看v$spparameter
                                                    如果以下查询返回0值,表示你在使用pfile,否则表明你使用的是spfile.
                                                    SELECT COUNT(*) FROM v$spparameter WHERE value IS NOT NULL;


                                                    4 查看v$spparameter 
                                                    如果true值返回非0值,那么说明我们使用的是spfile.
                                                    select isspecified, count(*) from v$spparameter group by isspecified;
                                                    ISSPECIFIED COUNT(*)
                                                    1 TRUE 43
                                                    2 FALSE 413

                                                    八:实例启动最小参数需求

                                                      Linux/Unix平台下:只需要设置一个db_name参数,就可以启动实例。
                                                      Windows平台下:需要先通过oradim.exe工具创建服务,然后才能使用参数启动实例。
                                                      例如:oradim -new -sid sid_name

                                                        实验如下(Linux/Unix平台):
                                                        [oracle@cjcos02 ~]$ export ORACLE_SID=cjcaaa
                                                        [oracle@cjcos02 ~]$ sqlplus / as sysdba
                                                        SQL> startup nomount
                                                        ORA-01078: failure in processing system parameters
                                                        LRM-00109: could not open parameter file '/u01/app/oracle/product/19.0.0/dbhome_1/dbs/initcjcaaa.ora'

                                                          设置参数
                                                          [oracle@cjcos02 ~]$  echo "db_name=cjcaaa" > /home/oracle/initcjcaaa.ora

                                                            启动实例
                                                            [oracle@cjcos02 ~]$ sqlplus / as sysdba
                                                            SQL> startup nomount pfile='/home/oracle/initcjcaaa.ora'
                                                            ORACLE instance started.
                                                            Total System Global Area 243268216 bytes
                                                            Fixed Size 8895096 bytes
                                                            Variable Size 180355072 bytes
                                                            Database Buffers 50331648 bytes
                                                            Redo Buffers 3686400 bytes

                                                              启动实例,会自动创建日志相关目录和文件
                                                              [oracle@cjcos02 rdbms]$ pwd
                                                              /u01/app/oracle/diag/rdbms
                                                              [oracle@cjcos02 rdbms]$ ls
                                                              chendb cjcaaa difo_pitr_cjcpdb_cjcdb
                                                              [oracle@cjcos02 trace]$ pwd
                                                              /u01/app/oracle/diag/rdbms/cjcaaa/cjcaaa/trace
                                                              [oracle@cjcos02 trace]$ ls -l
                                                              total 120
                                                              -rw-r----- 1 oracle oinstall 6918 Apr 18 16:54 alert_cjcaaa.log
                                                              -rw-r----- 1 oracle oinstall 974 Apr 18 16:54 cjcaaa_dbrm_3954.trc
                                                              -rw-r----- 1 oracle oinstall 861 Apr 18 16:54 cjcaaa_dbrm_3954.trm
                                                              -rw-r----- 1 oracle oinstall 1716 Apr 18 16:54 cjcaaa_dia0_3962_base_1.trc
                                                              -rw-r----- 1 oracle oinstall 858 Apr 18 16:54 cjcaaa_dia0_3962_base_1.trm
                                                              -rw-r----- 1 oracle oinstall 1219 Apr 18 16:54 cjcaaa_dia0_3962.trc
                                                              -rw-r----- 1 oracle oinstall 874 Apr 18 16:54 cjcaaa_dia0_3962.trm
                                                              -rw-r----- 1 oracle oinstall 4060 Apr 18 16:54 cjcaaa_fenc_3984.trc
                                                              -rw-r----- 1 oracle oinstall 892 Apr 18 16:54 cjcaaa_fenc_3984.trm
                                                              -rw-r----- 1 oracle oinstall 1145 Apr 18 16:54 cjcaaa_lreg_3980.trc
                                                              -rw-r----- 1 oracle oinstall 928 Apr 18 16:54 cjcaaa_lreg_3980.trm
                                                              -rw-r----- 1 oracle oinstall 1246 Apr 18 16:54 cjcaaa_m000_3998.trc
                                                              -rw-r----- 1 oracle oinstall 871 Apr 18 16:54 cjcaaa_m000_3998.trm
                                                              -rw-r----- 1 oracle oinstall 950 Apr 18 16:54 cjcaaa_mmon_3986.trc
                                                              -rw-r----- 1 oracle oinstall 861 Apr 18 16:54 cjcaaa_mmon_3986.trm
                                                              -rw-r----- 1 oracle oinstall 972 Apr 18 16:54 cjcaaa_ofsd_3951_3952.trc
                                                              -rw-r----- 1 oracle oinstall 866 Apr 18 16:54 cjcaaa_ofsd_3951_3952.trm
                                                              -rw-r----- 1 oracle oinstall 19983 Apr 18 16:54 cjcaaa_ora_3894.trc
                                                              -rw-r----- 1 oracle oinstall 2024 Apr 18 16:54 cjcaaa_ora_3894.trm
                                                              -rw-r----- 1 oracle oinstall 1011 Apr 18 16:54 cjcaaa_svcb_3958.trc
                                                              -rw-r----- 1 oracle oinstall 861 Apr 18 16:54 cjcaaa_svcb_3958.trm
                                                              -rw-r----- 1 oracle oinstall 1097 Apr 18 16:54 cjcaaa_vkrm_3956.trc
                                                              -rw-r----- 1 oracle oinstall 861 Apr 18 16:54 cjcaaa_vkrm_3956.trm
                                                              -rw-r----- 1 oracle oinstall 1178 Apr 18 16:54 cjcaaa_vktm_3936.trc
                                                              -rw-r----- 1 oracle oinstall 890 Apr 18 16:54 cjcaaa_vktm_3936.trm
                                                              [oracle@cjcos02 ~]$ ps -ef|grep pmon|grep -v grep
                                                              oracle    3930     1  0 16:54 ?        00:00:00 ora_pmon_cjcaaa

                                                              ###2021-04-18 17:30 chenjuchao###

                                                              文章转载自IT小Chen,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                                              评论