加入收藏 | 设为首页 | 会员中心 | 我要投稿 葫芦岛站长网 (https://www.0429zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

整理概括Oracle常用命令 方便你我他

发布时间:2021-12-03 15:10:29 所属栏目:教程 来源:互联网
导读:起因 在做Hibernate批量插入时,出现这个错误org.hibernate.QueryTimeoutException: 错误原因是表空间的容量不足,需要加大空间容量;那首先想到的是应该查询其容量,所以应该想办法查询其容量以及增大其容量。 因此 想统一整理Oracle中常用的命令语句,以后
起因
 
在做Hibernate批量插入时,出现这个错误org.hibernate.QueryTimeoutException:
 
错误原因是表空间的容量不足,需要加大空间容量;那首先想到的是应该查询其容量,所以应该想办法查询其容量以及增大其容量。
 
因此
 
想统一整理Oracle中常用的命令语句,以后遇到,会不断更新此博客中。为了以后方便查询,因此整理此博客中。
 
Oracle中常用的命令语句如下:
 
1.创建用户
 
create user 用户名 identified by 密码
 
注意:用户名和密码最好是英文
 
如:create user sms identified by sms;
 
2.创建表空间
 
create tablespace 表空间名 datafile '存放路径' size 大小
 
如:create tablespace ts_sms datafile 'F:quanxianguanliruanjianoracletablespacesms.dbf' size 100m;
 
3.把表空间赋值给刚创建的用户
 
alter user 用户 default tablespace 表空间
 
如:alter user sms default tablespace ts_sms;
 
4.给用户赋权
 
grant create session,create view,create table,unlimited tablespace to 用户
 
如:grant create session,create view,create table,unlimited tablespace to sms;
 
或者直接把DBA的权限全部赋值给用户,这样用户就有了创建序列等权限
 
grant dba to user; 如:grant dba to sms;
 
5.切换到新建的用户登录
 
conn 用户/密码
 
如:conn sms/sms;
 
其中1——5是新建用户,到导入sql之间的过程。
 
6.删除用户
 
drop user 用户名
 
如:drop user sms;
 
7.修改用户的密码
 
alter user 用户名 identified by 新密码
 
如:alter user test identified by test;
 
8.查看所有的用户
 
select * from dba_users; 或者 select * from all_users; 或者 select * from user_users;
 
其中select * from user_users;只能看当前的用户
 
9.查看当前用户或DBA角色的权限
 
select * from user_sys_privs; select * from dba_sys_privs;
 
10.查看表空间的容量
 
SQL> selecttablespace_name "表空间" , bytes/1024/1024 "总容量MB" fromdba_data_files;
 
结果如下:
 
11.查看表空间的使用情况,剩余情况
 
SQL> selecta.tablespace_name as 表空间, a.bytes/1024/1024 as 总容量MB ,(a.bytes-b.bytes)/1024/1024 "使用容量MB",b.bytes/1024/1024 "剩余容量MB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "使用百分比" from (select tablespace_name,sum(bytes) bytes fromdba_data_files group by tablespace_name) a,(select tablespace_name,sum(bytes)bytes,max(bytes) largest from dba_free_space group by tablespace_name) b where a.tablespace_name=b.tablespace_nameorder by ((a.bytes-b.bytes)/a.bytes) desc;
 
结果如下:
 
以后在实践中在遇到,会继续收藏滴,收藏起来,共享给大家,方便你我他。
 
PS:今天又在实践中遇到问题,其中Oracle表中进程被锁定了,需要查看被锁定的进程以及杀死进程;2012年8月22日 20:44:36
 
查看被锁定的进程:
 
select 'alter system kill session '''||sid||','||serial#||''';' from v$session where sid in (select sid from v$lock where block = 1);
 
结果如下:若有则出现锁定的进程如下面,没有则提示会“未选定的行”
 
'ALTERSYSTEMKILLSESSION'''||SID||','||SERIAL#||''';'
 
--------------------------------------------------------------------------------
 
alter system kill session '136,18257';
 
杀死锁定的进程:
 
SQL> alter system kill session '136,18257';
 
遇到问题,会继续收藏滴~

(编辑:葫芦岛站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!