一、Oracle的服务:
OracleOraDb10g_home1iSQL*Plus Oracle前端控制台,设为手动,一般不用,建议关闭
OracleOraDb10g_home1TNSListener 表示监听服务,必须打开
OracleServiceORCL 数据库ORCL的主服务,必须打开
命令行启动服务
1、 进入sqlplus: sqlplus / as sytem;
2、 启动监听服务:lsnrctl start 实例名
3、 启动实例服务:oradim –starup –sid 实例名
二、用户管理及权限管理:
1、默认用户
超级管理员(网络): sys/change_on_install(此密码在9i中为默认密码,再10中需要再安装时设置)
普通管理员(本地): system/manager(此密码在9i中为默认密码,再10中需要再安装时设置)
普通用户: scott/tiger
注意:SYS用户连接时,需要在后面加AS SYSDBA
2、 创建用户及授权
(1)create user 用户名 identified by 密码;注意:此时无任何窗口;
(2)授权:grant create session to lisi; 将创建session的权限给lisi,否则其无法登陆。
Grant create table to lisi; 将创建表的权限给lisi,用户对自己的表有增删改查的权限
Grant unlimited tablespace to lisi; 将使用表空间的权限给lisi;(默认使用表空间users)
注意:以上三个权限是用户必备的权限;
Public用户代表所有用户:
Grant create any table to public ; 所有用户都能创建任意的表;
(3)撤销权限:revoke create table from lisi; 撤销lisi创建表的权限;
(4)察看用户有哪些权限
Oracle提供一个数据字典,是关于系统信息的视图,user_sys_privs;
察看权限:select * from user_sys_privs; 察看当前用户的权限;
3、 对象权限
Oracle中的权限包括系统权限及对象权限;
系统权限:是指用户对系统进行操作的权限,比如创建表,创建session等等
对象权限:是指用户对对象(比如自己的表,别人的表)的操作权限,比如lisi创建了一张table,该表只能lisi访问,zhangsa不能访问,管理员可以访问所有用户的表;
授予对象权限:
Grant select on mytab to lisi; 将自己的mytab表的查询权限给李四,但不能增删改。
Grant insert on mytab to lisi; 将自己的mytab表的插入权限给李四。
Grant all on mytab to lisil ; 将mytab表的所有权限给李四;
注意,对象的所有者才可以授予其他用户关于这个对象的权限。
撤销对象权限:
Revoke all on mytab from lisi;
4、 权限传递
Grant 系统权限 to lisi with admin option |
将系统权限传递给李四,并允许李四将该权限传给别人 |
Grant 对象权限 to lisi with grant option |
将对象权限传递给李四,并允许李四将该权限传给别人 |
5、 角色
即权限的集合。对象权限也可以放入角色。
Create role myrole |
创建名为myrole的角色 |
Grant create table to myrole |
将创建表的权限赋予myrole角色 |
Grant create session to myrole |
将创建session的权限赋予myrole角色 |
Grant myrole to zhangsan |
将角色myrole授予给用户zhangsan |
Drop role myrole |
删除角色 |
注意:有些权限比较重要,不能放入角色中:
Unlimited tablespace |
表空间使用权(可以使用任何表空间) |
|
|
|
|
6、 三种登陆验证机制
(1)操作系统验证
(2)密码文件验证
(3)数据库验证
管理员权限的用户的验证方式是采用操作系统验证和密码文件验证。
管理员密码丢失怎么办?以下方法oracle9和10都可以
密码文件为D:\oracle\product\10.2.0\db_1\database\PWDorcl.ora
先将密码文件删除,然后执行如下命令:
Orapwd file=D:\oracle\product\10.2.0\db_1\database\PWDorcl.ora password=sys entries=10;
7、帐户管理细节
Create user zhangsan 创建用户
Identified by zhangsan 密码
Default tablespace Users 默认表空间
Temporary tablespace temp 历史表空间
Quota 50M on Users 默认表空间的限额为50M
Quota unlimited on temp 临时表空间无限制
oracle简单操作汇总
语句范例 |
描述 |
Alter table mytab add name varchar(10) |
增加名为name的列 |
Disconn |
断开当前连接 |
Commit |
提交当前修改 |
insert into mytab values(1,’lisi’) |
插入行 |
Grant updata(name) on mytab to wangwu |
将mytab表的name列的更新权限给wangwu |
Grant insert (id) on mytab to wangwu |
将mytab表的id列的插入权限给wangwu |
Insert into mytab (id) values (4) |
插入一行,仅限id列 |
Updata mytab set name=’hill’ where id=1 |
修改mytab表的name值 |
Grant 系统权限 to lisi with admin option |
将系统权限传递给李四,并允许李四将该权限传给别人 |
Grant 对象权限 to lisi with grant option |
将对象权限传递给李四,并允许李四将该权限传给别人 |
Create table mytab(id int) |
创建表,只有名为id的列 |
Drop table 表名 |
删除列 |
Create role myrole |
创建名为myrole的角色 |
Grant create table to myrole |
将创建表的权限赋予myrole角色 |
Grant create session to myrole |
将创建session的权限赋予myrole角色 |
Grant myrole to zhangsan |
将角色myrole授予给用户zhangsan |
Drop role myrole |
删除角色 |
Alter user “scott” identified by “new” |
修改普通用户密码 |
Select * from v$pwfile_users |
察看目前有多少特权用户(管理员) |