⑴ oracle 修改欄位名, 欄位長度的操作是什麼
使用rename關鍵字來實來現欄位源名的修改:alter table 表名 rename column舊的欄位名 to 新的欄位名名;
使用modify關鍵字來實現對數據類型的修改:alter table 表名 modify 欄位名 數據類型;
⑵ Oracle 怎樣修改數據文件的名稱和位置
可以用操作系統命令移動··
------------
sql> host 文件A to 文件B
說白了,就是復制粘貼。
⑶ oracle 怎麼修改資料庫用戶名
1:用CRT以安裝oracle資料庫的用戶連接oracle資料庫所在伺服器。
(以伺服器為linux
為例)
2:輸入命令:
sqlplus
/nolog
,進入oracle控制台,並輸入
conn
/as
sysdba;以DBA角色進入。
3:連接成功後,輸入「select
username
from
dba_users」查看用戶列表。
4:若修改某一個用戶密碼,
修改用戶口令
格式為:
alter
user
用戶名
identified
by
新密碼;
以
apps
為例,密碼修改為
123456.
可輸入
alter
user
apps
identified
by
123456;
5:這樣就修改成功了。
⑷ 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
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資料庫怎麼修改表名
連接ORACLE資料庫有兩種方式:資料庫名和服務名,資料庫名的更改要使用重建控制文件的方式更改專.alter database backup controlfile to trace後更改其中數屬據庫名為新名,運行該文件
如果要更改目錄,在上面的Trace文件中將文件目錄改為新的文件目錄名稱重建或在mount階段使用alter database rename datafile一一將文件更改過來.