1. 程式人生 > >修改oracle資料庫例項名

修改oracle資料庫例項名

1.準備

原資料庫的例項名為linuxdb,控制檔案、資料檔案、聯機日誌檔案存放在/home/oracle/ora9/oradata/linuxdb目錄,將所有的檔案拷貝到另外一個目錄/home/oracle/ora9/oradata/dbtest再將linuxdb 的初始化檔案也複製一份出來,執行如下的sql
Create pfile='/home/oracle/ora9/oracle/dbs/pfiledbtest.ora' from spfile='/home/oracle/ora9/oracle/dbs/spfilelinuxdb.ora';
我們將修改例項名為dbtest下面我們開始一步一步地進行處理。

2.載入初始化檔案

開啟pfiledbtest.ora檔案,修改對應的dump屬性的路徑名,例項名字,控制檔案路徑等。

然後執行如下命令:

[[email protected] oracle]$ export ORACLE_SID=dbtest

[[email protected] oracle]$ sqlplus "/ as sysdba"

SQL*Plus: Release 9.2.0.4.0 - Production on Mon Aug 17 16:57:36 2009

Copyright (c) 1982, 2002, Oracle Corporation.All rights reserved.

Connected to an idle instance.

SQL> startup pfile='/home/oracle/ora9/oracle/dbs/pfiledbtest.ora' nomount

ORACLE instance started.

Total System Global Area236000356 bytes

Fixed Size451684 bytes

Variable Size201326592 bytes

Database Buffers33554432 bytes

Redo Buffers667648 bytes

SQL>

這樣載入初始化檔案就成功了。

下面接著進行,載入控制檔案。

3.載入控制檔案

先執行如下命令。

SQL> alter database mount;

alter database mount

*

ERROR at line 1:

ORA-00205: error in identifying controlfile, check alert log for more info

好像是控制檔案的路徑不對,修改初始檔案再次載入。

SQL> alter database mount;

alter database mount

*

ERROR at line 1:

ORA-01103: database name 'LINUXDB' in controlfile is not 'DBTEST'

根據錯誤資訊提示,是例項名字不一致,但是控制檔案是二進位制的,用vi開啟之後沒法編輯,只能通過用重建控制檔案可以解決。

/home/oracle/ora9/oradata/dbtest目錄下刪除老的三個控制檔案。然後開始重建控制檔案。

SQL> CREATE CONTROLFILE SET DATABASE "DBTEST" RESETLOGS FORCE LOGGING NOARCHIVELOG

2MAXLOGFILES 16

3MAXLOGMEMBERS 3

4MAXDATAFILES 100

5MAXINSTANCES 8

6MAXLOGHISTORY 292

7LOGFILE

8GROUP 1 '/home/oracle/ora9/oradata/dbtest/redo01.log' SIZE 50M,

9GROUP 2 '/home/oracle/ora9/oradata/dbtest/redo02.log' SIZE 50M,

10GROUP 3 '/home/oracle/ora9/oradata/dbtest/redo03.log' SIZE 50M

11DATAFILE

12'/home/oracle/ora9/oradata/dbtest/cwmlite01.dbf',

13'/home/oracle/ora9/oradata/dbtest/devbase_20090408.dbf',

14'/home/oracle/ora9/oradata/dbtest/drsys01.dbf',

15'/home/oracle/ora9/oradata/dbtest/example01.dbf',

16'/home/oracle/ora9/oradata/dbtest/indx01.dbf',

17'/home/oracle/ora9/oradata/dbtest/odm01.dbf',

18'/home/oracle/ora9/oradata/dbtest/system01.dbf',

19'/home/oracle/ora9/oradata/dbtest/tools01.dbf',

20'/home/oracle/ora9/oradata/dbtest/undotbs01.dbf',

21'/home/oracle/ora9/oradata/dbtest/users01.dbf',

22'/home/oracle/ora9/oradata/dbtest/xdb01.dbf'

23CHARACTER SET ZHS16GBK;

CREATE CONTROLFILE SET DATABASE "DBTEST" RESETLOGS FORCE LOGGING NOARCHIVELOG

*

ERROR at line 1:

ORA-01503: CREATE CONTROLFILE failed

ORA-01990: error opening password file '/home/oracle/ora9/oracle/dbs/orapw'

ORA-27037: unable to obtain file status

Linux Error: 2: No such file or directory

Additional information: 3

根據錯誤提示,是缺少密碼驗證檔案,用下面的命令建立密碼檔案。

$cd $ORACLE_HOME/dbs

orapwd password=chenli file=orapwdbtest

SQL> CREATE CONTROLFILE SET DATABASE 'dbtest' RESETLOGS FORCE LOGGING NOARCHIVELOG

2MAXLOGFILES 16

3MAXLOGMEMBERS 3

4MAXDATAFILES 100

5MAXINSTANCES 8

6MAXLOGHISTORY 292

7LOGFILE

8GROUP 1 '/home/oracle/ora9/oradata/dbtest/redo01.log' SIZE 50M,

9GROUP 2 '/home/oracle/ora9/oradata/dbtest/redo02.log' SIZE 50M,

10GROUP 3 '/home/oracle/ora9/oradata/dbtest/redo03.log' SIZE 50M

11DATAFILE

12'/home/oracle/ora9/oradata/dbtest/cwmlite01.dbf',

13'/home/oracle/ora9/oradata/dbtest/devbase_20090408.dbf',

14'/home/oracle/ora9/oradata/dbtest/drsys01.dbf',

15'/home/oracle/ora9/oradata/dbtest/example01.dbf',

16'/home/oracle/ora9/oradata/dbtest/indx01.dbf',

17'/home/oracle/ora9/oradata/dbtest/odm01.dbf',

18'/home/oracle/ora9/oradata/dbtest/system01.dbf',

19'/home/oracle/ora9/oradata/dbtest/tools01.dbf',

20'/home/oracle/ora9/oradata/dbtest/undotbs01.dbf',

21'/home/oracle/ora9/oradata/dbtest/users01.dbf',

22'/home/oracle/ora9/oradata/dbtest/xdb01.dbf'

23CHARACTER SET ZHS16GBK;

Control file created.

現在建立成功了。

建立控制檔案成功了,下面重新啟動資料庫。

SQL> startup nomount

ORACLE instance started.

Total System Global Area236000356 bytes

Fixed Size451684 bytes

Variable Size201326592 bytes

Database Buffers33554432 bytes

Redo Buffers667648 bytes

SQL> alter database mount;

Database altered.

SQL> alter database open;

alter database open

*

ERROR at line 1:

ORA-01589: must use RESETLOGS or NORESETLOGS option for database open

SQL> alter database open RESETLOGS;

Database altered.

查看錶中的記錄,正確的。

修改例項名成功。

4.總結

由上面的操作可以看到,在資料庫維護中,最重要的是資料檔案,初始化檔案可以從別的例項拷貝過來,然後修改。控制檔案可以重新建立,只要資料檔案正確,就可以重建初始化檔案和控制檔案之後,恢復資料庫。

遇到的錯誤:

ERROR at line 1:
ORA-01503: CREATE CONTROLFILE failed
ORA-00200: controlfile could not be created
ORA-00202: controlfile: '/home/ora/ora9/oradata/dbtest/control01.ctl'
ORA-27040: skgfrcre: create error, unable to create file
Linux Error: 2: No such file or directory

請檢視初始化檔案中,控制檔案的路徑是正確,控制檔案的路徑上的目錄是否有許可權建立檔案,如果這些問題都解決了,那麼應該能成功建立控制檔案。

相關推薦

linux/unix 下修改oracle資料庫例項

1、檢查原來的資料庫例項名 $ echo $ORACLE_SID orcl $ sqlplus / as sysdba > select instance from v$thread; INS

windows下面 修改oracle資料庫例項(SID)

SQL*Plus: Release 9.2.0.5.0 - Production on 星期日 11月 21 13:32:34 2004   Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

修改oracle資料庫例項

1.準備 原資料庫的例項名為linuxdb,控制檔案、資料檔案、聯機日誌檔案存放在/home/oracle/ora9/oradata/linuxdb目錄,將所有的檔案拷貝到另外一個目錄/home/oracle/ora9/oradata/dbtest。再將linuxdb 的初始

檢視Oracle資料庫例項啟動狀態

SQL> conn / as sysdba 已連線到空閒例程。 SQL> startup nomount ORACLE 例程已經啟動。 Total System Global Area 534462464 bytes Fixed Size 21

分享知識-快樂自己: Oracle資料庫例項、使用者、表、表空間之間關係

資料庫:   Oracle資料庫是資料的物理儲存。這就包括(資料檔案ORA或者DBF、控制檔案、聯機日誌、引數檔案)。   其實Oracle資料庫的概念和其它資料庫不一樣,這裡的資料庫是一個作業系統只有一個庫。可以看作是Oracle就只有一個大資料庫。 例項:   一個Oracle例項(Oracle

JDBC連線Oracle資料庫例項

本文給出一個通過JDBC連線Oracle資料庫的例項,希望對JDBC初學者有所幫助。我沒有像很多例子那樣一個函式就把整個JDBC的操作全部完成,這樣的程式碼在企業專案開發中一般是不能通過稽核的,我現在工作的公司就對程式碼規範有嚴格要求。比如,“一個函式,只做一件事”。這意味著你不能把一大堆功能程式碼

修改ORACLE資料庫密碼有效期

修改方法 在程式執行過程中,常常會因為資料庫密碼過期而使程式無法正常訪問。為解決這一問題,可採用如下方法: 檢視使用者的proifle是哪個,一般是default SELECT username,PROFILE FROM dba_users;   檢視指定概要檔案(如

修改oracle資料庫編碼——補充

進入sqlplus之後, 按照下面給出的命令依次執行就可以了, SQL>conn  / as sysdba SQL>SHUTDOWN IMMEDIATE SQL>conn  / as sysdba SQL>STARTUP MOUNT SQL>AL

Oracle 資料庫例項啟動關閉過程

                --================================-->Oracle 資料庫例項啟動關閉過程--================================/*Oracle資料庫例項的啟動,嚴格來說應該是例項的啟動,資料庫僅僅是在例項啟動後進行裝載。

linux系統中 修改oracle資料庫字符集問題

今天在往linux系統下的oracle資料庫中匯入dmp資料庫的資料的時候,出現一些問題,經過多次調整和嘗試,最終將資料庫調整好,特此記錄。 首先,在匯出本地的資料庫的時候,由於本地的資料庫中有建 dblink連線,在用exp命令匯出資料的時候,命令列提示  大概  是連線失敗

用命令修改Oracle資料庫密碼

1、改密碼    (1).開啟doc命令框鍵入:sqlplus /nolog     (2).輸入:connect / as sysdba     (3).修改密碼:alter user userNa

Oracle 資料庫例項的啟動階段及關閉模式

  一、資料庫例項啟動的三個階段 啟動資料庫分為三個階段: Startup nomount;  --startup預設為startup open Alter database mount; Al

檢視、修改Oracle資料庫表空間大小以及導庫

-- 檢視所有表空間資訊 select tablespace_name,file_id,bytes/1024/1024,file_name from dba_data_files order by fi

Oracle資料庫例項、使用者、表、表空間之間關係

資料庫:Oracle資料庫是資料的物理儲存。這就包括(資料檔案ORA或者DBF、控制檔案、聯機日誌、引數檔案)。其實Oracle資料庫的概念和其它資料庫不一樣,這裡的資料庫是一個作業系統只有一個庫。可以看作是Oracle就只有一個大資料庫。例項:  一個Oracle例項(O

Oracle 資料庫例項介紹

文章目錄 資料庫例項介紹 例項結構 例項配置 讀寫例項與只讀例項 例項生命週期 例項標識 Oracle 根目錄 Oracle 主目錄 Oracle SI

修改oracle資料庫預設建立的表空間為小檔案表空間

修改資料庫預設建的表空間為小檔案表空間: 又一次安裝oracle資料庫安裝好後,建立表空間報錯 create  tablespace db01 datafile '/opt/oracle/db/oradata/oradb/db01.dbf' size 10M,       

windows/Linux修改oracle資料庫使用者密碼

      由於專案需求,Linux安裝oracle11g資料庫花了我3天時間,期間各種問題頻發。3天時間對oracle理解了不少,並且Linux也有點入門了,整理下oracle修改使用者密碼流程,做

修改Oracle資料庫使用者的密碼過期時間為無限期

Oracle的密碼過期規則是用Profile來管理的,系統預設只有一個Profile(DEFAULT),該profile的密碼過期規則為180天; 而所有的使用者都使用該DEFAULT的profile,所以如果修改DEFAULT的過期規則會影響所有的使用者; 所以我們新建一

oracle profile Idle_time設定(修改Oracle 資料庫連線引數)

 sgcrm5*sgcrm5-/home/oracle >sqlplus / as sysdba   SQL*Plus: Release 11.1.0.6.0 - Production on Mon Oct 1514:38:252012 Copyright (c)

資料庫——關於網路服務、SERVICE_NAME、域名(db_domain)、資料庫資料庫例項

如何利用配置的網路服務名連線到資料庫: 用sqlplus程式通過test網路服務名進行測試,如sqlplus system/[email protected]。如果不能連線到資料庫,則在tnsname.ora檔案中的test網路服務名(net service)後面加