以下操作均以sysdba权限登陆数据库
关于用户部分操作
查询数据库中的用户名
select username from dba_users;
查询用户状态
select username,default_tablespace,temporary_tablespace,account_status from dba_users;
创建数据库用户
create user 用户名 identified by 密码;
创建指定表空间的用户
create user 用户名 identified by 密码 account unlock default tablespace 默认表空间名 temporary tablespace 临时表空间名;
解锁用户
alter user 用户名 account unlock;
修改用户密码
alter user 用户名 identified by 密码;
用户授权
grant connect,resource,dba to 用户名;
修改用户默认表空间
alter user 用户名 default tablespace 表空间名;
查询当前用户下都有哪些表
select table_name from user_tables;
关于表空间部分操作
查询表空间名称
select tablespace_name from dba_tablespaces;
创建表空间
create tablespace 表空间名 datafile '+DATA' size 30g;
create tablespace 表空间名 datafile '+DATA' size 500M reuse autoextend on next 100M maxsize 2G;
表空间用户配额授权
alter user 用户名 quota unlimited on 表空间名;
扩展表空间
alter tablespace 表空间名 add datafile '+DATA' size 10g; #增加数据文件方式
alter database datafile '+DATA/xxx/xxxxxxx.dbf' resize 20g; #改变已存在表空间文件大小
alter database datafile '+DATA/xxx/xxxxxxx.dbf' autoextend on next 100m maxsize 20g; #允许自动增长
管理审计功能
show parameter audit
alter system set audit_trail=none scope=spfile
shutdown immediate
startup
关于SQL部分操作
查询历史sql执行记录
select SQL_TEXT,to_char(LAST_ACTIVE_TIME,'yyyy-mm-dd hh24:mi:ss') from v$sql
查询并处理死锁
select object_name,machine,s.sid,s.serial# from v$locked_object l,dba_objects o,v$session s where l.object_id = o.object_id and l.session_id = s.sid;
alter system kill session '113,123';
查看表空间使用情况
SELECT a.tablespace_name "表空间名称", total / (1024 * 1024 * 1024) "表空间大小(G)", free / (1024 * 1024 * 1024) "表空间剩余大小(G)", round((total - free) / total, 4) * 100 "使用率 %" FROM (SELECT tablespace_name, SUM(bytes) free FROM dba_free_space GROUP BY tablespace_name) a, (SELECT tablespace_name, SUM(bytes) total FROM dba_data_files GROUP BY tablespace_name) b WHERE a.tablespace_name = b.tablespace_name;
RAC部分操作