折雨的天空

新浪微薄腾讯微薄

最新碎语:最近霉到了住。哎。。。

您的位置:折雨的天空 >其他技术> Oracle 19c在create pluggable database的时候出现错误:ORA-01276: Cannot add file

Oracle 19c在create pluggable database的时候出现错误:ORA-01276: Cannot add file

以前一直使用默认的rpm安装,创建PDB数据库是不会有这样的问题。

但是RPM安装的oracle所有信息都保存在opt/oracle目录下,这会导致系统盘空间不足。

于是,把opt/oracle/oradata目录下的数据文件,redo等文件全部移到数据盘。


移动的时候,是在cdb环境下操作的,一切正常。


但是在重新创建信息的pdb数据库的时候,就报错了,报错:


ORA-01157: cannot identify/lock data file 6 - see DBWR trace file
ORA-01110: data file 6: '/opt/oracle/oradata/ORCLCDB/pdbseed/temp01.dbf'

我知道这个文件没有了。因为我已经移走了,但是通过:




select name from v$datafile

看到的文件路径都是更改后的,后来想起,我是在CDB操作的,而创建PDB的时候,是会使用默认的PDB来做克隆的(之前不知道)。


于是,切换到PDB里面,把临时文件的指向改到新地址就可以愉快的创建PDB了。

具体操作如下:



[#zeyu#]

#打开PDB数据库
alter pluggable database ORCLPDB1 open;



#把PDB数据库启动为restricted 模式
alter pluggable database ORCLPDB1 close immediate instances=all;
alter pluggable database ORCLPDB1 open read write restricted;

#查看临时表空间
select file_name,tablespace_name from dba_temp_files;

#修改临时表空间地址(to后面的地址为你的实际地址,请修改)

alter database rename file '/opt/oracle/oradata/ORCLCDB/ORCLPDB1/temp01.dbf' to '/data/oradata/ORCLCDB/ORCLPDB1/temp01.dbf';

#这句是修改默认字符集,12c以后默认都是Utf8,不修改字符集,可以跳过下面这一句
alter database character set internal_use zhs16gbk;
alter pluggable database ORCLPDB1 close immediate;

#启动pdb确认
alter pluggable database ORCLPDB1 open instances=all;

#切换到cdb,保存PDB的信息
alter session set container=CDB$ROOT;
alter pluggable database all save state;



[/#zeyu#]




至此,修改默认ORCLPDB的操作就完成了,下面就是创建新的PDB数据库,从默认PDB克隆创建。


create pluggable database newpdb from ORCLPDB1;

创建完成后,进入PDB就可以创建用户,表空间等其他操作了。




------------正 文 已 结 束, 感 谢 您 的 阅 读 (折雨的天空)--------------------

转载请注明本文标题和链接:《Oracle 19c在create pluggable database的时候出现错误:ORA-01276: Cannot add file

奖励一下

取消

分享不易,烦请有多多打赏,如您也困难,点击右边关闭即可!

扫码支持
扫码打赏,5元,10元,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

-秒后自动关闭,如已打赏,或者不愿打赏,请点击右上角关闭图标。

发表评论

路人甲 表情
看不清楚?点图切换