Oracle PDB数据库查询实践(oracle pdb查询)

Oracle PDB数据库查询实践

随着数据库规模的不断扩大,各种新的技术被引入数据库管理中以应对不断增长的数据。其中一个重要的技术是Oracle的多租户架构,通过使用Pluggable Database(PDB),Oracle可以提供许多新的数据库管理功能。

在Oracle PDB数据库中,我们将不同的数据库分别存储在不同的PDB中,每个PDB都可以进行不同的配置和管理,同时具有与非PDB数据库相同的功能。本文将介绍如何在Oracle PDB数据库中查询数据。

创建PDB

我们需要创建一个新的PDB。假设我们将创建一个名为“mydb”的PDB,请按照以下步骤操作:

1. 创建一个名为“mydb”的新CDB数据库:

CREATE DATABASE “mydb”

USER “oracle”

IDENTIFIED BY “password”

MAXINSTANCES 8

MAXLOGHISTORY 1

MAXLOGFILES 16

MAXLOGMEMBERS 3

DATAFILE ‘/u01/app/oracle/oradata/mydb/system01.dbf’ SIZE 500M

SYSAUX ‘/u01/app/oracle/oradata/mydb/sysaux01.dbf’ SIZE 500M

DEFAULT TABLESPACE “USERS”

DEFAULT TEMPORARY TABLESPACE “TEMP”

UNDO TABLESPACE “UNDOTBS1”

2. 接下来,连接到该新CDB并创建一个名为“mydb”PDB:

CONN sys/password@mydb AS SYSDBA

CREATE PLUGGABLE DATABASE mydb_admin

ADMIN USER admin IDENTIFIED BY password

DEFAULT TABLESPACE users

DATAFILE ‘/u02/app/oracle/oradata/mydb/mydb_admin01.dbf’ SIZE 250M

PATH_PREFIX = ‘/u02/app/oracle/oradata/mydb/mydb_pdb’

3. 连接到新创建的PDB:

CONN sys/password@mydb_admin AS SYSDBA

ALTER PLUGGABLE DATABASE OPEN;

查询PDB

接下来,我们需要知道如何在Oracle PDB中查询数据。在使用Oracle PDB进行查询时,我们需要注意以下几点:

1. 使用PDB用户:我们需要在PDB中创建用户以使用PDB,例如:

CONN sys/password@mydb_admin AS SYSDBA

CREATE USER myuser IDENTIFIED BY password;

GRANT CONNECT, RESOURCE TO myuser;

ALTER SESSION SET CONTNER = mydb;

2. 使用SELECT语句:查询与非PDB数据库同样,我们可以使用SELECT来查询数据。

以下是查询一个PDB中“employee”表的示例:

SELECT * FROM employee;

3. 使用system或sysdba用户进行查询:如果我们没有在PDB中创建新用户,我们可以使用system或sysdba用户进行查询,为此我们需要连接到CDB并使用以下命令:

CONN system/password@mydb AS SYSDBA

ALTER SESSION SET CONTNER = mydb$root;

我们还可以使用以下命令将用户名命名为PATH_PREFIX下的PDB的完整路径:

CONN system/password@mydb AS SYSDBA

SELECT name FROM v$pdbs;

CONN system/password@mydb AS SYSDBA

ALTER SESSION SET CONTNER = pdb_admin;

SELECT /*+ full(mydb_employee) */ *

FROM mydb_employee@’//mydb_admin.mydb.oracle.com/pdb_admin’;

总结

Oracle PDB数据库是一个灵活的多租户架构,它提供了许多新的数据库管理功能。在使用Oracle PDB进行查询时,我们需要注意PDB用户的使用,以及使用SELECT语句进行查询。另外,我们还可以使用system或sysdba用户在CDB中查询PDB。


数据运维技术 » Oracle PDB数据库查询实践(oracle pdb查询)