删除表空间  

INCLUDING CONTENTS:指删除表空间中的segments;

INCLUDING CONTENTS AND DATAFILES:指删除segments和datafiles;

CASCADE CONSTRAINTS:删除所有与该空间相关的完整性约束条件。

#将表空间和物理文件一起删除
drop tablespace SHOPMARKET including contents and datafiles  CASCADE CONSTRAINTS;

 

oracle12基本操作_服务器

oracle12基本操作_c#_02

查看容器

select con_id,dbid,NAME,OPEN_MODE from v$pdbs;

oracle12基本操作_服务器_03

切换容器到pdb

alter session set container=PDBORCL;

查看当前使用容器

select sys_context ('USERENV', 'CON_NAME') from dual; 

oracle12基本操作_自动启动_04

查看表空间

select tablespace_name from dba_tablespaces; 

 oracle12基本操作_sql_05

 

通过alter database命令修改数据库文件(database file)的大小

alter database datafile 'D:\app\oradata\orcl\abcd.DBF'resize 10240M 

修改完成后可修改后的数据文件大小已经改变

select * from dba_data_files;

oracle12基本操作_服务器_06

 

CDB,PDB

 select pdb_id,pdb_name,dbid,status,creation_scn from dba_pdbs;

使用system登录,PLSQL Developer选择ORCL,执行

select name,open_mode from v$pdbs; 用来查看当前CDB容器中包含的PDB容器

oracle12基本操作_c#_07

   pdborcl的open_mide的状态是READ WRITE,使用pdborcl也能登录,但是你重启服务器这个状态会变为

oracle12基本操作_sql_08

  这时候PLSQL Developer选择pdborcl就不能登录了,出现错误

oracle12基本操作_服务器_09

  因为服务器重启时,pdb默认不启动

  PLSQL Developer选择ORCL. system登录(或使用sqlplus)执行

alter pluggable database PDBORCL open; 启动pdb

创建用户

  创建新用户,注意CDB容器中创建一个通用用户,用户名必须以C##或者c##开头,因为CDB中默认创建的是common user

  如果想要创建本地用户,则要在PDB容器中创建,下面会说如何切换到PDB容器

切换至查到的某个PDB容器(上面查到的是PDBORCL)

   注意使用这个命令需要的sysdba级别的权限,否则无法执行,切换后才可使用当前pdb的私有用户进行操作,12c数据库创建完成后,默认情况下使用sqlplus / as sysdba  登录连接的是CDB。

  切换到PDB容器就可以创建本地用户了

   create user test identified by 123456;

如果要切换回CDB容器只需将容器名换为CDB容器的名字即可,一个CDB只有一个根

 alter session set container=CDB$ROOT;   

 

常用命令

切换当前会话到某个pdb中。

alter session set container=PDBNAME

 

关闭当前会话所在的cdb/pdb

startup/shutdown immediate

 

打开指定pdb

alter pluggable database PDBNAME open ;

 

关闭指定pdb

alter pluggable database PDBNAME close immediate ;

 

可插接式数据库(PDB) 自动启动

默认情况下,在CDB 启动的时候,all 的PDB 都是mount状态。我们可以通过触发器来实现pdbs随cdb自动启动,但这里可以通过触发器来实现PDB的自动open:

sqlplus / as sysdba
SQL> show con_name



CON_NAME
------------------------------
CDB$ROOT

 


SQL>
CREATE OR REPLACE TRIGGER open_pdbs
AFTER STARTUP ON DATABASE
BEGIN
EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN';
END open_pdbs;
/