1 控制台中启动ORACLE的监听 --> lsnrctl(listener control 监听控制的缩写) start
启动ORACLE的服务 -->net start oracleserviceorcl
或者:oradim -startup -sid orcl(orcl为数据库实例名)
2 设置每页显示的长度
set pagesize 20;
设置每行显示的字符数
set linesize 120;
3 账户连接
conn system/manager
conn sys/as sysdba
在运行里面输入 sqlplus /nolog
如果用户被锁定的话
alter user scott account unlock;
Oracle用户的验证机制
普通用户:默认是以数据库验证方式登陆比如 conn scott/tiger
特权用户:默认是以操作系统认证 比如 conn sys/xxx as sysdba(只要当前操作系统的用户在ora_db这个操作系统组中)
通过配置sqlnet.ora文件,可以 修改oracle登录认证方式
SQLNET.AUTHENTICATION_SERVICES=(NTS)是基于操作系统验证的
SQLNET.AUTHENTICATION_SERVICES=(NONE)是基于Oracle验证的
SQLNET.AUTHENTICATION_SERVICES=(NONE,NTS)是两者共存的
如果丢失管理员密码怎么办?
把原有的密码文件删除生成一个新的密码文件
D:\app\Administrator\Oracle\database下找到PWDorcl.ora
删除该文件,生成新的密码文件在dos下输入orapwd file=D:\app\Administrator\Oracle\database\PWDorcl.ora password=新密码 entries=10;
管理数据库的用户主要是sys和system
(sys好像是董事长,system好像是总经理,董事长比总经理大,但是通常是总经理干事)
区别主要是:
1.最重要的区别,存储的数据的重要性不同
sys:所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改。sys用户拥有dba,sysdba,sysoper角色或权限,是oracle权限最高的用户。
system:用于存放次一级的内部数据,如oracle的一些特性或工具的管理信息。system用户拥有dba,sysdba角色或系统权限。
4 创建用户
管理员权限才能创建用户,用户名不能为数字开头
create user admin identified by 622188
5 dba修改用户密码
使用管理员权限登录之后 password martin
或者 alter user martin identified by 新密码
6表空间:指的是表存在的空间,一个表空间指向具体的数据文件
7 创建用户的细节
create user tanwei identified by 622188
default tablespace users --用户的表空间在users上
temporary tablespace temp--用户的临时表建立在temp上
quota 3m on users;--用户建立的数据对象最大只能是3M
用户已创建。
8 刚创建的用户是没有任何权限的,需要dba分配相关的权限
SQL> conn tanwei/622188
ERROR:
ORA-01045: user TANWEI lacks CREATE SESSION privilege; logon denied
用户tanwei 缺失创建会话的权限,拒绝登陆
9 分配权限
使用dba登陆
SQL> grant create session to tanwei; 给用户tanwei创建会话的权限
授权成功。
10 权限的概念
oracle中的权限分为系统权限和对象权限
系统权限是和数据库管理相关的权限:create session,create table, create index,create view,create sequence,create trriger。。。
对象权限是和用户操作数据对象相关的权限: 对表的增删改查
系统权限:grant create session to martin;
grant create table to martin;
grant unlimited tablespace to martin;
revoke create session from martin;
revoke create table from martin;
revoke unlimited tablespace from lisi;
grant create session to public;
对象权限:
grant select on emp to martin;
grant all on emp to martin;
revoke select on emp from martin;
revoke all on emp from martin;
修改列的类型
alter table userInfo modify name varchar(10);
update scott.emp set ename='TANWEI' where sal=(select MAX(sal) from scott.emp);修改最高工资的姓名为TANWEI
11 角色的概念
角色分为预定义角色和自定义角色
预定义角色把常用的权限集中起来,形成角色
12 给 用户分配两个常用的权限
grant connect to martin;//给martin赋予connect角色
grant resource to matyin ;//创建资源的角色
13 使用管理员登陆撤销角色
revoke connect from martin
revoke resource from martin
14 当我们删除一个用户的时候,如果这个用户对象已经创建了数据对象,那么我们在删除该用户的时候需要使用
drop user martin cascade 表示删除该用户时把该用户创建的数据对象一并删除
如果删除用户时还需要该用户的数据则需要冻结该用户 alter user martin account lock;
15 将自己的表的权限授予给别的用户
例如将scott表的查询权限授予tea,
grant select on emp to tea;
这是tea用户则可以通过 select * from scott.emp;来查询scott用户中的emp表
将这张表相关的所有权限授予给tea
grant all on emp to tea; 同样撤销 revoke all on emp from tea;
权限的转移
Scott 将查询emp表的权限赋予了tea,tea用户将查询的权限赋予stu
grant select on scott.emp to tea with grant option --表示将对象权限可以继续分配给其他用户 with admin option 则表示将系统权限分配给其他用户
conn tea/tea ;
grant select on scott.emp to stu
conn stu/stu
select * from scott.emp;
16 查看自己的系统权限
select * from user_sys_privs;
查看自己的对象权限
select * from user_tab_privs;
17 使用profile 管理用户口令
profile是口令限制和资源限制的集合,当建立数据时,Oracle会自动建立名称为default的profile,当建立用户没有指定profile选项,默认会指定
default 分配给用户
(1)账户的锁定:指定该账户最多可以输入密码的次数,也可以指定用户锁定的时间(天),一般用dba的身份去执行该命令
例如:指定scott用户只能尝试3次登录,限制时间为2天
实现:create profile lock_account limit failed_login_attempts 3 password_lock_time 2;
alter user scott profile lock_account;
如果用户被锁定之后 可以使用 alter user scott account unlock
(2) 为了让用户能够定期修改密码可以使用终止口令的指令来完成,同样这个命令需要dba权限来完成
例子:要求scott每隔10天都要修改自己的密码。宽限为2天
create profile myprofile limit password_lift_time 10 password_grace_time 2
alter user scott profile myprofile
(3) 删除profile
Drop profile profile名
18 Oracle 方案的概念
当一个用户,创建好后,如果该用户创建了一个数据对象,这时,我们的dbms就会创建一个对应的方案与该用户对应,并且该方案的名字与用户名一致