Oracle 学习 Day3 - Oracle 文件

文件类型

本节重点讨论如下文件

与Instance相关的文件:

Parameter File

Trace File

Alert File

与Database相关的文件:

Data File

Temp File

Control File

Redo log file

Password File

快速备份与恢复相关的文件:

Change-tracking File

Flashback log File

Dump File

Data Dump File

Flat File

 

Parameter File

主要讨论init.ora 和 spfile.ora

参数文件名: init<ORACLE_SID>.ora 和 spfile<ORACLE_SID>.ora

注:SID site identifier, 它是非常重要的一个标识符,作用是SID会和ORACLE_HOME组合成一个hash值(一个ORACLE HOME下可以创建多个DATABASE,但每个SID必须唯一),来唯一标识SGA。如果SID或者ORACLE_HOME设置有误的话,ORACLE会无法启动,得到一个ORACLE NOT AVAILABLE错误。

 

如何查看当前Instance的参数设置

方法1. 用 SHOW PARAMETER 命令

show parameter db_block_size

show parameter 参数名

参数名可以是前半部分,因为Oracle会自动加通配符%到参数名的后面,所以 参数名=%参数%。

show parameter db_block_s 等价于 show parameter db_block_size

 

方法2. 通过视图 V$PARAMETER

SQL> select value
  2  from v$parameter
  3  where name = 'db_block_size';

 

方法3. dbms_utility.get_parameter_value

当你的权限不够时,方法1和2无法访问,那么可以使用dbms_utility.get_parameter_value 这个API函数。但是该函数无法查看与内存相关的参数,如sga_max_size, db_cache_size, pga_aggregate_target等等。

 

先来创建一个PLSQL帮助函数

create or replace
function get_param(p_name in varchar2) return varchar2 as
  l_param_type number;
  l_intval     binary_integer;
  l_strval     varchar2(256);
  invalid_parameter exception;
  pragma exception_init(invalid_parameter, -20000);
begin
  begin
    l_param_type := dbms_utility.get_parameter_value(parnam => p_name,
                                                     intval => l_intval,
                                                     strval => l_strval);
  exception
    when invalid_parameter then
      return '*access denied*';
  end;
  if (l_param_type = 0) then
    l_strval := to_char(l_intval);
  end if;
  return l_strval;
end get_param;
/

然后来查看参数值

exec dbms_output.put_line( get_param( 'db_block_size' ) );

如果其他账户被授予该函数的exec权限,可以通过该函数查看不可见的参数。

select name, scott.get_param( name ) val
from v$parameter
where scott.get_param( name ) = '*access denied*';

 

废弃的参数

Oracle中以下划线开头的参数是废弃的,通常在文档中找不到,也不应该使用。

特列,在开发环境中倒是可以设置这个过时参数

_TRACE_FILES_PUBLIC = TRUE

该参数可以让所有人都可以访问tracefile,利于debug。当然,在生产环境中,该参数必须去除。

 

修改参数值并让该参数生效,init.ora必须手动修改,并且重启instance。但是spfile.ora可以用命令来完成,不需要重启。

 

init.ora

简单介绍init.ora,该访问已经过时。

 

spfile.ora

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值