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