How To Change Database Name

简介: How To Change Database Name 前言:数据库的名字是在Create Database时,就已经由init.ora中db_name的参数决定了。

 


How To Change Database Name

前言:
数据库的名字是在Create Database时,就已经由init.oradb_name的参数决定了。一台Server上,数据库的名字必须是独一的,它可以与Instance_name相同或不同,但是为了方便管理,通常建议将这两个参数,设为相同的值。 若在数据库建立后,需要变更数据库的名字时,则需要重新建立control file,因为数据库的名字存放在control file中。不过control file是数据库中相当重要的档案,因此在对数据库重新命名时,必须相当的小心,以免毁损数据库。

步骤:

 

A. 产生数据库Control fileTrace file

 

C:\sqlplus system/manager
SQL>select name from v$database;
(确定联机的数据库为欲更名的数据库)
Name
-------------------------
FRANK
SQL>Alter database backup controlfile to trace resetlogs;

 

将目前数据库的control file备份成文字文件到User_Dump_Dest参数所设定的路径。

SQL>show parameter user_dump_dest;

Name

Type

Value

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

user_dump_dest

string

C:\oracle\admin\Frank\udump

 

Trace file产生在C:\oracle\admin\Frank\udump

SQL>host dir C:\oracle\admin\Frank\udump

磁盘区 C 中的磁盘没有卷标。
磁盘区序号: 08F8-D0AC
目录: C:\oracle\admin\Frank\udump

2001/09/03 11:51a

 

.

2001/09/03 11:51a

 

..

2001/07/26 11:02p

 

73,858 ORA01372.TRC

2001/09/03 12:06p

 

4,612 ORA01640.TRC

2001/09/03 12:11p

 

1,785 ORA01968.TRC

 

3 个档案

80,255 字节

 

2 个目录

3,428,466,688 字节可用

 

这里出现三个trace file,那一个才是我们要的trace file

SQL>select spid from v$process where
addr=(select paddr from v$session where
sid=(select distinct sid from v$mystat));
SPID
---------
1968

因此我们得知ORA01968.TRC为我们这个server process所写的trace file
SQL>exit(离开sqlplus环境,准备将trace file改成数据库更名的script)

 

 

B. 产生数据库更名的script

 

C:\notepad oracle\admin\frank\udump\ORA01968.TRC
利用任一文字编辑器修改

  1. startup nomount这行以上都删除。
  2. REUSEDATABASE这两个关键词之间,加入SET这关键词。并将"FRANK"改成新的数据库名字即可。
  3. 删去RECOVER DATABASE USING BACKUP CONTROLFILE这行,保留其它行的内容。
  4. 删除所有以#开始的行。
  5. 将此档案另存为renamedb.sql

 

 

C. 修改initfrank.ora(parameter file)

 

C:\notepad c:\oracle\admin\frank\pfile\init.ora
利用任一文字编辑器修改


db_name=FRANK改成db_name=Newname

 

 

D. 备份数据库

 

SQL>shutdown immediate;
SQL>exit;

请进行Whole Database Backup

 

 

E. 执行数据库更名的script

 

C:\sqlplus /nolog
SQL>connect / as sysdba or connect sys/password as sysdba
SQL>@c:\oracle\admin\frank\udump\renamedb.sql

已启动 ORACLE 执行项次

Total System Global Area

68991004 bytes

Fixed Size

75804 bytes

Variable Size

20365312 bytes

Database Buffers

48472064 bytes

Redo Buffers

77824 bytes

控制檔已被建立
数据库已被更改
SQL>select name from v$database;
Name
------------
Newname

 

 

 

F. 这时数据库已经更名成功

 

因为数据库已经resetlogs,所以之前的备份已经不能使用,请立刻进行Closed Backup

结论:
以上为将数据库重新命名的步骤,当然还有许多的情况无法一一详述,不过这已包含大多数的情况。通常这个动作,主要是一开始数据库名字没取好,或者想利用OS Backup所产生的档案,在同一Server建立另一个数据库。

 

 

 

目录
相关文章
|
3天前
|
存储 关系型数据库 分布式数据库
PostgreSQL 18 发布,快来 PolarDB 尝鲜!
PostgreSQL 18 发布,PolarDB for PostgreSQL 全面兼容。新版本支持异步I/O、UUIDv7、虚拟生成列、逻辑复制增强及OAuth认证,显著提升性能与安全。PolarDB-PG 18 支持存算分离架构,融合海量弹性存储与极致计算性能,搭配丰富插件生态,为企业提供高效、稳定、灵活的云数据库解决方案,助力企业数字化转型如虎添翼!
|
13天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1292 5
|
12天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
1319 87
|
2天前
|
弹性计算 安全 数据安全/隐私保护
2025年阿里云域名备案流程(新手图文详细流程)
本文图文详解阿里云账号注册、服务器租赁、域名购买及备案全流程,涵盖企业实名认证、信息模板创建、域名备案提交与管局审核等关键步骤,助您快速完成网站上线前的准备工作。
179 82
2025年阿里云域名备案流程(新手图文详细流程)
|
2天前
|
自然语言处理 前端开发
基于Electron38+Vite7.1+Vue3+Pinia3+ElementPlus电脑端admin后台管理模板
基于最新版跨平台框架Electron38整合Vite7+Vue3+ElementPlus搭建轻量级客户端中后台管理系统解决方案。
163 86