一、Oracle数据库连接
1、三种以系统管理员身份连接数据库的方式
conn / as sysdba:不需要listener进程
conn system/admin:只能连接本地数据库,不需要listener进程
conn system/admin@oracle:需要listener进程处于可用状态
2、启动sqlplus,但不登录到数据库服务器
sqlplus /nolog
3、用系统管理员,查看当前数据库有几个用户连接
select username,sid,serial# from v$session;
二、Oracle用户管理
1、查看系统拥有哪些用户
select * from all_users;
2、显示当前连接用户
show user
3、新建用户并授权
create user a identified by a;(默认建在SYSTEM表空间下)
grant connect,resource to a;
4、修改用户密码
alter user a identified by 123456;
5、授权用户可以访问数据库所有表
grant select any table to a;
6、授权用户操作其他用户的表
grant select,insert,update,delete on student.emp to a;
7、查找用户下的所有表
select * from tab;
8、查看当前用户的缺省表空间
select username,default_tablespace from user_users;
9、查看当前用户的角色
select * from user_role_privs;
10、查看当前用户的系统权限和表级权限
select * from user_sys_privs;
select * from user_tab_privs;
三、Oracle表
1、查看用户下所有的表
select * from user_tables;
2、查看名称包含log字符的表
select object_name,object_id from user_objects
where instr(object_name,'LOG')>0;
3、查看某表的创建时间
select object_name,created from user_objects
where object_name=upper('&table_name');
4、查看某表的大小
select sum(bytes)/(1024*1024) as "size(M)" from user_segments
where segment_name=upper('&table_name');
5、查看放在ORACLE的内存区里的表
select table_name,cache from user_tables
where instr(cache,'Y')>0;
四、Oracle索引
1、查看索引个数和类别
select index_name,index_type,table_name from user_indexes
order by table_name;
2、查看索引被索引的字段
select * from user_ind_columns
where index_name=upper('&index_name');
3、查看索引的大小
select sum(bytes)/(1024*1024) as "size(M)" from user_segments
where segment_name=upper('&index_name');
五、Oracle数据库
1、查看表空间的名称及大小
select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size
from dba_tablespaces t, dba_data_files d
where t.tablespace_name = d.tablespace_name
group by t.tablespace_name;
2、查看表空间物理文件的名称及大小
select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;
3、查看回滚段名称及大小
select segment_name, tablespace_name, r.status,
(initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent,
max_extents, v.curext CurExtent
From dba_rollback_segs r, v$rollstat v
Where r.segment_id = v.usn(+)
order by segment_name ;
4、查看控制文件
select name from v$controlfile;
5、查看日志文件
select member from v$logfile;
6、查看表空间的使用情况
select sum(bytes)/(1024*1024) as free_space,tablespace_name
from dba_free_space
group by tablespace_name;
7、查看数据库库对象
select owner, object_type, status, count(*) count#
from all_objects group by owner, object_type, status;
8、查看数据库的版本
select version FROM Product_component_version
Where SUBSTR(PRODUCT,1,6)='Oracle';
9、查看数据库的创建日期和归档方式
select Created, Log_Mode, Log_Mode From V$Database;