查看用户拥有的数据库对象
select object_name from user_objects;
查看约束信息
select constraint_name from user_constraints;
查看用户拥有的表
select * from tab;
或
select table_name from user_tables;
查看用户拥有的视图
select view_name from user_views;
查看用户拥有的触发器
select trigger_name from user_triggers;
查看用户拥有的序列
select sequence_name from user_sequences;
查看用户拥有的存储过程
select object_name from user_procedures;
查看用户拥有的索引
select index_name from user_indexes;
显示当前用户
show user;
切换用户
conn system/bjpowernode
将用户赋予某种角色登录
conn scott/tiger as sysdba;
查看所有的用户
select username from dba_users;
查看用户拥有的权限
select * from session_privs;
常用权限
CREATE SESSION
连接数据库
CREATE TABLE
创建表
CREATE VIEW
创建视图
CREATE SEQUENCE
创建序列
CREATE PROCEDURE
创建存储过程
CREATE TRIGGER
创建触发器
CREATE INDEXTYPE
创建索引
UNLIMITED TABLESPACE
对表空间的使用
给用户加锁
alter user scott account lock;
给用户解锁
alter user scott account unlock;
修改用户密码
alter user scott identified by tiger123;
新建用户
create user test1 identified by test123;
删除用户及相关对象
drop user test1 cascade;
给用户授权(多个采用逗号间隔)
grant create session, create table to test1;
分配空间usres给用户
create table t_test(id number(10), name varchar2(30))
以上出现无法创建表,主要原因在于没有分配表空间,也就是我们新建的表不知道放到什么地方。
alter user test1 default tablespace users;
授权表空间给用户
grant UNLIMITED TABLESPACE to test1;
一个完整的过程,创建用户、创建表空间、授权、建表
● 创建用户
create user test111 identified by test111;
● 创建表空间
create tablespace data111 datafile ‘D:\share\02-Oracle\data111.dbf’ size 100m;
● 将表空间分配给用户
alter user test111 default tablespace data111;
● 给用户授权
grant create session, create table, unlimited tablespace to test111;
● 以test111登陆建立表,tt_test
create table tt_test(id number(10));
导入和导出命令imp、exp
Exp
exp scott/tiger file=D:\EMP.DMF tables=emp,dept,salgrade
Imp
Imp scott/tiger file= D:\EMP.DMF