查看用户拥有的数据库对象
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/sxbdqn
将用户赋予某种角色登录
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