_buffer_busy_wait_timeout | Integer | 100 | yes | SESSION | Y | Y | | buffer busy wait time in centiseconds |
_buffer_requests_to_drain | Integer | 5 | yes | SYSTEM imm. | Y | Y | | Buffer for requests to drain before planned failover |
_buffered_message_spill_age | Integer | 300 | yes | SYSTEM imm. | N | Y | | Buffered message spill age |
_buffered_publisher_flow_control_threshold | Integer | 0 | yes | SYSTEM imm. | N | Y | | Flow control threshold for buffered publishers except capture |
_db_block_adjcheck | Boolean | TRUE | yes | SYSTEM imm. | N | Y | | adjacent cache buffer checks - low blkchk overwrite parameter |
_db_block_adjchk_level | Integer | 0 | yes | SYSTEM imm. | N | Y | | adjacent cache buffer check level |
_db_block_align_direct_read | Boolean | TRUE | yes | STATIC | N | N | | Align Direct Reads |
_db_block_bad_write_check | Boolean | FALSE | yes | STATIC | N | N | | enable bad write checks |
_db_block_buffers | Big integer | 288000 | yes | STATIC | N | N | | Number of database blocks cached in memory: hidden parameter |
_db_block_cache_history_lru | Boolean | FALSE | yes | STATIC | N | N | | buffer header tracing for lru operations |
_db_block_cache_protect | String | false | yes | STATIC | N | N | | protect database blocks (for debugging only) |
_db_block_cache_protect_internal | Integer | 0 | yes | STATIC | N | N | | protect database blocks (for internal use only) |
_db_block_check_for_debug | Boolean | FALSE | yes | SYSTEM imm. | N | Y | | Check more and dump block before image for debugging |
_db_block_check_objtyp | Boolean | TRUE | yes | SYSTEM imm. | N | Y | | check objd and typ on cache disk read |
_db_block_chunkify_ncmbr | Boolean | FALSE | yes | SESSION | Y | Y | | chunkify noncontig multi block reads |
_db_block_corruption_recovery_threshold | Integer | 30 | yes | SYSTEM imm. | N | Y | | threshold number of block recovery attempts |
_db_block_do_full_mbreads | Boolean | FALSE | yes | SYSTEM imm. | N | Y | | do full block read even if some blocks are in cache |
_db_block_hash_buckets | Big integer | 1048576 | yes | STATIC | N | N | | Number of database block hash buckets |
_db_block_hash_latches | Integer | 8192 | yes | STATIC | N | N | | Number of database block hash latches |
_db_block_header_guard_level | Integer | 0 | yes | STATIC | N | N | | number of extra buffer headers to use as guard pages |
_db_block_hi_priority_batch_size | Integer | 0 | yes | STATIC | N | N | | Fraction of writes for high priority reasons |
_db_block_iterations_for_rm | Integer | 2000 | yes | SYSTEM imm. | N | Y | | number of blocks to reduce every iteration for RM |
_db_block_known_clean_pct | Integer | 2 | yes | STATIC | N | N | | Initial Percentage of buffers to maintain known clean |
_db_block_lru_latches | Integer | 36 | yes | STATIC | N | N | | number of lru latches |
_db_block_max_cr_dba | Integer | 6 | yes | STATIC | N | N | | Maximum Allowed Number of CR buffers per dba |
_db_block_max_scan_pct | Integer | 40 | yes | STATIC | N | N | | Percentage of buffers to inspect when looking for free |
_db_block_med_priority_batch_size | Integer | 0 | yes | STATIC | N | N | | Fraction of writes for medium priority reasons |
_db_block_numa | Integer | 1 | yes | STATIC | N | N | | Number of NUMA nodes |
_db_block_prefetch_fast_longjumps_enabled | Boolean | TRUE | yes | SYSTEM imm. | N | Y | | Batched IO enable fast longjumps |
_db_block_prefetch_limit | Integer | 0 | yes | SYSTEM imm. | N | Y | | Prefetch limit in blocks |
_db_block_prefetch_override | Integer | 0 | yes | SYSTEM imm. | N | Y | | Prefetch force override in blocks |
_db_block_prefetch_private_cache_enabled | Boolean | TRUE | yes | SYSTEM imm. | N | Y | | Batched IO enable private cache |
_db_block_prefetch_quota | Integer | 10 | yes | SYSTEM imm. | N | Y | | Prefetch quota as a percent of cache size |
_db_block_prefetch_skip_reading_enabled | Boolean | TRUE | yes | SYSTEM imm. | N | Y | | Batched IO enable skip reading buffers |
_db_block_prefetch_wasted_threshold_perc | Integer | 2 | yes | SYSTEM imm. | N | Y | | Allowed wasted percent threshold of prefetched size |
_db_block_scandepth_for_rm | Integer | 20 | yes | SYSTEM imm. | N | Y | | number of blocks to reduce every iteration for RM |
_db_block_table_scan_buffer_size | Big integer | 4194304 | yes | STATIC | N | N | | Size of shared table scan read buffer |
_db_block_temp_redo | Boolean | FALSE | yes | SYSTEM imm. | N | Y | | generate redo for temp blocks |
_db_block_trace_protect | Boolean | FALSE | yes | SYSTEM imm. | N | Y | | trace buffer protect calls |
_db_block_vlm_check | Boolean | FALSE | yes | STATIC | N | N | | check for mapping leaks (debugging only) |
_db_block_vlm_leak_threshold | Integer | 4 | yes | STATIC | N | N | | threshold for allowable mapping leaks |
_db_blocks_per_hash_latch | Integer | | yes | STATIC | N | N | | Number of blocks per hash latch |
_db_cache_advice_hash_latch_multiple | Integer | 16 | yes | STATIC | N | N | | cache advisory hash latch multiple |
_db_cache_advice_max_size_factor | Integer | 2 | yes | STATIC | N | N | | cache advisory maximum multiple of current size to similate |
_db_cache_advice_sample_factor | Integer | 4 | yes | STATIC | N | N | | cache advisory sampling factor |
_db_cache_advice_sanity_check | Boolean | FALSE | yes | STATIC | N | N | | cache simulation sanity check |
_db_cache_advice_size_submultiple | Integer | 10 | yes | STATIC | N | N | | cache advisory size submultiple |
_db_cache_block_read_stack_trace | Integer | 0 | yes | SYSTEM imm. | Y | Y | | dump short call stack for block reads |
_db_cache_block_read_stack_trace_where1 | Integer | 0 | yes | SYSTEM imm. | Y | Y | | dump short call stack for block reads just for where1 |
_db_cache_block_read_stack_trace_where2 | Integer | 0 | yes | SYSTEM imm. | Y | Y | | dump short call stack for block reads just for where2 |
_db_cache_block_read_stack_trace_where3 | Integer | 0 | yes | SYSTEM imm. | Y | Y | | dump short call stack for block reads just for where3 |
_db_cache_crx_check | Boolean | FALSE | yes | STATIC | N | N | | check for costly crx examination functions |
_db_cache_max_sz | Big integer | 0 | yes | SYSTEM imm. | Y | Y | | |
_db_cache_min_sga_perc | Integer | 0 | yes | SYSTEM imm. | N | Y | | Make db_cache_size min this percentage of sga_target |
_db_cache_miss_check_les | Boolean | FALSE | yes | SESSION | Y | Y | | check LEs after cache miss |
_db_cache_mman_latch_check | Boolean | FALSE | yes | STATIC | N | N | | check for wait latch get under MMAN ops in kcb |
_db_cache_numa_tol_enable | Integer | 10 | yes | SYSTEM imm. | N | Y | | Enable/disable numa imbalance in cache granules |
_db_cache_numa_tolerance | Integer | 5 | yes | SYSTEM imm. | N | Y | | Allow this much numa imbalance in cache granules |
_db_cache_pmem_confidence_try | Integer | 0 | yes | SYSTEM imm. | N | Y | | DB Cache PMEM buffer promote attempts for greater confidence |
_db_cache_pmem_promotion_touch_rate_reset_interval | Integer | 300 | yes | SYSTEM imm. | N | Y | | DB Cache PMEM promotion touch rate reset interval in sec |
_db_cache_pmem_promotion_touch_rate_threshold_time | Integer | 30 | yes | SYSTEM imm. | N | Y | | DB Cache PMEM promotion touch rate threshold time in sec |
_db_cache_pmem_touch_rate_compare_per | Integer | 95 | yes | SYSTEM imm. | N | Y | | DB Cache PMEM buffer touch rate additive percentage when comparingagainst dram touch rate |
_db_cache_pmemp_len | Integer | 10000 | yes | SYSTEM imm. | N | Y | | DB Cache PMEM promotion list max length |
_db_cache_pre_warm | Boolean | TRUE | yes | STATIC | N | N | | Buffer Cache Pre-Warm Enabled : hidden parameter |
_db_cache_process_cr_pin_max | Integer | 2147483647 | yes | SYSTEM imm. | N | Y | | maximum number of cr pins a process may have |
_db_cache_read_temp_as_cur_on_standby | Boolean | TRUE | yes | SESSION | Y | Y | | if TRUE, read temp space blocks as current on standby |
_db_cache_silicon_secured_memory | Boolean | TRUE | yes | STATIC | N | N | | enable silicon secured memory |
_db_cache_wait_debug | Integer | 0 | yes | SYSTEM imm. | N | Y | | trace new kslwaits |
_db_cache_xmem_promotion_algo_chosen | Integer | 38 | yes | SYSTEM imm. | N | Y | | DB Cache Xmem/Pmem promotion algo |
_db_cache_xmem_size | Big integer | 0 | yes | SYSTEM imm. | N | Y | | Size of extended memory data area for buffer cache DEFAULT pool |
_kgh_free_list_min_effort | Integer | 12 | yes | SYSTEM imm. | N | Y | | typical number of free list chunks to visit |
_kgh_restricted_subheaps | Integer | 180 | yes | SYSTEM imm. | N | Y | | number of subheaps in heap restricted mode |
_kgh_restricted_trace | Integer | 0 | yes | SYSTEM imm. | N | Y | | trace level for heap dump-restricted mode |
_kghdsidx_count | Integer | 1 | yes | STATIC | N | N | | max kghdsidx count |
_kghdsidx_lp_count | Integer | 1 | yes | STATIC | N | N | | number of child latches for large pool and shared with Java pool |
_kghdsidx_numa_count | Integer | 1 | yes | STATIC | N | N | | number of child latches for NUMA pools |
_kghdsidx_sp_count | Integer | 1 | yes | STATIC | N | N | | number of child latches for shared pool and shared with Java pool |
_kghdsidx_streams_count | Integer | 1 | yes | STATIC | N | N | | number of child latches for Streams pool |
_kgl_4021_assert_on_oso | Boolean | FALSE | yes | SESSION | Y | Y | | Raise soft assert on hitting ORA-4021 for Oracle supplied object |
_kgl_assert_x_pin | Boolean | FALSE | yes | SYSTEM imm. | Y | Y | | assert if KGL takes an X-pin on PL/SQL |
_kgl_automatic_retry_on_deadlock | Boolean | TRUE | yes | SESSION | Y | Y | | disable automatic deadlock retry |
_kgl_bucket_bitvector | Boolean | TRUE | yes | STATIC | N | N | | Enable creation of PDB bit vector in KGL Hash Buckets |
_kgl_bucket_bitvector_clear | Boolean | TRUE | yes | SYSTEM imm. | N | Y | | Enable clearing library cache bucket bit vector |
_kgl_bucket_count | Integer | 9 | yes | STATIC | N | N | | Library cache hash table bucket count (2^_kgl_bucket_count * 256) |
_kgl_bypass_options_load | Integer | 0 | yes | SESSION | Y | Y | | disable loading of options for exceptional situations |
_kgl_cluster_lock | Boolean | TRUE | yes | STATIC | Y | N | | Library cache support for cluster lock |
_kgl_cluster_lock_read_mostly | Boolean | FALSE | yes | STATIC | N | N | | Library cache support for cluster lock read mostly optimization |
_kgl_cluster_pin | Boolean | TRUE | yes | STATIC | Y | N | | Library cache support for cluster pins |
_kgl_debug | String | | yes | SESSION | Y | Y | | Library cache debugging |
_kgl_final_blocker_kill_begin_time | Integer | 2 | yes | SESSION | Y | Y | | time to wait in minutes before start killing blockers |
_kgl_fixed_extents | Boolean | TRUE | yes | STATIC | N | N | | fixed extent size for library cache memory allocations |
_kgl_hash_collision | Boolean | FALSE | yes | STATIC | Y | N | | Library cache name hash collision possible |
_kgl_heap_size | Integer | 4096 | yes | STATIC | N | N | | extent size for library cache heap 0 |
_kgl_hot_object_copies | Integer | 0 | yes | STATIC | Y | N | | Number of copies for the hot object |
_kgl_iterator_action | String | SKIP | yes | SESSION | Y | Y | | Action to take if we dereference in-flux state in kgl iterator |
_kgl_kill_final_blocker | Boolean | FALSE | yes | SESSION | Y | Y | | controls feature to kill KGL X lock/pin blockers |
_kgl_kqr_cap_so_stacks | Integer | 0 | yes | SESSION | Y | Y | | capture stacks for library and row cache state objects |
_kgl_large_heap_assert_threshold | Integer | 1500000000 | yes | SYSTEM imm. | Y | Y | | maximum heap size before KGL raises an internal error |
_kgl_large_heap_warning_threshold | Integer | 52428800 | yes | SYSTEM imm. | Y | Y | | maximum heap size before KGL writes warnings to the alert log |
_kgl_latch_count | Integer | 0 | yes | STATIC | N | N | | number of library cache latches |
_kgl_max_wait_time_during_kill | Integer | 15 | yes | SESSION | Y | Y | | max time to wait to get unblocked while killing blockers |
_kgl_min_cached_so_count | Integer | 1 | yes | SESSION | Y | Y | | Minimum cached SO count. If > 1 can help find SO corruptions |
_kgl_skip_octcode_dlk_retry | Big integer | 65535 | yes | SESSION | Y | Y | | OCTCODEs to skip for deadlock retry |
_kgl_time_to_wait_for_locks | Integer | 15 | yes | SESSION | Y | Y | | time to wait for locks and pins before timing out |
_kglpgmtx_cap_uol_stack | Boolean | FALSE | yes | SESSION | Y | Y | | Capture short stack upon mutex get |
_kglsim_maxmem_percent | Integer | 5 | yes | STATIC | N | N | | max percentage of shared pool size to be used for KGL advice |
_large_pool_min_alloc | Big integer | 65536 | yes | STATIC | N | N | | minimum allocation size in bytes for the large allocation pool |
_mem_annotation_pr_lev | Integer | 0 | yes | STATIC | N | N | | private memory annotation collection level |
_mem_annotation_scale | Integer | 1 | yes | STATIC | N | N | | memory annotation pre-allocation scaling |
_mem_annotation_sh_lev | Integer | 0 | yes | STATIC | N | N | | shared memory annotation collection level |
_mem_annotation_store | Boolean | FALSE | yes | STATIC | N | N | | memory annotation in-memory store |
_mem_std_extent_size | Integer | 4096 | yes | STATIC | N | N | | standard extent size for fixed-size-extent heaps |
_memory_adi_bytes_per_alloc | Integer | 0 | yes | STATIC | N | N | | bytes per allocation to get memory application data integrity |
_memory_adi_clear_versions | Boolean | FALSE | yes | STATIC | N | N | | enable clearing versions on huge pages |
_memory_adi_enabled | Boolean | FALSE | yes | STATIC | N | N | | enable memory application data integrity |
_memory_adi_extend | Boolean | FALSE | yes | STATIC | N | N | | enable ADI for kgh headers and free memory |
_memory_adi_heap_mask | Integer | 610 | yes | STATIC | N | N | | enable ADI versioning for these heaps |
_memory_adi_module_mask | Integer | 0 | yes | STATIC | N | N | | bit mask of modules to enable ADI versioning |
_memory_adi_precise_errors | Boolean | FALSE | yes | STATIC | N | N | | enable precise memory application data integrity errors |
_memory_broker_log_stat_entries | Integer | 5 | yes | STATIC | N | N | | memory broker num stat entries |
_memory_broker_marginal_utility_bc | Integer | 12 | yes | SYSTEM imm. | N | Y | | Marginal Utility threshold pct for bc |
_memory_broker_marginal_utility_imc | Integer | 6 | yes | SYSTEM imm. | N | Y | | Marginal Utility threshold pct for imc |
_memory_broker_marginal_utility_sp | Integer | 7 | yes | SYSTEM imm. | N | Y | | Marginal Utility threshold pct for sp |
_memory_broker_sga_grow_split | Boolean | TRUE | yes | SYSTEM imm. | N | Y | | if TRUE, allow sga grow to be split between cache and sp |
_memory_broker_sga_grow_splitif_size | Integer | 20 | yes | SYSTEM imm. | N | Y | | split sga target grow if atleast this many granules. |
_memory_broker_sga_shrink_chunk_size | Integer | 20 | yes | SYSTEM imm. | N | Y | | if kmgsbshnkbrk set, sga request resize chunk size in granules. |
_memory_broker_sga_shrink_chunked | Boolean | TRUE | yes | SYSTEM imm. | N | Y | | if TRUE, break a large sga shrink request to chunks |
_memory_broker_shrink_heaps | Integer | 15 | yes | SYSTEM imm. | N | Y | | memory broker allow policy to shrink shared pool |
_memory_broker_shrink_imc | Integer | 15 | yes | SYSTEM imm. | N | Y | | memory broker allow policy to shrink imc pool |
_memory_broker_shrink_java_heaps | Integer | 900 | yes | SYSTEM imm. | N | Y | | memory broker allow policy to shrink java pool |
_memory_broker_shrink_streams_pool | Integer | 900 | yes | SYSTEM imm. | N | Y | | memory broker allow policy to shrink streams pool |
_memory_broker_shrink_timeout | Big integer | 60000000 | yes | SYSTEM imm. | N | Y | | memory broker policy to timeout shrink shared/java pool |
_memory_broker_stat_interval | Integer | 30 | yes | SYSTEM imm. | N | Y | | memory broker statistics gathering interval for auto sga |
_memory_checkinuse_timeintv | Integer | 30 | yes | SYSTEM imm. | N | Y | | check inuse time interval |
_memory_imm_mode_without_autosga | Boolean | TRUE | yes | SYSTEM imm. | N | Y | | Allow immediate mode without sga/memory target |
_memory_initial_sga_split_perc | Integer | 60 | yes | STATIC | N | N | | Initial default sga target percentage with memory target |
_memory_management_tracing | Integer | 0 | yes | SYSTEM imm. | N | Y | | trace memory management activity |
_memory_max_tgt_inc_cnt | Integer | 0 | yes | SYSTEM imm. | N | Y | | counts the times checker increments memory target |
_memory_mgmt_fail_immreq | Boolean | FALSE | yes | SYSTEM imm. | N | Y | | always fail immediate mode request |
_memory_mgmt_immreq_timeout | Integer | 150 | yes | SYSTEM imm. | N | Y | | time in seconds to time out immediate mode request |
_memory_nocancel_defsgareq | Boolean | FALSE | yes | SYSTEM imm. | N | Y | | do not cancel deferred sga reqs with auto-memory |
_memory_per_cpu_count | Big integer | 0 | yes | STATIC | N | N | | memory per cpu count |
_memory_sanity_check | Integer | 0 | yes | SYSTEM imm. | N | Y | | partial granule sanity check |
_pga_aggregate_xmem_limit | Big integer | 0 | yes | SYSTEM imm. | N | Y | | limit of aggregate PGA XMEM memory consumed by the instance |
_pga_auto_snapshot_percentage | Integer | 20 | yes | SYSTEM imm. | N | Y | | percent growth of PGA memory for additional snapshots |
_pga_auto_snapshot_threshold | Big integer | 524288000 | yes | SYSTEM imm. | N | Y | | bytes of PGA memory in one process to trigger detail snapshot |
_pga_in_sga_param1 | String | | yes | SYSTEM imm. | N | Y | | pga in sga param1 |
_pga_in_sga_param2 | String | | yes | SYSTEM imm. | Y | Y | | pga in sga param2 |
_pga_in_sga_param3 | String | | yes | SYSTEM imm. | Y | Y | | pga in sga param4 |
_pga_in_sga_param4 | Integer | | yes | SYSTEM imm. | Y | Y | | pga in sga param4 |
_pga_in_sga_param5 | Integer | | yes | SYSTEM imm. | Y | Y | | pga in sga param4 |
_pga_incident_app_usage_perc | Integer | 75 | yes | SYSTEM imm. | N | Y | | suppress PGA limit incidents if app use above this percent |
_pga_large_extent_size | Big integer | 1048576 | yes | STATIC | N | N | | PGA large extent size |
_pga_limit_check_wait_time | Integer | 1000000 | yes | SYSTEM imm. | N | Y | | microseconds to wait for over limit confirmation |
_pga_limit_dump_summary | Boolean | TRUE | yes | SYSTEM imm. | N | Y | | dump PGA summary when signalling ORA-4036 |
_pga_limit_interrupt_smaller | Boolean | FALSE | yes | SYSTEM imm. | N | Y | | whether to interrupt smaller eligible processes |
_pga_limit_min_req_size | Big integer | 4194304 | yes | SYSTEM imm. | N | Y | | bytes of PGA usage below which process will not get ORA-4036 |
_pga_limit_per_process_minimum | Big integer | 3145728 | yes | SYSTEM imm. | N | Y | | pga_aggregate_limit per-process minimum |
_pga_limit_physmem_perc | Integer | 90 | yes | SYSTEM imm. | N | Y | | default percent of physical memory for pga_aggregate_limit and SGA |
_pga_limit_simulated_physmem_size | Big integer | 0 | yes | SYSTEM imm. | N | Y | | bytes of physical memory to determine pga_aggregate_limit with |
_pga_limit_target_perc | Integer | 200 | yes | SYSTEM imm. | N | Y | | default percent of pga_aggregate_target for pga_aggregate_limit |
_pga_limit_time_to_interrupt | Integer | 2 | yes | SYSTEM imm. | N | Y | | seconds to wait until direct interrupt |
_pga_limit_time_until_idle | Integer | 15 | yes | SYSTEM imm. | N | Y | | seconds to wait before treating process as idle |
_pga_limit_time_until_killed | Integer | 30 | yes | SYSTEM imm. | N | Y | | seconds to wait before killing session over limit |
_pga_limit_tracing | Integer | 0 | yes | SYSTEM imm. | N | Y | | trace pga_aggregate_limit activity |
_pga_limit_use_immediate_kill | Boolean | TRUE | yes | SYSTEM imm. | N | Y | | use immediate kill for sessions over limit |
_pga_limit_watch_perc | Integer | 50 | yes | SYSTEM imm. | N | Y | | percentage of limit to have processes watch |
_pga_limit_watch_size | Big integer | 104857600 | yes | SYSTEM imm. | N | Y | | bytes of PGA usage at which process will begin watching limit |
_pga_max_size | Big integer | 209715200 | yes | SYSTEM imm. | N | Y | | Maximum size of the PGA memory for one process |
_pgactx_cap_stacks | Boolean | FALSE | yes | SESSION | Y | Y | | capture stacks for setting pgactx |
_sga_alloc_slaves_term_timeout_secs | Integer | 120 | yes | STATIC | N | N | | Termination timeout in secs for SA** slaves |
_sga_clear_dump | Boolean | FALSE | yes | SESSION | Y | Y | | Allow dumping encrypted blocks in clear for debugging |
_sga_early_trace | Integer | 0 | yes | SYSTEM imm. | N | Y | | sga early trace event |
_sga_grow_batch_size | Big integer | 2147483648 | yes | STATIC | N | N | | Dynamic SGA grow batch size |
_sga_heap_chunk_alignment | Boolean | FALSE | yes | STATIC | N | N | | force SGA heap chunk alignment |
_sga_heap_chunk_alignment_disabled | Boolean | FALSE | yes | STATIC | N | N | | force SGA heap chunks not to be aligned |
_sga_shrink_allow | Boolean | FALSE | yes | STATIC | N | N | | Allow SGA shrink operation |
_shared_pool_lru_bufs | Integer | 200 | yes | SYSTEM imm. | N | Y | | shared pool lru effort buffer size |
_shared_pool_max_size | Big integer | 0 | yes | SYSTEM imm. | N | Y | | shared pool maximum size when auto SGA enabled |
_shared_pool_max_sz | Big integer | 0 | yes | SYSTEM imm. | Y | Y | | |
_shared_pool_minsize_on | Boolean | FALSE | yes | SYSTEM imm. | N | Y | | shared pool minimum size when auto SGA enabled |
_shared_pool_reserved_min_alloc | Big integer | 4400 | yes | STATIC | N | N | | minimum allocation size in bytes for reserved area of shared pool |
_shared_pool_reserved_pct | Integer | 7 | yes | STATIC | N | N | | percentage memory of the shared pool allocated for the reserved area |
No comments:
Post a Comment