Linux系统下连接Oracle数据库,创建新的数据库用户及分配权限
2016-12-20 09:08
561 查看
一、打开SecureCRT5.1,连接到虚拟机服务器192.168.234.181
用户名/口令 root/123456
1.从root用户切换到oracle用户
2.用sysdba用户登陆sqlplus
3.创建新的数据库用户hzpplsql口令hzpplsql
4.此时尝试用刚创建的用户hzpplsql登陆:报错缺少权限。拒绝登陆。
补充:我们新建立一个用户之后,如果未进行任何权限的赋予,该用户甚至连登录的权限都没有。此时,我们需要赋予该用户create session的系统权限(或者connect角色),才能实现登录。
5.尝试授权,报错:没有连接。排查:查看当前用户为”空”,即需要重新登陆。
6.重新连接sysdba登陆,再次授权,授权成功。
7.为用户hzpplsql授予DBA权限
切换到sysdba用户:
补充:
对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限。
DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。sysdba角色之外权限最大的角色 。
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
8.查看用户hzpplsql目前拥有的权限
切换到hzpplsql用户
补充:查看当前登陆用户的权限(系统、对象、角色)
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
2.执行上面目录下的sql脚本
执行结果如下:
。。。。。。。此处省略
成功安装所有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)中了,可以跟着书做练习了。
相关文章推荐
- Linux系统下连接Oracle数据库,创建新的数据库用户及分配权限
- Linux系统下连接Oracle数据库,创建新的数据库用户及分配权限
- Oracle数据库创建本地数据库、创建新用户并分配权限
- MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限
- MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限
- MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限 无法使用新增的用户登陆mysql
- MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限
- oracle数据库用户创建、权限分配
- MySQL创建数据库,授权用户访问权限,通过Navicat Premium进行连接
- navicat 8 创建数据库与创建用户分配权限图文方法
- 转:MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限
- navicat 8 创建数据库与创建用户分配权限图文方法
- 如何在服务器上开通 sql server 2008 r2 数据库空间,如何创建用户,如何分配权限
- SQL语句创建登录名,数据库用户,数据库角色及分配权限:
- MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限
- MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限
- MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限
- 数据库的创建,用户,及权限分配---MYSQL技术之路(一)
- MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限(重要)
- MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限(转)