oracle学习小知识点总结

登陆数据库:sqlplus "/as sysdba" window身份验证,不需要用户名和密码。

查看数据库状态: select status from v$instance(v$表示oracle的动态表)

启示和关闭数据库:startup、shutdown immediate

查看当前数据库名称:show parameter db_name

查询用户状态:select username,accout_status from dba_users where username='SCOTT';

显示dba_users表的所有列:desc user_tables;

对数据库用户解锁:alter user 数据库用户名 accout unlock;

查看当前数据库用户:show user;

在数据库中切换用户:conn 用户名/密码

普通用户登录数据库:sqlplus 用户名/密码

查询用户下有哪些表:select table_name from user_tables;

如何设置时间格式:alter session set nls_date_format='YYYY-MM-DD';

获得当前时间:select sysdate from dual;(dual是一个虚表,在查询用到计算,常量表达式时可以使用它)

在使用group by分组时,如果有条件限制,需要使用having,而不能用where

表的5个约束:Primary key(主键)、Foreign Key(外键)、Not Null(非空)、Unique(唯一)、Check(条件)

创建一个数据库用户:create user 用户名 identified by 密码;

给数据库用户授权:grant 操作 to 用户;

回收用户权限:revoke 操作 from 用户;

更改用户密码:alter user 用户名 identified by 新密码;

删除用户:drop user 用户名;

查看用户有哪些权限:select * from session_privs;

查看用户本身有哪些角色:select * from user_role_privs;

查看CONNECT角色有哪些权限:select * from dba_sys_privs where grantee='CONNECT';

查询oracle服务器端的编码:select userenv('language') from dual;

查看用户下有多少个视图:select * from user_views;

确认用户是否有创建同义词的权限:select * from session_privs where privilege like '%SYNONYM%';

创建一个表的同义词:create synonym sg for salgrade;

查询初始化文件位置:show parameter spfile

查询数据库的数据文件位置:select name from v$datafile;

查询重做日志文件位置:select member from v$logfile;

禁止用户远程登录数据库:alter system set remote_login_passwordifle=none scope=spfile;

查询表所属的表空间:select table_name,tablespace_name from user_tables;

查看数据库版本:select * from v$version;

 select 列表 中的非聚合函数列,都必须出现在group by子句中,但是,group by子句中的列,不一定要出现在select列表中,

group by 可以使用表达式,但不可以使用别名

聚合函数,不能出现在where子句中

rollup和group by一起使用,用来产生各分组的小计以及最后的合计

查询死锁:select b.username,b.sid,b.serial#,logon_time 

from v$locked_object a,v$session b
where a.session_id = b.sid order by b.logon_time;

杀死死锁:alter system kill session 'sid,serial#' immediate;

查看当前用户的缺省表空间:select username,default_tablespace from user_users;

查看名称包含log字符的表:select object_name,object_id from user_objects
where instr(object_name,'LOG')>0;

查看某表的创建时间:select object_name,created from user_objects where object_name=upper('&table_name');

查看某表的大小:select sum(bytes)/(1024*1024) as "size(M)" from user_segments
where segment_name=upper('&table_name');
查看放在ORACLE的内存区里的表:select table_name,cache from user_tables where instr(cache,'Y')>0;

显示和设置每行显示的字符:show linesize  set linesize 100

显示和设置每页的记录数:show pagesize set pagesize 12

未完待续...

 

posted @ 2013-12-23 17:55  我爱java2013  阅读(245)  评论(0编辑  收藏  举报