Oracle查看表空间是否用ASM存储及Oracle从文件系统迁移到ASM存储

上线了很久的一个项目,刚刚接到通知:

因为之前没留意,创建表空间的时候未采用ASM存储,我们可以使用如下语句查询是否采用了ASM存储:

select file_name from dba_data_files;

如果查询结果数据文件路径是以+开头的即为ASM存储,以操作系统目录开头的,如linux下的/,则不是ASM存储:

所以,现在必须迁移数据了(Oracle从文件系统迁移到ASM存储),迁移步骤如下:

1、迁移前原数据库各文件存储信息查询

--控制文件
select name from v$controlfile;

/home/db/oracle/oradata/somsvpd01/control01.ctl
/home/db/oracle/oradata/somsvpd01/control02.ctl

--数据文件
select name from v$datafile;

/home/db/oracle/oradata/somsvpd01/system01.dbf
/home/db/oracle/oradata/somsvpd01/sysaux01.dbf
/home/db/oracle/oradata/somsvpd01/undotbs01.dbf
/home/db/oracle/oradata/somsvpd01/users01.dbf

--临时文件
select name from v$tempfile;

/home/db/oracle/oradata/somsvpd01/temp01.dbf

--日志文件
select member from v$logfile;

/home/db/oracle/oradata/somsvpd01/redo03.log
/home/db/oracle/oradata/somsvpd01/redo02.log
/home/db/oracle/oradata/somsvpd01/redo01.log


--参数文件
show parameter pfile;

[SQL]show parameter pfile
[Err] ORA-00900: invalid SQL statement

show parameter pfile竟然报无效语句错误,那么我们改用方式二查看Spfile与pfile的目录位置:

SELECT NAME, VALUE, DISPLAY_VALUE FROM V$PARAMETER WHERE NAME ='spfile';

判断Oracle启动时使用spfile还是pfile启动,通过v$spparameter视图:

select decode(count(*),1,'spfile','pfile') from v$spparameter where rownum=1 and isspecified ='TRUE';

使用spfile启动数据库,我们可以看到查询出来的结果是spfile,补充:pfile和spfile
pfile: 初始化参数文件(Initialization Parameters Files),Oracle 9i之前,ORACLE一直采用pfile方式存储初始化参数,pfile 默认的名称为“init+例程名.ora”文件路径:/data/app/oracle/product/12.1.0/dbhome_1/dbs,这是一个文本文件,可以用任何文本编辑工具打开。

spfile:服务器参数文件(Server Parameter Files),从Oracle 9i开始,Oracle引入了Spfile文件,spfile 默认的名称为“spfile+例程名.ora”文件路径:/data/app/oracle/product/12.1.0/dbhome_1/dbs 以二进制文本形式存在,不能用vi编辑器对其中参数进行修改,只能通过SQL命令在线修改。

初始化参数文件为ASCII文本文件,Spfile为数据文件。

show parameter pfile用客户端工具查询失败,尝试登陆服务器查询,竟然成功:

2、编辑参数文件指定新的控制文件路径(该步由于权限不足未往下走)

参照:https://blog.csdn.net/weixin_34177064/article/details/85779268

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值