首先,这个使用spfile和pfile启动,要抛开启动时加参数文件的方式。
我想的是,如何在启动时不用加任何参数,面使用spfile或pfile.
1,首先,由spfile切换到使用pfile我觉得比较容易些。
首先创建pfile,然后删除spfile,重新启动数据库,就直接使用pfile了。
因为参数文件的搜索顺序就是spfile--pfile,当然要在默认路径下!
不知道我这样理解对不对,好象我现在的DB就是这样改过来的。
2,由pfile改为spfile就不会了。
即使我在默认路径创建了spfile,并删除了pfile,直接启动时,提示找不到参数文件Pfile,
现在我是建了一个pfile,其中只有一条“spfile='E:\ oracle\product\10.2.0\db_1\dbs\SPFILEHS01.ORA'”
这样倒也可以,而且启动后,显示使用的是spfile
请大家 解答一下如何将使用pfile的数据库改为使用spfile.
PS:
这个问题我终于明白了,总结了一下,发在博客上了:
oracle9i,oracle10g如何切换使用spfile和pfile
---
本文源自TTT BLOG,原文地址:http://blog.chinaunix.net/u3/107265/showart_2192657.html
---
首先,要明确以下几点:
1,spfile缺省目录:
--unix下:$oracle_home/dbs/
--NT下:%oracle_home%\database
2,spfile的搜索顺序:
1)spfile<oracle_sid>.ora,
2)spfile.ora,
3)init<oracle_sid>.ora,
创建了spfile,重新启动数据库,oracle会按顺序搜索以上目录,spfile就会自动生效。
3,在widows系统下,虽然创建数据库时,默认会将spfile创建到%oracle_home%\dbs\目录下,但这个目录不是缺省目录。如果spfile发生变化后,也不会再到此目录下查找了,还是会到spfile缺省目录下查找spfile。
(我就是被这一点给搞糊涂了,总以为oracle会到%oracle_home%\dbs\目录下去找spfile,所以将生成的spfile也放到此目录下了。然后删除pfile,启动DB时报错,找不到pfile……)
4,当我们用命令由spfile创建pfile,或者由pfile创建spfile时,新的文件也会生成到缺省目录下。
明确了以上问题,数据库使用pfile和spfile的转换也就很容易了。
1,如果当前使用的是spfile,使用命令创建pfile,然后删除或更名缺省目录下的spfile,然后重新启动,数据库就会默认使用pfile启动。
2,如果当前使用的是pfile,使用命令创建spfile,然后删除或更名缺省目录下的pfile,然后重新启动,数据库就会默认使用spfile启动。
这样理解应该没有问题,实际测试也是这样的!
OK,又解决了我心中的一大疑问!
我想的是,如何在启动时不用加任何参数,面使用spfile或pfile.
1,首先,由spfile切换到使用pfile我觉得比较容易些。
首先创建pfile,然后删除spfile,重新启动数据库,就直接使用pfile了。
因为参数文件的搜索顺序就是spfile--pfile,当然要在默认路径下!
不知道我这样理解对不对,好象我现在的DB就是这样改过来的。
2,由pfile改为spfile就不会了。
即使我在默认路径创建了spfile,并删除了pfile,直接启动时,提示找不到参数文件Pfile,
现在我是建了一个pfile,其中只有一条“spfile='E:\ oracle\product\10.2.0\db_1\dbs\SPFILEHS01.ORA'”
这样倒也可以,而且启动后,显示使用的是spfile
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ------- ------------------------------
spfile string E:\ORACLE\PRODUCT\10.2.0\DB_1\
DBS\SPFILEHS01.ORA
请大家 解答一下如何将使用pfile的数据库改为使用spfile.
PS:
这个问题我终于明白了,总结了一下,发在博客上了:
oracle9i,oracle10g如何切换使用spfile和pfile
---
本文源自TTT BLOG,原文地址:http://blog.chinaunix.net/u3/107265/showart_2192657.html
---
首先,要明确以下几点:
1,spfile缺省目录:
--unix下:$oracle_home/dbs/
--NT下:%oracle_home%\database
2,spfile的搜索顺序:
1)spfile<oracle_sid>.ora,
2)spfile.ora,
3)init<oracle_sid>.ora,
创建了spfile,重新启动数据库,oracle会按顺序搜索以上目录,spfile就会自动生效。
3,在widows系统下,虽然创建数据库时,默认会将spfile创建到%oracle_home%\dbs\目录下,但这个目录不是缺省目录。如果spfile发生变化后,也不会再到此目录下查找了,还是会到spfile缺省目录下查找spfile。
(我就是被这一点给搞糊涂了,总以为oracle会到%oracle_home%\dbs\目录下去找spfile,所以将生成的spfile也放到此目录下了。然后删除pfile,启动DB时报错,找不到pfile……)
4,当我们用命令由spfile创建pfile,或者由pfile创建spfile时,新的文件也会生成到缺省目录下。
明确了以上问题,数据库使用pfile和spfile的转换也就很容易了。
1,如果当前使用的是spfile,使用命令创建pfile,然后删除或更名缺省目录下的spfile,然后重新启动,数据库就会默认使用pfile启动。
2,如果当前使用的是pfile,使用命令创建spfile,然后删除或更名缺省目录下的pfile,然后重新启动,数据库就会默认使用spfile启动。
这样理解应该没有问题,实际测试也是这样的!
OK,又解决了我心中的一大疑问!