oracle12c 实战 建立PDB用户 建立表空间 导入DMP数据

    对于一个习惯使用oracle11g的数据库管理员,开始接触安装oracle12c后,第一个问题就是怎么连基本的用户都建立不了,连DBA权限都无论用。html

 

 

 

 

 

 

    

 

原来oracle11的DB变为了CDB(Container Database)和PDB(Pluggable Database)两个概念,CDB就至关于oracle11之前建立的数据库,而PDB则是oracle12引入的插接式数据库,可建立多个挂载在CDB下,这就意味着你没法在CDB中建立普通用户,所建立的用户前必须加上“C##”来显示这是CDB级的用户才能成功建立,java

 

 

 

 

 

 

例:create user C##joker identified by "joker"; ----“C##joker”为用户名,“joker”为密码linux

    因此对于用惯了oracle11的同志来讲,要建立普通用户须要在PDB环境中这么添加。sql

在安装好oracle12后,数据库

首先以 SYS as SYSDBA@ORCL登陆,至关于进入CDB;windows

而后,建立PDB挂载在CDB下:session

在windows中,直接进入“Database Configuration Assistant”添加PDB;oracle

 

 

 

 

 

 

在Linux中建立PDB,参考以下:ide

http://jingyan.baidu.com/article/f71d6037ac90101ab641d1d1.htmlspa

可以使用以下sql查询你所建立的PDB:

select pdb_id,pdb_name,dbid,status,creation_scn from dba_pdbs;----查询pdb有哪些

以后,在CDB环境中进入PDB,sql以下:

alter session set container=JOKERPDB;---开启PDB数据库链接
alter pluggable database JOKERPDB open;----打开PDB数据库

以后,手动配置PDB的tnsnames.ora

JOKERPDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = JOKERPDB)
    )
  )

以后,进入tns配好的PDB数据库,并在PDB下建立PDB用户,sql以下:

create user JOKER identified by "joker";
grant DBA to JOKER;---给用户DBA权限;友情提示:权限大小酌情

以后,给用户建立表空间,sql以下:

create tablespace JOKERSPACE
    logging
    datafile 'D:/oracle12/oradata/joker/datafile/JOKER.dbf'
    size 524288000
    autoextend on
    next 104857600 maxsize 32767M
    extent management local;
    
alter user JOKER default tablespace JOKERSPACE;---用户绑定表空间
alter user JOKER quota unlimited on JOKERSPACE;---限制表空间,unlimited表示不限制

最后附上导入DMP数据:

windows在cmd中执行,linux用"su oracle"执行
imp username/password@pdb file=D:/joker.dmp fromuser=JOKER touser=JOKER log=imp.log buffer=100000000
username/password@pdb----依次是PDB用户名,密码,数据库名
log----------------------生成导入日志,地址本身定义
buffer-------------------缓冲区,防止数据过大

Oracle12C 链接数据库  "jdbc:oracle:thin:@localhost:1521/JOKERPDB";(端口号跟斜线,再也不是冒号)

相关文章
相关标签/搜索