zoukankan      html  css  js  c++  java
  • Oracle 无备份情况下的恢复--密码文件/参数文件

    13.1 恢复密码文件

    密码文件(linux 为例)在$ORACLE_HOME/dbs目录下,文件名的前缀是orapw,后接数据库实例名。

    [oracle@DSI backup]$ cd /u01/app/oracle/product/11.2.0/db_1/dbs/

    -rw-r----- 1 oracle oinstall     1536 Jul 25 10:15 orapworcl

    该文件只为两个权限服务:SYSDBASYSOPER

    密码文件的丢失或损坏导致需要访问该文件的相关操作都失败,比如,使用有SYSDBASYSOPER权限的远程登录都会失败,影响oracle的管理控制台 database consolegrid control

    $ sqlplus / as sysdba
    $ sqlplus sys/xxx@orcl as sysdba
    ERROR
    ORA-01031: insufficient privileges
    SQL> grant sysdba to hr
    ERROR
    ORA-01994: GRANT failed: password file missing or disabled

    若初始化参数remote_login_passwordfile的值为NONE,数据库的行为特征与密码文件损坏一模一样。

    密码文件的恢复很简单,使用orapwd命令重建一个密码文件

    $ orapwd file=$ORACLE_HOME/dbs/orapworcl password=oracle force=y

    --force参数覆盖已有的密码文件

    参数ignorecaseSYS的密码设置为11g以前的不区分大小写

    普通用户的密码大小写是否区分由参数sec_case_sensitive_logon.

    13.2 恢复参数文件

    没有参数文件db无法启动到nomount阶段,当参数文件损坏时没有备份,dba可以通过参数文件pfile的形式重建。

    首先查看告警日志,所有非默认的参数均记在其内,这是恢复参数文件最准确的方法

    [oracle@DSI dbs]$ cd /u01/app/oracle/diag/rdbms/orcl/orcl/trace/
    [oracle@DSI trace]$ tail -n 200 alert_orcl.log
    Using parameter settings in server-side spfile /u01/app/oracle/product/11.2.0/db_1/dbs/spfileorcl.ora
    System parameters with non-default values:
      processes                = 150
      memory_target            = 752M
      control_files            = "/u01/app/oracle/oradata/orcl/control01.ctl"
      control_files            = "/u01/app/oracle/fast_recovery_area/orcl/control02.ctl"
      db_block_size            = 8192
      compatible               = "11.2.0.4.0"
      db_recovery_file_dest    = "/u01/app/oracle/fast_recovery_area"
      db_recovery_file_dest_size= 4977M
      undo_tablespace          = "UNDOTBS1"
      remote_login_passwordfile= "EXCLUSIVE"
      db_domain                = ""
      dispatchers              = "(PROTOCOL=TCP) (SERVICE=orclXDB)"
      audit_file_dest          = "/u01/app/oracle/admin/orcl/adump"
      audit_trail              = "DB"
      db_name                  = "orcl"
      open_cursors             = 300
      diagnostic_dest          = "/u01/app/oracle"

    若连告警日志都没有了,dba应当理解那些参数是必须设置的

    11g在自动内存管理机制与新的诊断日志路径管理的帮助下,必须指定的参数

    DB_NAMECONTROL_FILES

    如果没有db_name参数,实例无法启动

    DB_NAMEDB_BLOCK_SIZECOMPATIBLE 可以在文件头部取得

    不设置或错误会报错

    ORA-01103

    ORA-00058

    参数compatible的特点是只能增大不能减小,默认是11.2.0

    参数instance_nameservice_name可以从环境变量oracle_sid、密码文件名及tnsname.ora文件中找回。

    参数processopen_cursorssessions可以考虑设置的大一些,

    其他参数尽量不设置,一般使用默认值就能打开数据库。

    不能打开数据库要具体分析。

    若在数据库运行时发现参数文件出了问题,可以使用11g的新命令“create pfile/spfile from memory” 从内存中创建一个pfile参数文件

    SQL> create pfile='/tmp/initorcl.ora.memory' from memory;
    File created.
    [oracle@DSI trace]$ cat /tmp/initorcl.ora.memory 
    # Oracle init.ora parameter file generated by instance orcl on 07/29/2019 15:20:17
    除非必要,应将以下画线起始的隐含参数删掉
    [oracle@DSI trace]$ grep -v '^(_|#).*' /tmp/initorcl.ora.memory >/tmp/initorcl.ora.nohidden
    [oracle@DSI trace]$ cat /tmp/initorcl.ora.nohidden

    注意,如果采用window自动打开资源管理计划的话,发现参数resource_manager_plan应该删掉

    等下次关闭db后,再将spfile创建回来

    SQL> create spfile from pfile=’/tmp/initorcl.ora.nohidden’;

    [oracle@DSI trace]$ grep -v '^(_|#).*' /tmp/initorcl.ora.memory
    # Oracle init.ora parameter file generated by instance orcl on 07/29/2019 15:20:17
    __db_cache_size=320M
    __java_pool_size=4M
    __large_pool_size=8M
    __oracle_base='/u01/app/oracle' # ORACLE_BASE set from environment
    __pga_aggregate_target=288M
    __sga_target=464M
    __shared_io_pool_size=0
    __shared_pool_size=120M
    __streams_pool_size=0
    _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.4.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_enable_table_lookup_by_nl=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=192
    _optimizer_false_filter_pred_pullup=TRUE
    _optimizer_fast_access_pred_analysis=TRUE
    _optimizer_fast_pred_transitivity=TRUE
    _optimizer_filter_pred_pullup=TRUE
    _optimizer_fkr_index_cost_bias=10
    _optimizer_full_outer_join_to_outer=TRUE
    _optimizer_group_by_placement=TRUE
    _optimizer_improve_selectivity=TRUE
    _optimizer_interleave_jppd=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_join_to_inner=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.4'
    _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_partition_scan_enabled=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/orcl/adump'
    audit_trail='DB'
    background_dump_dest='/u01/app/oracle/diag/rdbms/orcl/orcl/trace' #Deprecate parameter
    compatible='11.2.0.4.0'
    control_files='/u01/app/oracle/oradata/orcl/control01.ctl'
    control_files='/u01/app/oracle/fast_recovery_area/orcl/control02.ctl'
    core_dump_dest='/u01/app/oracle/diag/rdbms/orcl/orcl/cdump'
    db_block_size=8192
    db_domain=''
    db_name='orcl'
    db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
    db_recovery_file_dest_size=4977M
    diagnostic_dest='/u01/app/oracle'
    dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
    log_buffer=6479872 # log buffer update
    memory_target=752M
    open_cursors=300
    optimizer_dynamic_sampling=2
    optimizer_mode='ALL_ROWS'
    plsql_warnings='DISABLE:ALL' # PL/SQL warnings at init.ora
    processes=150
    query_rewrite_enabled='TRUE'
    remote_login_passwordfile='EXCLUSIVE'
    result_cache_max_size=1952K
    skip_unusable_indexes=TRUE
    undo_tablespace='UNDOTBS1'
    user_dump_dest='/u01/app/oracle/diag/rdbms/orcl/orcl/trace' #Deprecate parameter
    View Code
  • 相关阅读:
    什么?Spring Boot CommandLineRunner 有坑!?
    关于 websocket 跨域的一个奇怪问题…
    电商金额计算的 4 个坑,千万注意了!
    微服务模块划分原则和接口定义原则
    tcp的三次握手(连接)与四次挥手(断开)
    二叉树遍历及算法实现
    elasticsearch搜索 倒排索引
    kubernetes落地-传统web服务迁移
    Docker核心技术-容器管理
    Docker核心技术-镜像管理
  • 原文地址:https://www.cnblogs.com/yhq1314/p/11265536.html
Copyright © 2011-2022 走看看