Oracle教程
Oracle练习题

Oracle DBA常用命令

查看用户拥有的数据库对象

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