Oracle 12c 数据库CDB用户创建与表空间分配的问题
2015-02-01 19:19
585 查看
Oracle12c中,增加了可插接数据库的概念,即PDB,允许一个数据库容器(CDB)承载多个可插
拔数据库(PDB)。CDB全称为ContainerDatabase,中文翻译为数据库容器,PDB全称为Plugga
bleDatabase,即可插拔数据库。在ORACLE 12C之前,实例与数据库是一对一或多对一关系
(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库
不可能是一对多的关系。当进入ORACLE 12C后,实例与数据库可以是一对多的关系。下面是官方
文档关于CDB与PDB的关系图。
对于PDB确实给程序员带来了不少好处,不过这也给管理者带来了一些不同。首先,容器数据库创建
新用户并分配表空间时必须在没有PDB的情况下进行或PDB与CDB有相同的表空间的时候进行,否则
会报错。如果是在PDB与CDB有相同表空间的情况下给CDB用户分配表空间,则会分配CDB的表空间
给用户PDB的表空间并不受影响。而且,CDB用户必须以‘C##’为开头,否则创建不了,但是,我在网
上看到了一篇文章,地址/article/10859399.html,我按照他的方法去创建
了一下,确实创建成功了,同时也给他赋了各种权限,但是在Oracle Enterprise Manager下我看不见我
自己创建的角色,在sql-plus窗口下也看不到刚刚创建的用户,登陆的时候只有以dba身份才能登得上去
,不知道是不是我自己电脑的问题还是。以下是创建’c##’开头的用户
创建用户c##admin,并未该用户赋予了dba权限,连接。这是在没有PDB的情况下创建用户
“C##ADMIN”并分配”USERS‘表空间。我们再次以system身份连接数据库,然后在容器数
据库(CDB)中创建表空间test,注意,这时插接式数据库(PDB)中没有test这个表空间,
然后在容器数据库(CDB)创建新的用户c##test并分配test表空间给它作为他的默认表空间
。由于在PDBORCL中并没有表空间,所以这里报错了。如下图所示:
----切换到PDB “PDBORCL”
SQL> alter sessionset container = pdborcl;
会话已更改。
SQL> createtablespace test --创建表空间test
2 datafile 'f:\oracledata\test.dbf'
3 size1m autoextend on;
表空间已创建。
--由于现在不论是在CDB好是在PDB中都有了表空间test了,所以创建用户并分配表空
间成功了。
SQL> createuser c##test
2 identified by test
3 default tablespace test
4 temporary tablespace temp;
用户已创建。
SQL>
Oracle12c中,增加了可插接数据库的概念,即PDB,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为ContainerDatabase,中文翻译为数据库容器,PDB全称为PluggableDatabase,即可插拔数据库。在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当进入ORACLE 12C后,实例与数据库可以是一对多的关系。下面是官方文档关于CDB与PDB的关系图。
对于PDB确实给程序员带来了不少好处,不过这也给管理者带来了一些不同。
首先,容器数据库创建新用户并分配表空间时必须在没有PDB的情况下进行或PDB与CDB有相同的表空间的时候进行,否则会报错。如果是在PDB与CDB有相同表空间的情况下给CDB用户分配表空间,则会分配CDB的表空间给用户PDB的表空间并不受影响。而且,CDB用户必须以‘C##’为开头,否则创建不了,但是,我在网上看到了一篇文章,地址/article/10859399.html,我按照他的方法去创建了一下,确实创建成功了,同时也给他赋了各种权限,但是在Oracle
Enterprise Manager下我看不见我自己创建的角色,在sql-plus窗口下也看不到刚刚创建的用户,登陆的时候只有以dba身份才能登得上去,不知道是不是我自己电脑的问题还是。以下是创建’c##’开头的用户
创建用户c##admin,并未该用户赋予了dba权限,连接。
这是在没有PDB的情况下创建用户“C##ADMIN”并分配”USERS‘表空间。
我们再次以system身份连接数据库,然后在容器数据库(CDB)中创建表空间test,注意,这时插接式数据库(PDB)中没有test这个表空间,然后在容器数据库(CDB)创建新的用户c##test并分配test表空间给它作为他的默认表空间。由于在PDBORCL中并没有表空间,所以这里报错了。如下图所示:
----切换到PDB “PDBORCL”
SQL> alter sessionset container = pdborcl;
会话已更改。
SQL> createtablespace test --创建表空间test
2 datafile 'f:\oracledata\test.dbf'
3 size1m autoextend on;
表空间已创建。
--由于现在不论是在CDB好是在PDB中都有了表空间test了,所以创建用户并分配表空间成功了。
SQL> createuser c##test
2 identified by test
3 default tablespace test
4 temporary tablespace temp;
用户已创建。
SQL>
拔数据库(PDB)。CDB全称为ContainerDatabase,中文翻译为数据库容器,PDB全称为Plugga
bleDatabase,即可插拔数据库。在ORACLE 12C之前,实例与数据库是一对一或多对一关系
(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库
不可能是一对多的关系。当进入ORACLE 12C后,实例与数据库可以是一对多的关系。下面是官方
文档关于CDB与PDB的关系图。
对于PDB确实给程序员带来了不少好处,不过这也给管理者带来了一些不同。首先,容器数据库创建
新用户并分配表空间时必须在没有PDB的情况下进行或PDB与CDB有相同的表空间的时候进行,否则
会报错。如果是在PDB与CDB有相同表空间的情况下给CDB用户分配表空间,则会分配CDB的表空间
给用户PDB的表空间并不受影响。而且,CDB用户必须以‘C##’为开头,否则创建不了,但是,我在网
上看到了一篇文章,地址/article/10859399.html,我按照他的方法去创建
了一下,确实创建成功了,同时也给他赋了各种权限,但是在Oracle Enterprise Manager下我看不见我
自己创建的角色,在sql-plus窗口下也看不到刚刚创建的用户,登陆的时候只有以dba身份才能登得上去
,不知道是不是我自己电脑的问题还是。以下是创建’c##’开头的用户
创建用户c##admin,并未该用户赋予了dba权限,连接。这是在没有PDB的情况下创建用户
“C##ADMIN”并分配”USERS‘表空间。我们再次以system身份连接数据库,然后在容器数
据库(CDB)中创建表空间test,注意,这时插接式数据库(PDB)中没有test这个表空间,
然后在容器数据库(CDB)创建新的用户c##test并分配test表空间给它作为他的默认表空间
。由于在PDBORCL中并没有表空间,所以这里报错了。如下图所示:
----切换到PDB “PDBORCL”
SQL> alter sessionset container = pdborcl;
会话已更改。
SQL> createtablespace test --创建表空间test
2 datafile 'f:\oracledata\test.dbf'
3 size1m autoextend on;
表空间已创建。
--由于现在不论是在CDB好是在PDB中都有了表空间test了,所以创建用户并分配表空
间成功了。
SQL> createuser c##test
2 identified by test
3 default tablespace test
4 temporary tablespace temp;
用户已创建。
SQL>
Oracle12c中,增加了可插接数据库的概念,即PDB,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为ContainerDatabase,中文翻译为数据库容器,PDB全称为PluggableDatabase,即可插拔数据库。在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当进入ORACLE 12C后,实例与数据库可以是一对多的关系。下面是官方文档关于CDB与PDB的关系图。
对于PDB确实给程序员带来了不少好处,不过这也给管理者带来了一些不同。
首先,容器数据库创建新用户并分配表空间时必须在没有PDB的情况下进行或PDB与CDB有相同的表空间的时候进行,否则会报错。如果是在PDB与CDB有相同表空间的情况下给CDB用户分配表空间,则会分配CDB的表空间给用户PDB的表空间并不受影响。而且,CDB用户必须以‘C##’为开头,否则创建不了,但是,我在网上看到了一篇文章,地址/article/10859399.html,我按照他的方法去创建了一下,确实创建成功了,同时也给他赋了各种权限,但是在Oracle
Enterprise Manager下我看不见我自己创建的角色,在sql-plus窗口下也看不到刚刚创建的用户,登陆的时候只有以dba身份才能登得上去,不知道是不是我自己电脑的问题还是。以下是创建’c##’开头的用户
创建用户c##admin,并未该用户赋予了dba权限,连接。
这是在没有PDB的情况下创建用户“C##ADMIN”并分配”USERS‘表空间。
我们再次以system身份连接数据库,然后在容器数据库(CDB)中创建表空间test,注意,这时插接式数据库(PDB)中没有test这个表空间,然后在容器数据库(CDB)创建新的用户c##test并分配test表空间给它作为他的默认表空间。由于在PDBORCL中并没有表空间,所以这里报错了。如下图所示:
----切换到PDB “PDBORCL”
SQL> alter sessionset container = pdborcl;
会话已更改。
SQL> createtablespace test --创建表空间test
2 datafile 'f:\oracledata\test.dbf'
3 size1m autoextend on;
表空间已创建。
--由于现在不论是在CDB好是在PDB中都有了表空间test了,所以创建用户并分配表空间成功了。
SQL> createuser c##test
2 identified by test
3 default tablespace test
4 temporary tablespace temp;
用户已创建。
SQL>
相关文章推荐
- oracle 11g 数据库, 创建表空间, 修改表空间, 创建用户,并将用户分配给表空间,将dmp
- win8下Oracle 12c 创建新用户并分配表空间
- Oracle的实例、表空间、用户、数据库、Schema结构和一个实际问题
- oracle 数据库 创建用户 创建空间 导入数据
- Oracle创建删除用户、角色、表空间、导入导出数据库命令行方式总结(转)
- oracle创建表空间、用户、分配权限
- Oracle 验证机制 -- 解决刚创建数据库后未赋权新建用户以dba登录问题
- ORACLE创建表空间及数据库用户
- oracle 数据库创建表空间 用户 授权
- 如何在服务器上开通 sql server 2008 r2 数据库空间,如何创建用户,如何分配权限
- Oracle创建删除用户、角色、表空间、导入导出数据库命令行方式总结
- Oracle 创建用户,分配空间,用户授权
- oracle 数据库表空间、用户、权限的创建与删除
- Oracle创建删除用户、角色、表空间、导入导出数据库命令行方式总结
- Oracle创建删除用户、角色、表空间、导入导出数据库命令行方式总结
- Oracle创建删除用户、角色、表空间、导入导出数据库命令行方式总结
- Oracle创建删除用户、角色、表空间、导入导出数据库命令行方式总结
- Oracle创建删除用户、角色、表空间、导入导出数据库命令行方式总结
- 创建oracle 数据库表空间,角色,用户的sql语句
- [转]Oracle创建删除用户、角色、表空间、导入导出数据库命令行方式总结