加\解锁:
lock table dept in share mode; |
仍然解不了,用以下方法:
SELECT sid, serial#, username, osuser FROM v$session; ALTER SYSTEM KILL SESSION 'sid,serial'; example: ALTER SYSTEM KILL SESSION '131, 33574'; |
如果对象被锁住了,用Oracle的ALTER SYSTEM KILL SESSION 'SID,SERIAL#'不一定会将SESSION KILL掉,会报
1.SQL> alter system kill session '200,18325' 2.* 3.ERROR at line 1: 4.ORA-00031: session marked for kill |
这样的错误,所以可以在操作系统级上KILL掉进程
select 'kill -9 '||a.spid "xxx" from v$process a,v$session b where a.addr=b.paddr and b.status='KILLED'; |
查找出被标志为KILLED的SESSION的操作系统进程号。
增加表空间,文件
ALTER TABLESPACE bgtablespace01 ADD DATAFILE '/opt/Oracle/oradata/orcl/ bgtablespace01/bgtablespace0190.dbf' SIZE 5120M ; |
更改用户表空间
alter user user modify default tablespace bgtablespace01; |
Oracle中针对大表增加有默认值的字段的操作方法
ALTER TABLE tab_large add col_new Number(9) Default 1; |
该语句会对所有记录进行填值操作,对于现场tab_large中存在3000W条左右数据,该步骤需要执行数小时。
可以将该语句改为:
ALTER TABLE tab_large add col_new Number(9); ALTER TABLE tab_large modify col_new number(9) default 1; |
该语句只会对新增的记录进行填值操作,只需要数秒。
如果需要对原来的值进行操作,可以在升级后进行update操作,这样能够节省大量的升级时间。
增加数据库用户
1.create user sjzq identified by sjzq123 default tablespace BGTABLESPACE01 Temporary TABLESPACE Temp; 2.grant connect to sjzq; 3.grant select on abc.tname to sjzq; |
以上的相关内容就是对Oracle数据库查看sql的介绍,望你能有所收获。