解决scott用户不存在(第5个操作)

Oracle 12c 使用scott等普通用户的方法

第一步:在tns文件加入PDBORCL连接

在tns文件
\app\orcl\product\12.1.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora下加入如下内容:

  1. PDBORCL =

  2. (DESCRIPTION =

  3. (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

  4. (CONNECT_DATA =

  5. (SERVER = DEDICATED)

  6. (SERVICE_NAME = PDBORCL)

  7. )

  8. )

第二步:找到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.

 转载:oracle---SQLPlus命令操作用法详解

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值