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。