天天看点

oracle12c创建表空间、创建用户、创建权限1.基本概念3.创建用户4.给用户创建权限5.综合练习(很重要.正在写...)6.参考资料

目录

1.基本概念

1.1.关于账号的概念

1.2.关于pdb和cdb的概念

3.创建用户

4.给用户创建权限

5.综合练习(很重要.正在写...)

6.参考资料

1.基本概念

1.1.关于账号的概念

        在安装Oracle时,你需要记住设置的“全局数据库名”(默认为orcl) 和 口令,在以两种方式登录时:

用户名: sys(超级用户==sysdba) / system(管理员用户)Sys和system区别在于system不能创建表空间

system默认口令:manager

sys默认默认:change_on_install

使用SQL Plus登录数据库时,system使用密码manager可直接登录。

但如果是sys用户,密码必须加上as sysdba,即完整密码为:change_on_install as sysdba

如果是用工具Oracle SQL Developer登录sys用户,那么需要先用sqlplus登录sys,然后修改密码,之后就用这个密码连接既可以

修改命令:alter user sys identified by 123456

oracle12c创建表空间、创建用户、创建权限1.基本概念3.创建用户4.给用户创建权限5.综合练习(很重要.正在写...)6.参考资料

1.2.关于pdb和cdb的概念

       Oracle12c 中,增加了可插接数据库的概念,即PDB,允许一个数据库容器(CDB 全称:Container Database)承载多个可插拔数据库(PDB 全称:Pluggable Database)。cdb相当于操作系统,调用并管理各个pdb。pdb相当于真正提供业务需求的数据库实例。我们可以用sqlplus命令登录sys用户查询一下:

select  name , open_mode from v$pdbs;
           

可以看到默认创建了两个pdb可插拨数据库:

NAME                           OPEN_MODE

------------------------------ -----------------------

PDB$SEED                       READ ONLY

PDBORCL                        READ WRITE

可以看到有两个pcd数据库。

oracle 12c安装后还创建了cdb。

oracle12c创建表空间、创建用户、创建权限1.基本概念3.创建用户4.给用户创建权限5.综合练习(很重要.正在写...)6.参考资料

2.创建表空间

创建表空间是分CDB下的表空间和PDB下的表空间的。

查看表空间SQL如下:

select tablespace_name from dba_tablespaces; 
           

创建数据表空间SQL如下:

create tablespace user_data  -- 表空间名
datafile 'D:\APP\ORACLE\ORADATA\ORCL\bamboo_data.DBF' -- 表空间存储文件位置
size 50m  -- 文件大小
autoextend on  
next 50m maxsize 20480m  
extent management local;
           

创建临时数据表空间SQL如下:

create temporary tablespace user_temp  
tempfile 'D:\APP\ORACLE\ORADATA\ORCL\bamboo_temp.dbf'
size 50m  
autoextend on  
next 50m maxsize 20480m  
extent management local;
           
指令 说明 例子
create tablespace xx 创建表空间,表空间名称为xx
logging/nologging 生成日志/不生成日志
datafile  xx.dbf size  mmM 数据文件的具体位置和数据文件大小,如果有多个文件,可以用逗号隔开,但是每个文件都需要指明大小.单位以指定的单位为准如 5M 或 500K。

删除表空间SQL如下:

drop tablespace user_temp including contents;-- 同时删除文件
           

查看表空间的所在路径SQL:

select * from dba_data_files
           
(start)
FILE_NAME 文件名 D:\APP\ORACLE\ORADATA\ORCL\SYSTEM01.DBF
FILE_ID 文件ID 1
TABLESPACE_NAME 表空间名 SYSTEM
BYTES 字节 838860800(B) = 800(MB)  
BLOCKS 102400
STATUS 状态 AVAILABLE
RELATIVE_FNO 相对文件编号 1
AUT   YES
MAXBYTES 最大字节 3.4360E+10
MAXBLOCKS 最大块 4194302         
INCREMENT_BY 增量 1280  
USER_BYTES 使用字节 837812224      
USER_BLOCKS 使用块 102272
ONLINE_ 在线 SYSTEM
(end)

3.创建用户

创建用户SQL如下:

create user c##bamboo identified by **** -- 用户名和密码
default tablespace user_data  -- 设置默认表空间
temporary tablespace user_temp; -- 设置默认临时表空间
           

因为我用的数据库是12c,所以用户名前面要加c##,想知道原因请看:

https://blog.csdn.net/wangsimiao118/article/details/78818836

那么要想创建的用户不需要加c##,那就是要求数据库不能为CDB。也就是要连接PDB,只有PDB中的数据库创建的时候才能不加C##。

怎么查数据库是不是CDB呢,如下语句:

select CDB from v$database;
           

如果得到的结果为YES,那么就是CDB的数据库,否则,则不是。

要不想创建数据库的时候不加c##,我们可以重新创建数据库,打开

Database Configuration Assistant工具。

oracle12c创建表空间、创建用户、创建权限1.基本概念3.创建用户4.给用户创建权限5.综合练习(很重要.正在写...)6.参考资料

去掉红框里的勾选就可以了。

4.给用户创建权限

给用户权限SQL如下:

grant connect,resource,dba to username;
           

5.综合练习(很重要.正在写...)

综合上面的知识,我们来创建一个PDB,然后通过这个PDB 去创建表空间和创建用户、给用户权限,然后通过这个用户去连接pdb,然后创建表。

假设已经安装了oracle12c

(1)现在我们用cmd命令行开始登陆oracle

sqlplus
           

输入用户 sys (我们用这个登陆)

输入密码:change_on_install as sysdba

登陆成功!如下图示:

oracle12c创建表空间、创建用户、创建权限1.基本概念3.创建用户4.给用户创建权限5.综合练习(很重要.正在写...)6.参考资料

可以查一下当前数据库

select name from v$database;
           
oracle12c创建表空间、创建用户、创建权限1.基本概念3.创建用户4.给用户创建权限5.综合练习(很重要.正在写...)6.参考资料

当前数据库为:ORCL

查看当前数据库是不是CDB数据库

select CDB from v$database;
           
oracle12c创建表空间、创建用户、创建权限1.基本概念3.创建用户4.给用户创建权限5.综合练习(很重要.正在写...)6.参考资料

当前数据库是CDB数据库。

查当前CDB有几个PDB:

select  name , open_mode from v$pdbs;
           
oracle12c创建表空间、创建用户、创建权限1.基本概念3.创建用户4.给用户创建权限5.综合练习(很重要.正在写...)6.参考资料

两个:一个是默认的PDBORCL,另一个是PDB的模板PDB$SEED(创建PDB的时候会用到PDB$SEED)

(2)创建PDB

6.参考资料

1.https://blog.csdn.net/dev_csdn/article/details/79459017

2.https://www.jb51.net/article/106497.htm