您的位置:首页 > 数据库 > Oracle

Oracle 12c 日常维护

2015-12-04 09:04 501 查看
1.启动CDB和PDB数据库
SQL> select con_id,dbid,name,open_mode from v$pdbs;

CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
2 1226396669 PDB$SEED READ ONLY
3 411454583 DB12CCD MOUNTED

SQL> alter pluggable database all open;

Pluggable database altered.

SQL> select con_id,dbid,name,open_mode from v$pdbs;

CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
2 1226396669 PDB$SEED READ ONLY
3 411454583 DB12CCD READ WRITE

2.创建PDB数据库

SQL> select name,cdb from v$database;

NAME CDB
--------- ---
DB12C YES

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

PDB_ID PDB_NAME DBID STATUS CREATION_SCN
---------- -------------------- ---------- --------- ------------
3 DB12CCD 411454583 NORMAL 1744330
2 PDB$SEED 1226396669 NORMAL 1594399

SQL> create pluggable database test admin user test identified by test file_name_convert=('/u01/app/oracle/oradata/cdb/pdbseed/','/u01/app/oracle/oradata/cdb/test/');

Pluggable database created.

create pluggable database test1 admin user test1 identified by test1 file_name_convert=('/u01/app/oracle/oradata/cdb/test/','/u01/app/oracle/oradata/cdb/test1/');

3.建立连接
--进入cdb
sqlplus / as sysdba
sqlplus sys/sys@192.168.10.32:1521/cdb as sysdba

--进入pdb
3.1)通过tns方式用创建的admin user登录

[oracle@ora12cA ~]$ sqlplus sys/oracle@192.168.10.32:1521/test as sysdba

SQL> show con_name

CON_NAME
------------------------------
TEST

--查看admin user拥有的权限

SQL> select * from session_privs;

PRIVILEGE
----------------------------------------
SET CONTAINER
CREATE PLUGGABLE DATABASE
CREATE SESSION

3.2)通过set container来连接pdb
SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB MOUNTED
4 TEST READ WRITE NO
SQL> alter session set container=test;

Session altered.

SQL> show con_name

CON_NAME
------------------------------
TEST

4.打开和关闭pdb

SQL>alter pluggable database all close immediate;

SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB MOUNTED
4 TEST MOUNTED
--打开单个pdb
SQL> alter pluggable database pdb open;

Pluggable database altered.

SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB READ WRITE NO
4 TEST MOUNTED

--打开所有pdb
SQL> alter pluggable database all open;

Pluggable database altered.

SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB READ WRITE NO
4 TEST READ WRITE NO

--关闭所有pdb
SQL> alter pluggable database all close immediate;

Pluggable database altered.

SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB MOUNTED
4 TEST

5.创建用户。

1).概述
在cdb默认是container=all,在cdb中只能创建全局用户;
在pdb默认是container=current,在pdb只能创建本地用户。 http://dovelauren.blog.51cto.com/9876026/1719310 如果在cdb中创建用户会在cdb和所有的pdb中创建该用户,但是pdb中的全局用户需要另外授权才能够在pdb中访问)。

2).创建全局用户
SQL> show con_name

CON_NAME
------------------------------
CDB$ROOT
SQL> create user c##t identified by t;

User created.

SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB READ WRITE NO
4 PDB1 READ WRITE NO
3).创建本地用户
SQL> alter session set container=pdb1;

Session altered.

SQL> create user t identified by t;

User created.

SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
4 PDB1 READ WRITE NO

6.用户授权
用户授权默认情况下是只会给当前container,在cdb中也可以指定container=all,对所有open的pdb且存在该用户都进行授权
Connected.
SQL> grant connect,resource to c##t;

Grant succeeded.

SQL> grant connect,resource to c##t container=all;

Grant succeeded.

7.修改参数
在cdb中修改,pdb会继承进去;如果在pdb中修改会覆盖pdb从cdb中继承的参数含义
SQL> show con_name

CON_NAME
------------------------------
CDB$ROOT
SQL> show parameter open_cursors

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
open_cursors integer 300
SQL> alter system set open_cursors=500;

System altered.

SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB READ WRITE NO
4 PDB1 READ WRITE NO
SQL> alter session set container=pdb1;

Session altered.

SQL> show parameter open_cursors

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
open_cursors integer 500
SQL> alter system set open_cursors=100;

System altered.

SQL> show parameter open_cursors

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
open_cursors integer 100
SQL> show con_name

CON_NAME
------------------------------
PDB1
SQL> alter session set container=CDB$ROOT;

Session altered.

SQL> show parameter open_cursors

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
open_cursors integer 500
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Oracle 12c 管理 创建pdb