oracle資料庫實例名稱-ag真人国际官网
❶ oracle資料庫的實例名指的是用戶名還是資料庫名
資料庫名。
實例實際上你可以理解為,按照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文件,修改對應的mp屬性的路徑名,實例名字,控制文件路徑等。
然後執行如下命令:
[oracle@localhost oracle]$ export oracle_sid=dbtest
[oracle@localhost oracle]$ sqlplus "/ as sysdba"
sql*plus: release 9.2.0.4.0 - proction on mon aug 17 16:57:36 2009
ag旗舰厅官方网站 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 area 236000356 bytes
fixed size 451684 bytes
variable size 201326592 bytes
database buffers 33554432 bytes
redo buffers 667648 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
2 maxlogfiles 16
3 maxlogmembers 3
4 maxdatafiles 100
5 maxinstances 8
6 maxloghistory 292
7 logfile
8 group 1 '/home/oracle/ora9/oradata/dbtest/redo01.log' size 50m,
9 group 2 '/home/oracle/ora9/oradata/dbtest/redo02.log' size 50m,
10 group 3 '/home/oracle/ora9/oradata/dbtest/redo03.log' size 50m
11 datafile
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'
23 character 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
2 maxlogfiles 16
3 maxlogmembers 3
4 maxdatafiles 100
5 maxinstances 8
6 maxloghistory 292
7 logfile
8 group 1 '/home/oracle/ora9/oradata/dbtest/redo01.log' size 50m,
9 group 2 '/home/oracle/ora9/oradata/dbtest/redo02.log' size 50m,
10 group 3 '/home/oracle/ora9/oradata/dbtest/redo03.log' size 50m
11 datafile
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'
23 character set zhs16gbk;
control file created.
現在創建成功了。
創建控制文件成功了,下面重新啟動資料庫。
sql> startup nomount
oracle instance started.
total system global area 236000356 bytes
fixed size 451684 bytes
variable size 201326592 bytes
database buffers 33554432 bytes
redo buffers 667648 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
請查看初始化文件中,控制文件的路徑是正確,控制文件的路徑上的目錄是否有許可權創建文件,如果這些問題都解決了,那麼應該能成功創建控制文件。
❸ oracle資料庫實例名怎麼查看
實例名,也就是當前資料庫的實例名
那麼v$instance視圖中的instance_name就是當前實例的實例名
其實還有其他方式,比如在系統層面查詢實例名的方式(linux的用戶參數也可以),但是因為可能同時啟動兩個資料庫實例,而你當前的資料庫,可能並不是系統層面顯示的實例名,所以這種方式還是不那麼靠譜的。所以instance個人認為是最好的方式。