oracle之spfile与pfile

 pfile(Initialization Parameter File)用于Oracle8i,在oracle9i中也可以用,以文本形式存在,可以用文本编辑器对其中参数进行修改。 
   spfile(Server-Side Initialization Parameter File)用于oracle9i,以二进制文本形式存在,不能用文本编辑器对其中参数进行修改。Spfile改正了pfile管理混乱的问题,在多结点的环境里,pfile会有多个image,启动时候需要跟踪最新的image。这是个烦琐的过程。用spfile以后,所有参数改变都写到spfile里面(只要定义scope=spfile或both) 

1.查看spfile location(Show parameter pfile/spfile;) 
Sql代码   收藏代码
  1. show parameter spfile  


2.从spfile获取pfile 
Sql代码   收藏代码
  1. sqlplus /nolog  
  2. connect / as sysdba  
  3. Create pfile='d:pfileSID.ora' from spfile;  
  4. Create pfile='d:pfileSID.ora' from spfile='spfile_location';  


3.从pfile获取spfile 
Sql代码   收藏代码
  1. shutdown immediate  
  2. Create spfile from pfile='Your_pfile_location'  
  3. Create spfile='spfile_location' from pfile='Your_pfile_location'  


4.动态修改参数 
Sql代码   收藏代码
  1. alter system set parameter=Value scope=spfile|both|memory  

(1)scope=spfile 
对参数的修改仅记录在服务器初始化参数文件中。该选项同时适用于动态与静态的初始化参数。修改后的参数只有下一次启动数据库时更改才会生效。 
(2)scope=memory 
对参数的修改记录在内存中,对于动态初始化参数,更改立即生效。修改并不会被记录在服务器端的初始化参数中。下一次启动数据库时更改失效,不能用于静态初始化参数。 
(3)scope=both 
对参数的修改同时记录在内存中和服务器端的初始化参数文件中。为默认使用值。 

6.查看初始化参数 
Sql代码   收藏代码
  1. show parameters  


7.执行startup时,按如下顺序寻找初始化参数文件: 
(1)spfile.ora 
(2)pfile.ora 
(3)都没找到,则在默认位置寻找默认名称的服务器端初始化参数文件。 
(4)还没找到,则在默认位置寻找默认名称的文本初始化参数文件。 

8.查看系统全局区大小: 
Sql代码   收藏代码
  1. show sga;   
  2. select * from v$sga;  


9.使用pfile/spfile启动数据库 
如果你想使用pfile启动数据库,你可以在启动时指定pfile或者删除spfile. 
Sql代码   收藏代码
  1. startup pfile='E:\Oracle\admin\eyglen\pfile\init.ora';  

你不能以同样的方式指定spfile,但是可以创建一个包含spfile参数的pfile文件,指向spfile. 
SPFILE是一个自Oracle9i引入的初始化参数,类似于IFILE参数。SPFILE参数用于定义非缺省路径的spfile文件。可以在PFILE链接到SPFILE文件,同时在PFILE中定义其他参数,如果参数重复设置,后读取的参数将取代先前的设置。 

10.   查看系统是以pfile还是spfile启动 
(1)查询v$parameter动态视图,如果以下查询返回空值,那么你在使用pfile. 
Sql代码   收藏代码
  1. SELECT name,value FROM v$parameter WHERE name='spfile';  

(2)可以使用SHOW命令来显示参数设置,如果以下结果value列返回空值,那么说明你在使用pfile: 
Sql代码   收藏代码
  1. SHOW PARAMETER spfile  

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

或者使用以下查询,如果true值返回非0值,那么说明我们使用的是spfile. 
Sql代码   收藏代码
  1. select isspecified, count(*) from v$spparameter group  
  2.  by isspecified;  


11.修改Oracle最大连接数 
  a、以sysdba身份登陆PL/SQL 或者 Worksheet 
  b、查询目前连接数 
     
Java代码   收藏代码
  1. show parameter processes;  

  c、更改系统连接数 
     
Java代码   收藏代码
  1. alter system set processes=1000 scope=spfile;  

  d、创建pfile 
    
Java代码   收藏代码
  1. create pfile from spfile;  

  e、重启Oracle服务或重启Oracle服务器 

12.查询Oracle游标使用情况的方法 
  
Java代码   收藏代码
  1. select * from v$open_cursor where user_name = 'TRAFFIC';  

13.查询Oracle会话的方法 
  
Java代码   收藏代码
  1. select * from v$session  

14.关于init.ora.XXXXXXXX  
   init.ora.XXXXXXXX在$ORACLE_BASE/admin/{SID}/pfile/目录下。当database 通过DBCA (Database creation assistant)创建的时候, DBCA将创建一个init.ora文件用来创建database,这个时候,他将利用刚才创建的init.ora文件来创建spfile,然后再修改init.ora文件名到一个类似init.ora.XXXXXXXX。 
    XXXXXXXX is a timestamp of a sort。This init.ora.XXXXXXXX will not be used by Oracle afterwards, so modifiying it will not change the init parameters。 

15. oracle中限制指定用户的连接数 
1、修改系统配置 
alter system set resource_limit=true; 
2、建一个profile文件,如jk_ip_sess,限制每个用户连接最多10个 
create profile jk_ip_sess limit SESSIONS_PER_USER 10; 
3、指定用户限制资源。 
alter user inter_user profile jk_ip_sess; 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值