一、打开SecureCRT5.1,连接到虚拟机服务器192.168.234.181
用户名/口令 root/123456
1.从root用户切换到oracle用户
[root@oradb ~]# su - oracle
2.用sysdba用户登陆sqlplus
[oracle@oradb ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue Nov 1 18:28:10 2016
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
3创建新的数据库用户hzpplsql口令hzpplsql
SQL> create user hzpplsql identified by hzpplsql
2 ;
User created.
4.此时尝试用刚创建的用户hzpplsql登陆:报错缺少权限。拒绝登陆。
补充:我们新建立一个用户之后,如果未进行任何权限的赋予,该用户甚至连登录的权限都没有。此时,我们需要赋予该用户create session的系统权限(或者connect角色),才能实现登录。
SQL> conn hzpplsql/hzpplsql@orcal
ERROR:
ORA-01045: user HZPPLSQL lacks CREATE SESSION privilege; logon denied
5.尝试授权,报错:没有连接。排查:查看当前用户为"空",即需要重新登陆
SQL> grant create session to hzpplsql;
SP2-0640: Not connected
SQL> show user;
USER is ""
6.重新连接sysdba登陆,再次授权,授权成功。
SQL> conn / as sysdba
Connected.
SQL> show user;
USER is "SYS"
SQL> grant create session to hzpplsql;
Grant succeeded.
//此时新用户hzpplsql就可以登陆了
SQL> conn hzpplsql/hzpplsql@orcal;
Connected.
//但是做任何事情的权限还是没有
SQL> create table t (id number);
create table t (id number)
*
ERROR at line 1:
ORA-01031: insufficient privileges
7.为用户hzpplsql授予DBA权限
切换到sysdba用户:
SQL> conn / as sysdba;
Connected.
SQL> grant resource,connect,dba to hzpplsql;
Grant succeeded.
补充:
对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限。
DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。sysdba角色之外权限最大的角色
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
8.查看用户hzpplsql目前拥有的权限
切换到hzpplsql用户
SQL> select * from user_sys_privs;
USERNAME PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
HZPPLSQL UNLIMITED TABLESPACE NO
HZPPLSQL CREATE SESSION NO
SQL> select * from user_role_privs;
USERNAME GRANTED_ROLE ADM DEF OS_
------------------------------ ------------------------------ --- --- ---
HZPPLSQL CONNECT NO YES NO
HZPPLSQL DBA NO YES NO
HZPPLSQL RESOURCE NO YES NO
补充:查看当前登陆用户的权限(系统、对象、角色)
select * from user_sys_privs;
select * from user_role_privs;
select * from user_tab_privs;
二、数据库环境已经创建好,具有DBA权限的用户hzpplsql,开始进行《Oracle PL/SQL攻略》的学习与练习
D:\myplsqltest\oracle-pl-sql-recipes-master\Oracle PL SQL Recipes\sources\hr进入目录,然后打开命令行终端CMD。执行如下命令:
1.通过SQL*PLUS连接到数据库,用刚刚新建的用户hzpplsql
sqlplus hzpplsql/hzpplsql@HZPEN181
2.执行上面目录下的sql脚本
@hr_main.sql
执行结果如下:
D:\myplsqltest\oracle-pl-sql-recipes-master\Oracle PL SQL Recipes\sources\hr>sqlplus hzpplsql/hzpplsql@HZPEN181
SQL*Plus: Release 11.2.0.1.0 Production on 星期一 11月 28 22:43:32 2016
Copyright (c) 1982, 2010, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> @hr_main.sql
SP2-0042: 未知命令 "em" - 其余行忽略。
****** Creating REGIONS table ....
表已创建。
索引已创建。
表已更改。
****** Creating COUNTRIES table ....
表已创建。
表已更改。
SP2-0734: 未知的命令开头 "department..." - 忽略了剩余的行。
****** Creating LOCATIONS table ....
表已创建。
。。。。。。。此处省略
成功安装所有HR相关表,到指定的用户(模式schema)中了,可以跟着书做练习了。
用户名/口令 root/123456
1.从root用户切换到oracle用户
[root@oradb ~]# su - oracle
2.用sysdba用户登陆sqlplus
[oracle@oradb ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue Nov 1 18:28:10 2016
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
3创建新的数据库用户hzpplsql口令hzpplsql
SQL> create user hzpplsql identified by hzpplsql
2 ;
User created.
4.此时尝试用刚创建的用户hzpplsql登陆:报错缺少权限。拒绝登陆。
补充:我们新建立一个用户之后,如果未进行任何权限的赋予,该用户甚至连登录的权限都没有。此时,我们需要赋予该用户create session的系统权限(或者connect角色),才能实现登录。
SQL> conn hzpplsql/hzpplsql@orcal
ERROR:
ORA-01045: user HZPPLSQL lacks CREATE SESSION privilege; logon denied
5.尝试授权,报错:没有连接。排查:查看当前用户为"空",即需要重新登陆
SQL> grant create session to hzpplsql;
SP2-0640: Not connected
SQL> show user;
USER is ""
6.重新连接sysdba登陆,再次授权,授权成功。
SQL> conn / as sysdba
Connected.
SQL> show user;
USER is "SYS"
SQL> grant create session to hzpplsql;
Grant succeeded.
//此时新用户hzpplsql就可以登陆了
SQL> conn hzpplsql/hzpplsql@orcal;
Connected.
//但是做任何事情的权限还是没有
SQL> create table t (id number);
create table t (id number)
*
ERROR at line 1:
ORA-01031: insufficient privileges
7.为用户hzpplsql授予DBA权限
切换到sysdba用户:
SQL> conn / as sysdba;
Connected.
SQL> grant resource,connect,dba to hzpplsql;
Grant succeeded.
补充:
对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限。
DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。sysdba角色之外权限最大的角色
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
8.查看用户hzpplsql目前拥有的权限
切换到hzpplsql用户
SQL> select * from user_sys_privs;
USERNAME PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
HZPPLSQL UNLIMITED TABLESPACE NO
HZPPLSQL CREATE SESSION NO
SQL> select * from user_role_privs;
USERNAME GRANTED_ROLE ADM DEF OS_
------------------------------ ------------------------------ --- --- ---
HZPPLSQL CONNECT NO YES NO
HZPPLSQL DBA NO YES NO
HZPPLSQL RESOURCE NO YES NO
补充:查看当前登陆用户的权限(系统、对象、角色)
select * from user_sys_privs;
select * from user_role_privs;
select * from user_tab_privs;
二、数据库环境已经创建好,具有DBA权限的用户hzpplsql,开始进行《Oracle PL/SQL攻略》的学习与练习
D:\myplsqltest\oracle-pl-sql-recipes-master\Oracle PL SQL Recipes\sources\hr进入目录,然后打开命令行终端CMD。执行如下命令:
1.通过SQL*PLUS连接到数据库,用刚刚新建的用户hzpplsql
sqlplus hzpplsql/hzpplsql@HZPEN181
2.执行上面目录下的sql脚本
@hr_main.sql
执行结果如下:
D:\myplsqltest\oracle-pl-sql-recipes-master\Oracle PL SQL Recipes\sources\hr>sqlplus hzpplsql/hzpplsql@HZPEN181
SQL*Plus: Release 11.2.0.1.0 Production on 星期一 11月 28 22:43:32 2016
Copyright (c) 1982, 2010, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> @hr_main.sql
SP2-0042: 未知命令 "em" - 其余行忽略。
****** Creating REGIONS table ....
表已创建。
索引已创建。
表已更改。
****** Creating COUNTRIES table ....
表已创建。
表已更改。
SP2-0734: 未知的命令开头 "department..." - 忽略了剩余的行。
****** Creating LOCATIONS table ....
表已创建。
。。。。。。。此处省略
成功安装所有HR相关表,到指定的用户(模式schema)中了,可以跟着书做练习了。