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

oracle表名被人修改后带两横杠的表名,如何能修改?或者能删除表数据想把占用几百G占用空间释放出来。

--将原表名用英文的双引号引起来,便可改名或删除

创新互联公司是专业的龙泉网站建设公司,龙泉接单;提供网站建设、成都网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行龙泉网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

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

oracle 用户能不能改名字

你可以尝试一下下面的办法:

--直接修改底层表 USER$ 更换用户名:

1、windows 平台下运行 cmd

2、sqlplus /nolog

3、SQL connsys/lmis@lmisdx_localas sysdba 连接到数据库。通常可以用sys用户登陆。

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;

系统已更改。

8、SQL ALTER USER 新用户名 IDENTIFIED BY 新密码;

此时会提示新用户不存在。

SQL ALTER USER 新用户名 IDENTIFIED BY 新密码

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

9、SQL ALTER SYSTEM FLUSH SHARED_POOL;

系统已更改。

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 --查看当前连接用户

为"SYS"

15、SQL SHUTDOWN IMMEDIATE --关闭数据库

数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。

16、SQL STARTUP --启动数据库

ORACLE 例程已经启动。......数据库装载完毕。数据库已经打开。

17、可以看出没有再恢复为TEST

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

18、查看数据对象

SQL SELECT * FROM TAB;

19、SQL connsys/lmis@lmisdx_localas sysdba

已连接。

SQL SHOW USERUSE

为"SYS"

--DROP USER 也没有问题

SQL DROP USER TEST1 CASCADE; --删除以前的用户

如何给Oracle数据库改名?

连接ORACLE数据库有两种方式:数据库名和服务名,数据库名的更改要使用重建控制文件的方式更改.alter database backup controlfile to trace后更改其中数据库名为新名,运行该文件

如果要更改目录,在上面的Trace文件中将文件目录改为新的文件目录名称重建或在mount阶段使用alter database rename datafile一一将文件更改过来.

Oracle怎么更改用户名

改用户名的用处

至于改名字的用处嘛,在这样一种情景下非常有用.假如某个公司给每个员工一个账户,用户名就是你的英文名.当某个员工arwen要离职了,那就要删除掉用户arwen了.但是我们知道oracle中用户与此用户下面创建的对象是完全绑定到一起的,而不像sql

server中表等对象是可以和用户完全分开.这样的话你一删掉用户arwen那下面的数据全没了.假如我们需要那些数据咋整呢,最容易想到的是把所有数据先导出,然后再导入到某个用户下面.但这样比较麻烦.所以如果能改名字就更好点了.

接着用上面的例子.假如又来了新员工,weiwenhp.他是接arwen的班的.所以他很需要用户arwen下面的数据.此时就把用户arwen改成用户weiwenhp.我们登陆数据库时,数据库系统会判断我们的用户名和密码正确不,那我们自然想到这些信息肯定保存在数据库里面哪个地方,肯定会有一个啥保存用户信息的表.没错,所以用户信息保存在表user$中.

select

*

from

user$

用这个sql一查你会看到所有用户名和密码,还有其他一些信息.不过用户名都是加密的.所以即使是管理员也看不到任何用户的密码,只能改用户的密码.

那肯定想,用户名和密码在这那我在这里把名字改下就行了啊.实际上改名就真这么做.

select

user#,

name

from

user$

where

name

=

'ARWEN';

--先瞧下arwen的信息,其中user#就是一个序列号,相当于身份证号吧,假如这里是250

update

user$

set

name

=

'WEIWENHP'

where

user#

=

250;

--于是用户名就改好了啊.当然是update语句就记得再commit提交下啊.

还要做的工作

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

我们知道数据库中很重要的一点是要保证数据一致性,某个地方的数据更改了,相关的地方也得跟着改才好.那这里肯定是因为登陆时读取的用户信息还没有更新.有数据不一致性的情况出现.你可能会想到有时我们用alter更改一些参数信息得重启数据库才能生效.于是你就想不会我改了名还得重启数据库.这也太恐怖了吧.

实际上不用重启数据库拉,你这样强制更新下.

alter

system

checkpoint;

alter

system

flush

shared_pool;

你再次登陆就发现可以登陆了啊.而之前的arwen用户就登不了啊.

oracle修改procedure名字

1、首先打开电脑,输入密码进行解锁。

2、其次打开ensp,创建oracle工作表。

3、最后右键点击输入代码,即可修改procedure名字。

如何将oracle表中的字段由integer 转变为varchar2(50)

由于integer和varchar2是不兼容的数据类型,不能直接修改字段类型,可采取如下步骤:

1、如果导入到oracle中的表名是使用中的,先将其改名(用rename)。

2、导出原表的创建脚本,修改自动增长字段的类型为varchar2(50)。

3、用sql语句把原表(重命名后的表)的数据插入到新建的表中,原来是integer类型的字段用to_char转换一下就可以了。


当前文章:oracle表怎么改名 oracle修改表的列名
URL分享:http://pwwzsj.com/article/hjchop.html