修改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)後面加