데이터 베이스 MySQL 튜토리얼 修改Oracle数据库的名字

修改Oracle数据库的名字

Jun 07, 2016 pm 05:11 PM
o 오라클 데이터베이스 데이터 베이스

最近闲来无事,决定修改一下数据库的名字,记得曾经学过通过重建控制文件来修改数据库的名字,网上找了下也可以通过oracle自带的

最近闲来无事,决定修改一下数据库的名字,记得曾经学过通过重建控制文件来修改数据库的名字,网上找了下也可以通过Oracle自带的nid修改数据库的名字,不过这个方法有些麻烦,并且修改的数据库名字不能带“_"。

  1,通过重建控制文件修改数据库名字。

为了方便查找trace文件我们在进行备份控制文件的时候我们可以标记下trace文件:

  alter session set tracefile_identifier='control_bak'

下面我们备份我们的控制文件:

alter database backup controlfile to trace;

10g是在我们的$ORACLE_BASE/admin\orcl\bdump下面的包含”control_bak“的文件

11g是在我们的$ORACLE_BASE/diag/rdbms/orcl/orcl/trace下面包含的”control_bak的文件

无论是那个版本的数据库我们可以通过查询查找到trace文件的路径

 select * from v$diag_info;

关闭数据库,,删除控制文件(如果我们想要复制数据库,我们可以把所有的文件复制到相应的位置,包括数据文件,归档文件,在线日志文件和和网络有关的三个文件;不需要复制控制文件)

单纯的修改数据库的名字这步可以省略,我们需要修改pfile文件:主要是修改数据库的文件路径和数据库的名字,以修改后的数据文件启动新库到nomount阶段。

打开刚才找到的trace文件,复制创建控制文件的一段(一般以CREATE CONTROLFILE 开始)

我们需要修改两个地方:

1,将“REUSE”修改为“set”,原数据库名修改数据库名,其他文件的路径按需修改

· 2,需要移除RECOVER DATABASE USING BACKUP CONTROLFILE这一句

执行我们复制的脚步

以resetlog的方式打开我们的数据库

alter database open resetlogs;

启用临时文件

alter tablespace temp add tempfile '/.../temp01.dbf' reuse;

如果只是修改数据库的名字这一步可以省略。

可以正常打开表示修改数据库的名字成功

2,通过nid修改数据库的名字

启动数据库到mount阶段,修改数据库的名字

startup mount;

host nid target=sys/orcl dbname=new_name

关闭再次启动到mount阶段

alter system set db_name=new_name scope=spfile;

shutdown immediate;

重建控制文件

host orapwd file=/../pwdorcl.ora password=orcl entries=5(其实这个参数用处不大,多少个这样的用户是根据系统来设置的)

以resetlogs方式打开

startup mount;

alter database open resetlogs;

查看数据库的名字

select dbid,name from v$database;

更改数据库的instance_name,windows下面停止所有的服务

重建实例

oradim -delete -sid old_name;

oradim -new -sid new_name -intpwd pwd -startmode a -pfile c:\..\initonew_name.ora(修改原来的参数文件)

进入到数据库中创建spfile文件

set oracle_sid=new_name

sqlplus sys/orcl as sysdba

create spfile from pfile='c:\..\initnew_name.ora';

重新载入监听文件

lsnrctl reload;

如果不能启动可以执行resetlogs

alter database open resetlogs;

在使用2方法修改数据库的名字的时候切忌修改的名字不能带“_",否则会报:DIM-00003: 参数缺失变元。

网上查了下是oracle的一个bug,Oracle在Bug No. 6000490中进行了描述。

解决方式就是去掉”_",并说这个bug已经提交进行到开发,但是要等到12版本才能解决。

目前解决方式只能是去掉下划线。

linux

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP에서 MySQLi를 사용하여 데이터베이스 연결을 설정하는 방법에 대한 자세한 튜토리얼 PHP에서 MySQLi를 사용하여 데이터베이스 연결을 설정하는 방법에 대한 자세한 튜토리얼 Jun 04, 2024 pm 01:42 PM

PHP에서 MySQLi를 사용하여 데이터베이스 연결을 설정하는 방법에 대한 자세한 튜토리얼

iOS 18에는 손실되거나 손상된 사진을 검색할 수 있는 새로운 '복구된' 앨범 기능이 추가되었습니다. iOS 18에는 손실되거나 손상된 사진을 검색할 수 있는 새로운 '복구된' 앨범 기능이 추가되었습니다. Jul 18, 2024 am 05:48 AM

iOS 18에는 손실되거나 손상된 사진을 검색할 수 있는 새로운 '복구된' 앨범 기능이 추가되었습니다.

Go WebSocket은 데이터베이스와 어떻게 통합됩니까? Go WebSocket은 데이터베이스와 어떻게 통합됩니까? Jun 05, 2024 pm 03:18 PM

Go WebSocket은 데이터베이스와 어떻게 통합됩니까?

Golang에서 데이터베이스 콜백 함수를 사용하는 방법은 무엇입니까? Golang에서 데이터베이스 콜백 함수를 사용하는 방법은 무엇입니까? Jun 03, 2024 pm 02:20 PM

Golang에서 데이터베이스 콜백 함수를 사용하는 방법은 무엇입니까?

PHP에서 데이터베이스 연결 오류를 처리하는 방법 PHP에서 데이터베이스 연결 오류를 처리하는 방법 Jun 05, 2024 pm 02:16 PM

PHP에서 데이터베이스 연결 오류를 처리하는 방법

상위 10 개 글로벌 디지털 통화 거래 앱 권장 (2025 통화 거래 소프트웨어 순위) 상위 10 개 글로벌 디지털 통화 거래 앱 권장 (2025 통화 거래 소프트웨어 순위) Mar 12, 2025 pm 05:48 PM

상위 10 개 글로벌 디지털 통화 거래 앱 권장 (2025 통화 거래 소프트웨어 순위)

C++를 사용하여 데이터베이스 연결 및 작업을 처리하는 방법은 무엇입니까? C++를 사용하여 데이터베이스 연결 및 작업을 처리하는 방법은 무엇입니까? Jun 01, 2024 pm 07:24 PM

C++를 사용하여 데이터베이스 연결 및 작업을 처리하는 방법은 무엇입니까?

BTC Trading 앱을 설치하고 등록하는 방법은 무엇입니까? BTC Trading 앱을 설치하고 등록하는 방법은 무엇입니까? Feb 21, 2025 pm 07:09 PM

BTC Trading 앱을 설치하고 등록하는 방법은 무엇입니까?

See all articles