千家信息网

犯困,就动手做个修改spfile路径测试可好

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,Oracle DBA 又回来了,离开了两年零三个月,我又回来了,满血复活。为什么说又回来了,因为在从15年开始我就开始搞MySQL、MongoDB、redis和hbase,这两年很是辛苦,失去了很多,
千家信息网最后更新 2024年11月23日犯困,就动手做个修改spfile路径测试可好


Oracle DBA 又回来了,离开了两年零三个月,我又回来了,满血复活。为什么说又回来了,因为在从15年开始我就开始搞MySQL、MongoDB、redis和hbase,这两年很是辛苦,失去了很多,也收获了很多。对互联网行业的开源数据库有了比较深刻的理解,认识了很多北上广深的的朋友,虽然未曾见面,也都保持了联系,经常会一起做技术交流。


下面就是做一个小测试,看看扔了两年的oracle 数据库,是不是生分了,随便也精神精神,免得下午犯困。


一、环境描述

11g rac 虚拟化测试环境


二、实操

1)查看当前spfile 位置

[oracle@ysdb1 dbs]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Tue Jun 27 13:32:20 2017

Copyright (c) 1982, 2013, Oracle. All rights reserved.



Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing options


SYS@ysdb1>show parameter spfile;

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

spfile string +DATA1/ysdb/spfileysdb.ora


2)备份pfile,生成新的spfile

SYS@ysdb1>create pfile='/tmp/pfile.ora' from spfile;

File created.


SYS@ysdb1>create spfile='+data1/ysdb/parameter/spfileysdb.ora' from pfile='/tmp/pfile.ora';

create spfile='+data1/ysdb/parameter/spfileysdb.ora' from pfile='/tmp/pfile.ora'

*

ERROR at line 1:

ORA-17502: ksfdcre:4 Failed to create file +data1/ysdb/parameter/spfileysdb.ora

ORA-15173: entry 'parameter' does not exist in directory 'ysdb'



SYS@ysdb1>create spfile='+data1/ysdb/ysdbspfile.ora' from pfile='/tmp/pfile.ora';

File created.

SYS@ysdb1>


3)修改pfile(多个节点)

[oracle@ysdb1 dbs]$ more initysdb1.ora

SPFILE='+DATA1/ysdb/spfileysdb.ora'

[oracle@ysdb1 dbs]$ echo "spfile='+DATA1/ysdb/ysdbspfile.ora'" > initysdb1.ora

[oracle@ysdb1 dbs]$ less initysdb1.ora

spfile='+DATA1/ysdb/ysdbspfile.ora'

[oracle@ysdb1 dbs]$


[root@ysdb2 ~]# su - oracle

[oracle@ysdb2 ~]$ cd $ORACLE_HOME/dbs

[oracle@ysdb2 dbs]$ less initysdb2.ora

SPFILE='+DATA1/ysdb/spfileysdb.ora'

[oracle@ysdb2 dbs]$ echo "spfile='+DATA1/ysdb/ysdbspfile.ora'" > initysdb2.ora

[oracle@ysdb2 dbs]$ less initysdb2.ora

spfile='+DATA1/ysdb/ysdbspfile.ora'

[oracle@ysdb2 dbs]$


4)通过srvctl 修改OCR中的spfile路径

[oracle@ysdb2 ~]$ srvctl modify database -d ysdb -p +DATA1/ysdb/ysdbspfile.ora


5)重启数据库验证spfile路径

[oracle@ysdb2 ~]$ srvctl stop database -d ysdb

PRCC-1016 : ysdb was already stopped

[oracle@ysdb2 ~]$ srvctl start database -d ysdb

[oracle@ysdb2 ~]$ sqlplus / as sysdba


SQL*Plus: Release 11.2.0.4.0 Production on Tue Jun 27 13:53:00 2017

Copyright (c) 1982, 2013, Oracle. All rights reserved.


Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing options


SYS@ysdb2>show parameter spfile;

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

spfile string +DATA1/ysdb/ysdbspfile.ora

SYS@ysdb2>


三、小结

1)有事没事多实际动手操作操作,孰能生巧。

2)多去对比不同数据库之间的区别,看看它们之间的优缺点,然后你就知道了,什么场景该用什么数据库了,今后做数据库选型也会容易的多。

3)文档还是需要坚持写,不一定是很深奥,很难的,很牛逼的,养成习惯就好。

0