當前位置:首頁 » 數據倉庫 » oracle更改資料庫前面的名稱
擴展閱讀
nas訪問小米路由器 2022-08-16 12:33:41
雙硬碟改啟動 2022-08-16 12:31:39
steam頭像如何刪除以往 2022-08-16 12:24:55

oracle更改資料庫前面的名稱

發布時間: 2022-08-06 20:56:43

A. Oracle怎麼修改列名

如果有工具最好,直接編輯就ok了,沒有工具那麼就alter table text rename column textpass to password ;在或者把textpass刪除,在增加password 列。alter table text drop column textpass;alter table text add column password ;

B. 在oracle資料庫中,修改一個表中的欄位名稱,報錯ora-02264

ORA-02264: 名稱已被一現有約束條件佔用
這個錯誤是因為你建表的時候,同時創建約束
而這個約束已經被其他的表佔用了
不能再用了
你可以換一個約束名字

C. 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屬性的路徑名,實例名字,控制文件路徑等。

然後執行如下命令:

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

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

SQL*Plus: Release 9.2.0.4.0 - Proction 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 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

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

D. ORACLE資料庫伺服器名稱改變了,ORACLE需要修改哪急急急,請高手幫忙

監聽你得看下還能正常工作么,如果不能需要修改listener.ora文件
LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))

)

)
如果你HOST用的是主機名那麼就需要改,如果是IP地址的話就不用。
還有你的EM可能需要重啟一下emctl stop dbconsole,emctl start dbconsole

E. 請教一個關於oracle資料庫的幾個名詞的區別,資料庫,資料庫名,全局資料庫名,實例等等

DB_NAME: 資料庫名,此參數在創建數據前決定,資料庫創建後修改時,必須建控制文件
DB_DOMAIN: 資料庫域名,用於區別同名資料庫。資料庫名與域名一起構成了全局資料庫名
INSTANCE_NAME: 資料庫實例名,可以與資料庫名相同
SERVICE_NAMES: 資料庫服務名,與全局資料庫名相同如果沒有域名,則服務名就是資料庫名

下面詳細介紹!!!
一、資料庫名
什麼是資料庫名
資料庫名就是一個資料庫的標識,就像人的身份證號一樣。他用參數DB_NAME表示,如果一台機器上裝了多全資料庫,那麼每一個資料庫都有一個資料庫名。在資料庫安裝或創建完成之後,參數DB_NAME被寫入參數文件之中。格式如下:
DB_NAME=myorcl
...
在創建資料庫時就應考慮好資料庫名,並且在創建完資料庫之後,資料庫名不宜修改,即使要修改也會很麻煩。因為,資料庫名還被寫入控制文件中,控制文件是以二進制型式存儲的,用戶無法修改控制文件的內容。假設用戶修改了參數文件中的資料庫名,即修改DB_NAME的值。但是在Oracle啟動時,由於參數文件中的DB_NAME與控制文件中的資料庫名不一致,導致資料庫啟動失敗,將返回ORA-01103錯誤。
資料庫名的作用:
資料庫名是在安裝資料庫、創建新的資料庫、創建資料庫控制文件、修改數據結構、備份與恢復資料庫時都需要使用到的。
有很多Oracle安裝文件目錄是與資料庫名相關的,如:
winnt: d:\oracle\proct\10.1.0\oradata\DB_NAME\...
Unix: /home/app/oracle/proct/10.1.0/oradata/DB_NAME/...
pfile:
winnt: d:\oracle\proct\10.1.0\admin\DB_NAME\pfile\ini.ora
Unix: /home/app/oracle/proct/10.1.0/admin/DB_NAME/pfile/init$ORACLE_SID.ora
跟蹤文件目錄:
winnt: /home/app/oracle/proct/10.1.0/admin/DB_NAME/bmp/...
另外,在創建數據時,careate database命令中的資料庫名也要與參數文件中DB_NAME參數的值一致,否則將產生錯誤。
同樣,修改資料庫結構的語句alter database,當然也要指出要修改的資料庫的名稱。
如果控制文件損壞或丟失,資料庫將不能載入,這時要重新創建控制文件,方法是以nomount方式啟動實例,然後以create controlfile命令創建控制文件,當然這個命令中也是指指DB_NAME。
還有在備份或恢復資料庫時,都需要用到資料庫名。
總之,資料庫名很重要,要准確理解它的作用。
查詢當前數據名:
方法一:select name from v$database;
方法二:show parameter db
方法三:查看參數文件ini.ora。
修改資料庫名:
前面建議:應在創建資料庫時就確定好資料庫名,資料庫名不應作修改,因為修改資料庫名是一件比較復雜的事情。
那麼現在就來說明一下,如何在已創建數據之後,修改資料庫名。步驟如下:
1.關閉資料庫。
2.修改資料庫參數文件中的DB_NAME參數的值為新的資料庫名。
3.以NOMOUNT方式啟動實例,修建控制文件(有關創建控制文件的命令語法,請參考oracle文檔)
二、資料庫實例名
什麼是資料庫實例名?
資料庫實例名是用於和操作系統進行聯系的標識,就是說資料庫和操作系統之間的交互用的是資料庫實例名。實例名也被寫入參數文件中,該參數為instance_name,在winnt平台中,實例名同時也被寫入注冊表。
資料庫名和實例名可以相同也可以不同。
在一般情況下,資料庫名和實例名是一對一的關系,但如果在oracle並行伺服器架構(即oracle實時應用集群)中,資料庫名和實例名是一對多的關系。這一點在第一篇中已有圖例說明。
查詢當前資料庫實例名:
方法一:select instance_name from v$instance;
方法二:show parameter instance
方法三:在參數文件中查詢。
資料庫實例名與ORACLE_SID:
雖然兩者都表是oracle實例,但兩者是有區別的。instance_name是oracle資料庫參數。而ORACLE_SID是操作系統的環境變數。ORACLD_SID用於與操作系統交互,也就是說,從操作系統的角度訪問實例名,必須通過ORACLE_SID。在winnt不台,ORACLE_SID還需存在於注冊表中。且ORACLE_SID必須與instance_name的值一致,否則,你將會收到一個錯誤,在unix平台,是「ORACLE not available」,在winnt平台,是「TNS:協議適配器錯誤」。
資料庫實例名與網路連接:
資料庫實例名除了與操作系統交互外,還用於網路連接的oracle伺服器標識。當你配置oracle主機連接串的時候,就需要指定實例名(8i以前用)。
當然8i以後版本的網路組件要求使用的是服務名SERVICE_NAME。這個概念接下來說明。
三、資料庫域名
什麼是資料庫域名?
在分布工資料庫系統中,不同版本的資料庫伺服器之間,不論運行的操作系統是unix或是windows,各伺服器之間都可以通過資料庫鏈路進行遠程復制,資料庫域名主要用於oracle分布式環境中的復制。舉例說明如:
全國交通運政系統的分布式資料庫,其中:
福建節點: fj.jtyz
福建廈門節點: xm.fj.jtyz
江西: jx.jtyz
江西上饒:sr.jx.jtyz
這就是資料庫域名。
資料庫域名在存在於參數文件中,他的參數是db_domain.
查詢資料庫域名:
方法一:select value from v$parameter where name = 'db_domain';
方法二:show parameter domain
方法三:在參數文件中查詢。
全局資料庫名:
全局資料庫名=資料庫名+資料庫域名,如前述福建節點的全局資料庫名是:oradb.fj.jtyz
四、資料庫服務名
什麼是資料庫服務名?
從oracle9i版本開始,引入了一個新的參數,即資料庫服務名。參數名是SERVICE_NAME。
如果資料庫有域名,則資料庫服務名就是全局資料庫名;否則,資料庫服務名與資料庫名相同。
查詢資料庫服務名:
方法一:select value from v$parameter where name = 'service_name';
方法二:show parameter service_name
方法三:在參數文件中查詢。
資料庫服務名與網路連接:
從oracle8i開始的oracle網路組件,資料庫與客戶端的連接主機串使用資料庫服務名。之前用的是ORACLE_SID,即資料庫實例名。

F. 怎麼更改oracle資料庫庫安裝路徑名

在安裝的時候會有路徑選擇,如圖

在第一個紅條處手動輸入或者在瀏覽的地方選擇輸入都是可以的。

oracle資料庫簡介:

Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是甲骨文公司的一款關系資料庫管理系統。它是在資料庫領域一直處於領先地位的產品。可以說Oracle資料庫系統是目前世界上流行的關系資料庫管理系統,系統可移植性好、使用方便、功能強,適用於各類大、中、小、微機環境。它是一種高效率、可靠性好的 適應高吞吐量的資料庫解決方案。

G. oracle 怎麼修改資料庫用戶名

一、修改前准備工作:
使用ssh工具以root身份連接伺服器,
然後切換到oracle用戶:su
-
oracle(回車)
使用sqlplus連接資料庫:sqlplus
/nolog(回車)
以管理員身份登錄sys用戶:conn
sys/sys
as
sysdba(回車)
資料庫連接成功,至此准備工作完成。
二、修改用戶名稱。
資料庫連接成功後,在sql>提示後面繼續輸入:
首先查到到所需修改用戶名稱的用戶需要:select
user#,name
from
user$;(回車)--如:user#等於66
現在就可以修改用戶名稱了:update
user$
set
name='新的用戶名稱'
where
user#=66;(回車)
系統會提示:1
row
updated.說明修改成功,
再輸入:commit;(回車)提交所作修改。
三、修改用戶密碼。
資料庫連接成功後,在sql>提示後輸入:alter
user
用戶名
identified
by
新密碼;(回車)
再輸入:commit;(回車)提交所作修改即可。

H. Oracle資料庫修改表列名的問題

alter table XITONG
rename column "pid" to PID;

試試看,應該可以。

I. oracle怎樣修改資料庫名字

改實例名啊?
還有人改這個?

建議,導出數據,如果新建一個實例,新實例名為你的需要改的新名字,然後把輸入導入到新實例中。
准確無誤後,刪除舊實例。