Oracle 12c 使用scott等普通用户的方法
第一步:在tns文件加入PDBORCL连接
在tns文件
\app\orcl\product\12.1.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora下加入如下内容:
-
PDBORCL =
-
(DESCRIPTION =
-
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
-
(CONNECT_DATA =
-
(SERVER = DEDICATED)
-
(SERVICE_NAME = PDBORCL)
-
)
-
)
第二步:找到SCOTT,并解锁它
1.徽标+R打开运行窗口,cmd打开命令窗口
2.输入 sqlplus / as sysdba
3.登录sys管理员 我这是默认密码chang_on_install
4.连接
SQL> conn sys/chang_on_install as sysdba;
已连接
5.更改连接会话
SQL> alter session set container = PDBORCL;
会话已更改
6.开启连接会话
SQL> startup
插接式数据库已打开
7.用sys登录到PDBORCL
SQL>conn sys@pdborcl/chang_on_install as sysdba;
已连接
8.查一下用没有SCOTT用户
SQL>select username from dba_users where username like ‘%SCOTT%’;
USERNAME
SCOTT
9.将scott用户解锁,赋予密码
SQL> alter user scott account unlock identified by tiger;
用户已更改。
10.–使用scott连接数据,只能连接pdborcl
SQL> conn scott@pdborcl/tiger;
已连接。
第三步:创建触发器自动启动PDB
1.先用sys登录CDB
SQL> conn sys/chang_on_install as sysdba;
2.创建触发器
CREATE OR REPLACE TRIGGER open_all_pdbs
AFTER STARTUP
ON DATABASE
BEGIN
EXECUTE IMMEDIATE 'alter pluggable database all open';
END open_all_pdbs;
3.关闭数据库
SQL> shutdown immediate
插接式数据库已关闭。
4.启动
SQL> startup
插接式数据库已打开
接下来我们就可以像11g那样使用像scott这样的普通用户了,当然只得在PDB下面使用。
SQL> conn scott@pdborcl/tiger
已连接。
转自Oracle12C SCOTT_oracle12c 解锁scott_fengye2two的博客-CSDN博客
1. oracle三种身份认证方式:操作系统身份认证、密码文件认证、数据库认证。
sqlplus /nolog,conn / as sysdba 或者 sqlplus / as sysdba 都属于操作系统身份认证 sqlplus有几种登陆方式 比如:
1.C: > sqlplus / as sysdba --以操作系统权限认证的oracle sys管理员登陆
2.C: > sqlplus /nolog --不在cmd或者terminal当中暴露密码的登陆方式
SQL> conn /as sysdba & SQL> conn sys/password as sysdba
3.C: > sqlplus scott/tiger --非管理员用户登陆
4.C: > sqlplus scott/tiger@orcl --非管理员用户使用tns别名登陆
5.C: > sqlplus sys/password@orcl as sysdba --管理员用户使用tns别名登陆
6.C: > sqlplus --不显露密码的登陆方式
Enter user-name:sys
Enter password:password as sysdba --以sys用户登陆的话 必须要加上 as sysdba 子句
2. 如果使用sqlplus时不需要用户登录,则可以通过命令 sqlplus /nolog 登录
3. show user 显示当前用户
4.切换用户,使用命令 CONN 用户名/密码
CONN sys/password AS SYSDBA
5. 启动PDB()
PDB Pluggable Database是12c的一个重要的新特性, 但是对于CDB中的PDB,默认启动CDB时不会将所有的PDB带起来,这样我们就需要手动alter pluggable database ALL OPEN;
5.1 查询pdb: select con_id,name,open_mode from v$pdbs;
5.2启动pdb
重启oracle服务器后,PDBORCL 的open_mode 为mounted 时
方法一:
切换到pdborcl
sql> alter session set container=PDBORCL
启动pdborcl
sql> startup
方法二:sql> alter pluggable database pdborcl open;
5.3 切换回CDB
sql> alter session set container=CDB$ROOT
9.6. 接下来用sys登录到pdborcl
SQL> conn sys@pdborcl/Hello123 as sysdba;
7.解锁默认用户scott
SQL> alter user scott account unlock identified by tiger;
用户已更改。
8.用scott登录,进行简单测试
SQL> conn scott@pdborcl/tiger
已连接。
9.用sys登录
SQL> conn sys/tiger assysdba;
已连接
9. 通过创建触发器的方式来自动启动PDB,用不着每次还得先用sys登录CDB,然后启动PDB。
触发器代码如下:
SQL> CREATE OR REPLACE TRIGGER open_all_pdbs
2 AFTER STARTUP
3 ON DATABASE
4 BEGIN
5 EXECUTE IMMEDIATE ‘alter pluggable database all open‘;
6 END open_all_pdbs;
7 /
触发器已创建
SQL> shutdown(因为之前分步骤操作已经启动过了,这次执行关闭看下关闭的过程然后再开启)
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
10.导入导出数据
启动PDB
C:\>sqlplus / as sysdba
sql> alter session set container=pdborcl;
sql> startup命令行导出导入数据
C:\>exp xxx/xxx@PDBORCL file=d:/DBexport.dmp
C:\>imp xxx/xxx@PDBORCL file=d:/DBexport.dmp
11查看当前容器
sql> show con_name;
12. 查看当前数据库实例
sql> select name from v$database;
13.关闭Pluggable Database
SQL> shutdown immediate
Pluggable Database closed.