Oracle11g创建表空间、用户、表、授权等语句

本文详细介绍Oracle数据库中用户创建、表空间配置及权限授予的步骤。从临时表空间和数据表空间的创建,到用户建立与授权,再到具体权限如connect、resource和dba的赋予过程,提供全面的操作指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

每个oracle用户都有一个名字和口令,并拥有一些由其创建的表、视图和其他资源。oracle角色(role)就是一组权限(privilege)(或者是每个用户根据其状态和条件所需的访问类型)。用户可以给角色授予或赋予指定的权限,然后将角色赋给相应的用户。一个用户也可以直接给其他用户授权。

 

登陆数据库服务器:
 

su - oracle
sqlplus "/as sysdba"
alter system flush shared_pool;
exit

假如现在已经建好名为'NewDB'的数据库

此时在D:appAdministratororadata目录下已经存在NewDB目录(注意:我的Oracle11g安装在D盘下,若你的Oracle安装在别的目录,那么你新建的数据库目录就在*:appAdministratororadata目录下)。

 

1.创建用户之前要创建"临时表空间",若不创建则默认的临时表空间为temp。

CREATE TEMPORARY TABLESPACE DB_TEMP

         TEMPFILE 'D:appAdministratororadataNewDBDB_TEMP.DBF'

         SIZE 32M

         AUTOEXTEND ON

         NEXT 32M MASIZE UNLIMITED

         EXTENT MANAGEMENT LOCAL;

 

2.创建用户之前先要创建数据表空间,若没有创建则默认永久性表空间是system。

SQL> CREATE TABLESPACE DB_DATA

         LOGGING

         DATAFILE 'D:appAdministratororadataNewDBDB_DATA.DBF'

         SIZE 32M

         AUTOEXTEND ON

         NEXT 32M MAXSIZE UNLIMITED

         EXTENT MANAGEMENT LOCAL;

其中'DB_DATA'和'DB_TEMP'是你自定义的数据表空间名称和临时表空间名称,可以任意取名;'D:appAdministratororadataNewDBDB_DATA.DBF'是数据文件的存放位置,'DB_DATA.DBF'文件名也是任意取;'size 32M'是指定该数据文件的大小,也就是表空间的大小。

 

3.现在建好了名为'DB_DATA'的表空间,下面就可以创建用户了:

SQL> CREATE USER NEWUSER IDENTIFIED BY BD123

         ACCOUNT UNLOCK

         DEFAULT TABLESPACE DB_DATA

         TEMPORARY TABLESPACE DB_TEMP;

默认表空间'DEFAULT TABLESPACE'使用上面创建的表空间名:DB_DATA。

临时表空间'TEMPORARY TABLESPACE'使用上面创建的临时表空间名:DB_TEMP。

 

4.接着授权给新建的用户:

SQL> GRANT CONNECT,RESOURCE TO NEWUSER;  --表示把 connect,resource权限授予news用户

SQL> GRANT DBA TO NEWUSER;  --表示把 dba权限授予给NEWUSER用户

 授权成功。

    OK! 数据库用户创建完成,现在你就可以使用该用户创建数据表了!    

 

总结:创建用户一般分四步:

第一步:创建临时表空间

第二步:创建数据表空间

第三步:创建用户并制定表空间

第四步:给用户授予权限

 

 

分为四步 

第1步:创建临时表空间

create temporary tablespace yuhang_temp tempfile 'D:\oracledata\yuhang_temp.dbf' size 50m autoextend on  next 50m maxsize 20480m  extent management local;  

第2步:创建数据表空间 

create tablespace yuhang_data  logging  datafile 'D:\oracledata\yuhang_data.dbf' size 50m  autoextend on  next 50m maxsize 20480m  extent management local;  

第3步:创建用户并指定表空间 

create user yuhang identified by yuhang default tablespace yuhang_data  temporary tablespace yuhang_temp;  

/*第4步:给用户授予权限  */
 

grant connect,resource,dba to yuhang;

 




//其他用不着的授权,了解一下

//-------------------------------------------

-- 登录授权;
grant connect to mike;

-- scott用户为mike赋予表emp的select权限;
grant select on emp to mike;

-- sys用户为mike赋予表emp的select权限;
grant select on scott.emp to mike;

-- 授予mike用户增删改查scott.emp表的权限
grant select,insert,delete,update on scott.emp to mike;

//-------------------------------------------

--查看数据库中所有用户的名称;
select username from dba_users;

--新建用户
create user mike identified by 3713;

--改密用户
alter user mike identified by 3714;

//-------------------------------------------


//权限回收

--scott用户回收mike对emp表的select权限;
revoke select on emp from mike;

--sys用户回收mike对emp表的select权限;
revoke select on scott.emp from mike;

//查看权限与角色

--查看当前用户本身具有的权限
select * from session_privs;

--查看当前用户本身具有的角色
select * from user_role_privs;

--查看connect角色有哪些权限
select * from user_role_privs  where GRANTED_ROLE='CONNECT';

 



 

//1.创建临时表空间

create temporary tablespace hbdb_temp 
tempfile 'D:\oracledata\hbdb_temp.dbf' 
size 50m 
autoextend on  
next 50m 
maxsize 20480m  
extent management local;  


//2.创建表空间

create tablespace HBDB  
logging  
datafile 'D:\oracledata\hbdb.dbf' 
size 50m  
autoextend on  
next 50m maxsize 20480m  
extent management local;  

  

//3.创建用户:用户为hb_cloud_disk 密码为hb_cloud_disk 用户空间HBDB 

create user hb_cloud_disk identified by hb_cloud_disk default tablespace HBDB temporary tablespace hbdb_temp; 

//4.授权给用户

-- 授予hb_cloud_disk用户 登录连接(connect) 和 资源(resource)权限
grant connect, resource to hb_cloud_disk;

-- 授予不限制的表空间 
grant unlimited tablespace to hb_cloud_disk;

-- 授予创建数据库权限
grant create database link to hb_cloud_disk;

-- 授予查询任何序列,视图等权限
grant select any sequence,create materialized view to hb_cloud_disk;

-- 授予查询任何表 
grant select any table to hb_cloud_disk;

-- 为该用户赋予dba角色
grant dba to hb_cloud_disk; 

 

//------------------------------------------------------

//删除表空间
drop tablespace HBDB including contents and datafiles;  

//删除用户
drop user hb_cloud_disk cascade;  

//撤销权限connect和resource权限
revoke connect, resource from hb_cloud_disk;

//------------------------------------------------------

 



 


//2.创建表空间

create tablespace HBDB  
logging  
datafile 'D:\oracledata\hbdb.dbf' 
size 50m  
autoextend on  
next 50m maxsize 20480m  
extent management local;  

  

//3.创建用户:用户为hb_cloud_disk 密码为hb_cloud_disk 用户空间HBDB 临时空间为hbdb_temp

create user hb_cloud_disk identified by hb_cloud_disk default tablespace HBDB; 

//4.授权给用户

-- 授予hb_cloud_disk用户 登录连接(connect) 和 资源(resource)权限
grant connect, resource to hb_cloud_disk;

-- 授予不限制的表空间 
grant unlimited tablespace to hb_cloud_disk;

-- 授予创建数据库权限
grant create database link to hb_cloud_disk;

-- 授予查询任何序列,视图等权限
grant select any sequence,create materialized view to hb_cloud_disk;

-- 授予查询任何表 
grant select any table to hb_cloud_disk;

-- 为该用户赋予dba角色
grant dba to hb_cloud_disk; 

 

//------------------------------------------------------

//删除表空间
drop tablespace HBDB including contents and datafiles;  

//删除用户
drop user hb_cloud_disk cascade;  

//撤销权限connect和resource权限
revoke connect, resource from hb_cloud_disk;

//------------------------------------------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值