ITPub博客

首页 > 数据库 > Oracle > Oracle12c多租户数据库备份与恢复 - 恢复整个CDB和其下的PDBs 4

Oracle12c多租户数据库备份与恢复 - 恢复整个CDB和其下的PDBs 4

原创 Oracle 作者:tolywang 时间:2014-03-07 16:03:00 0 删除 编辑

因控制文件中还有源库CDB及各PDBs的temp文件的信息,这里可以使用如下语句删除。否则后面NID更改数据库名会报错。在源库中执行如下语句,拷贝结果到目标库执行即可。
select 'alter database tempfile '''||name||''' drop ; ' from v$tempfile ;


[oracle@nkgttv2024rhl test12]$ sqlplus / as sysdba

SQL> shut  immediate
SQL> startup mount


做动作时同样需要切换到各个PDB(container),否则会报错找不到这个文件:

SQL> ALTER SESSION SET CONTAINER = CDB$ROOT;
SQL> alter database tempfile  '/data01/oracle12c/oradata/test12c/temp01.dbf'  drop ;

SQL>ALTER SESSION SET CONTAINER = PLUGDB;
SQL> alter database tempfile  '/data01/oracle12c/oradata/test12c/plugdb/temp01.dbf'  drop ;

....
修改数据库sid:
数据库启动到mount状态,然后在操作系统层执行命令:

[oracle@nkgttv2024rhl trace]$ nid target=/ dbname=test12 

DBNEWID: Release 12.1.0.1.0 - Production on Thu Mar 6 15:50:31 2014
..... 
Succesfully changed database name and ID.
DBNEWID - Completed succesfully.

NID 后注意环境变量修改。
A. 修改参数文件,将数据库名称相关的参数做修改(一般修改db_name, instance_name即可) 。
B. 在启动前生成一个新的password文件 :orapwd file=orapwtest12 password=Huaiwe123 entries=10 
C. 注意环境变量,开启DB为mount , 使用 resetlogs 开启数据库: alter database open resetlogs ;

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/35489/viewspace-1103173/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    14695429