oracle表怎么改名 oracle修改表的列名

oracle表名被人修改后帶兩橫杠的表名,如何能修改?或者能刪除表數(shù)據(jù)想把占用幾百G占用空間釋放出來。

--將原表名用英文的雙引號引起來,便可改名或刪除

創(chuàng)新互聯(lián)公司是專業(yè)的龍泉網(wǎng)站建設(shè)公司,龍泉接單;提供網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行龍泉網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

alter table "PRT_QZKAKOU_2019--202003" rename to PRT_QZKAKOU_2019__202003;

oracle 用戶能不能改名字

你可以嘗試一下下面的辦法:

--直接修改底層表 USER$ 更換用戶名:

1、windows 平臺下運(yùn)行 cmd

2、sqlplus /nolog

3、SQL connsys/lmis@lmisdx_localas sysdba 連接到數(shù)據(jù)庫。通??梢杂胹ys用戶登陸。

4、SQL select * from user$; 找到 name為需要修改的用戶的user#。

5、SQL UPDATE USER$ SET NAME='新用戶名' WHERE USER#=38;

已更新 1 行。

6、SQL COMMIT;提交完成。

7、SQL ALTER SYSTEM CHECKPOINT;

系統(tǒng)已更改。

8、SQL ALTER USER 新用戶名 IDENTIFIED BY 新密碼;

此時會提示新用戶不存在。

SQL ALTER USER 新用戶名 IDENTIFIED BY 新密碼

*ERROR 位于第 1 行:ORA-01918: 用戶'新用戶'不存在

9、SQL ALTER SYSTEM FLUSH SHARED_POOL;

系統(tǒng)已更改。

10、SQL ALTER USER 新用戶 IDENTIFIED BY 新密碼;

用戶已更改。

11、測試連接

SQL CONN 新用戶/新密碼@lmisdx_local;

已連接。

12、SQL SELECT * FROM TAB;

查看新用戶下是否有原用戶的對象,包括表等。

13、SQL CONN / AS SYSDBA已連接。

14、SQL SHOW USER --查看當(dāng)前連接用戶

為"SYS"

15、SQL SHUTDOWN IMMEDIATE --關(guān)閉數(shù)據(jù)庫

數(shù)據(jù)庫已經(jīng)關(guān)閉。已經(jīng)卸載數(shù)據(jù)庫。ORACLE 例程已經(jīng)關(guān)閉。

16、SQL STARTUP --啟動數(shù)據(jù)庫

ORACLE 例程已經(jīng)啟動。......數(shù)據(jù)庫裝載完畢。數(shù)據(jù)庫已經(jīng)打開。

17、可以看出沒有再恢復(fù)為TEST

SQL SELECT USER#,NAME,PASSWORD FROM USER$ WHERE USER#=38;

18、查看數(shù)據(jù)對象

SQL SELECT * FROM TAB;

19、SQL connsys/lmis@lmisdx_localas sysdba

已連接。

SQL SHOW USERUSE

為"SYS"

--DROP USER 也沒有問題

SQL DROP USER TEST1 CASCADE; --刪除以前的用戶

如何給Oracle數(shù)據(jù)庫改名?

連接ORACLE數(shù)據(jù)庫有兩種方式:數(shù)據(jù)庫名和服務(wù)名,數(shù)據(jù)庫名的更改要使用重建控制文件的方式更改.alter database backup controlfile to trace后更改其中數(shù)據(jù)庫名為新名,運(yùn)行該文件

如果要更改目錄,在上面的Trace文件中將文件目錄改為新的文件目錄名稱重建或在mount階段使用alter database rename datafile一一將文件更改過來.

Oracle怎么更改用戶名

改用戶名的用處

至于改名字的用處嘛,在這樣一種情景下非常有用.假如某個公司給每個員工一個賬戶,用戶名就是你的英文名.當(dāng)某個員工arwen要離職了,那就要刪除掉用戶arwen了.但是我們知道oracle中用戶與此用戶下面創(chuàng)建的對象是完全綁定到一起的,而不像sql

server中表等對象是可以和用戶完全分開.這樣的話你一刪掉用戶arwen那下面的數(shù)據(jù)全沒了.假如我們需要那些數(shù)據(jù)咋整呢,最容易想到的是把所有數(shù)據(jù)先導(dǎo)出,然后再導(dǎo)入到某個用戶下面.但這樣比較麻煩.所以如果能改名字就更好點(diǎn)了.

接著用上面的例子.假如又來了新員工,weiwenhp.他是接arwen的班的.所以他很需要用戶arwen下面的數(shù)據(jù).此時就把用戶arwen改成用戶weiwenhp.我們登陸數(shù)據(jù)庫時,數(shù)據(jù)庫系統(tǒng)會判斷我們的用戶名和密碼正確不,那我們自然想到這些信息肯定保存在數(shù)據(jù)庫里面哪個地方,肯定會有一個啥保存用戶信息的表.沒錯,所以用戶信息保存在表user$中.

select

*

from

user$

用這個sql一查你會看到所有用戶名和密碼,還有其他一些信息.不過用戶名都是加密的.所以即使是管理員也看不到任何用戶的密碼,只能改用戶的密碼.

那肯定想,用戶名和密碼在這那我在這里把名字改下就行了啊.實(shí)際上改名就真這么做.

select

user#,

name

from

user$

where

name

=

'ARWEN';

--先瞧下arwen的信息,其中user#就是一個序列號,相當(dāng)于身份證號吧,假如這里是250

update

user$

set

name

=

'WEIWENHP'

where

user#

=

250;

--于是用戶名就改好了啊.當(dāng)然是update語句就記得再commit提交下啊.

還要做的工作

我人知道要是改了密碼的話馬上就生效能用的啊,改名字了咋就不成了呢.

我們知道數(shù)據(jù)庫中很重要的一點(diǎn)是要保證數(shù)據(jù)一致性,某個地方的數(shù)據(jù)更改了,相關(guān)的地方也得跟著改才好.那這里肯定是因?yàn)榈顷憰r讀取的用戶信息還沒有更新.有數(shù)據(jù)不一致性的情況出現(xiàn).你可能會想到有時我們用alter更改一些參數(shù)信息得重啟數(shù)據(jù)庫才能生效.于是你就想不會我改了名還得重啟數(shù)據(jù)庫.這也太恐怖了吧.

實(shí)際上不用重啟數(shù)據(jù)庫拉,你這樣強(qiáng)制更新下.

alter

system

checkpoint;

alter

system

flush

shared_pool;

你再次登陸就發(fā)現(xiàn)可以登陸了啊.而之前的arwen用戶就登不了啊.

oracle修改procedure名字

1、首先打開電腦,輸入密碼進(jìn)行解鎖。

2、其次打開ensp,創(chuàng)建oracle工作表。

3、最后右鍵點(diǎn)擊輸入代碼,即可修改procedure名字。

如何將oracle表中的字段由integer 轉(zhuǎn)變?yōu)関archar2(50)

由于integer和varchar2是不兼容的數(shù)據(jù)類型,不能直接修改字段類型,可采取如下步驟:

1、如果導(dǎo)入到oracle中的表名是使用中的,先將其改名(用rename)。

2、導(dǎo)出原表的創(chuàng)建腳本,修改自動增長字段的類型為varchar2(50)。

3、用sql語句把原表(重命名后的表)的數(shù)據(jù)插入到新建的表中,原來是integer類型的字段用to_char轉(zhuǎn)換一下就可以了。

分享題目:oracle表怎么改名 oracle修改表的列名
本文來源:http://muchs.cn/article8/hjchop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、網(wǎng)站收錄全網(wǎng)營銷推廣營銷型網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計公司、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)