Oracle学习笔记二 初识Oracle(二)
Windows 中的 Oracle 服务
Oracle 9i的每个实例在Windows中都作为一项服务启动
服务是在 Windows 注册表中注册的可执行进程,由 Windows 操作系统管理
“服务”对话框中的各项 Oracle 服务如图所示:
Oracle***TNSListener
该服务启动数据库服务器的监听器,监听器接受来自客户端应用程序的连接请求
若监听器未启动,则客户端将无法连接到数据库服务器
OracleServiceSID
该服务启动系统标识符为SID的数据库实例,其中 SID 是在安装时输入的数据库名称
Oracle***EAgent
Oracle企业管理器组件智能代理服务,此智能代理用于执行作业和监控 Oracle 服务或对象的性能
在使用Oracle管理服务器网络的环境中必须启动此服务
Oracle***HTTPServer
该服务用于启动Oracle HTTP服务器,它提供文档信息、基于Web的企业管理器和iSQL*Plus等服务
Oracle***ManagementServer
该服务启动Oracle管理服务器,它用于维护管理控制台对各个被管理服务器节点之间的集中的、智能的和分布式的控制
该服务必须经过企业管理器配置向导配置完成后才创建
命令行操作Oracle服务
开启(停止)监听:
Lsnrctl start(stop)
查看监听:
lsnrctl status
开启服务:
Net start oracleservice+数据库名
SqlPlus启动呢加载的命令:
打开安装目录的sqlplus/admin/glogin.sql 文件加入set命令即可
Oracle的Sql*Plus基本使用命令
Conn 用户名/密码 [as sysdba | sysoper] 连接
Show user ; 显示当前登录名
Set linesize 300; set pagesize 50; 设置命令控制台显示oracle数据库数据时的格式
我们可以把上面的设置设置到SqlPlus中,启动就自动加载:
修改安装目录下的/sqlplus/admin/glogin.sql 加入即可
/ 重新执行上一次的命令
Edit(ed) 文件名;
@文件名 [@磁盘名:文件名] 执行文件sql命令;
比如:如果我们安装的时候没有安装scott用户,则可以使用以下命令自动创建:@path/rdbms/admin/scott.sql(utlsampl.sql)
Select * from tab; 查询当前用户的所有表;
Desc 表名 ; 查看表的结构;
解锁用户
scott解锁命令:
先用conn system/manager 进入
alter user scott account unlock;
创建新用户
要连接到Oracle数据库,就需要创建一个用户帐户
每个用户都有一个默认表空间和一个临时表空间
CREATE USER命令用于创建新用户
CREATE USER 命令的语法是:
例:
创建一个名称为 martin 的用户,其密码为martinpwd:
create user MARTIN identified by martinpwd default tablespace users temporary tablespace temp;
授予权限
权限指的是执行特定命令或访问数据库对象的权利
权限有两种类型,系统权限和对象权限
系统权限允许用户执行某些数据库操作,如创建表就是一个系统权限
对象权限允许用户对数据库对象(如表、视图、序列等)执行特定操作
角色是一组相关权限的组合,可以将权限授予角色,再把角色授予用户,以简化权限管理。
GRANT 命令可用于为用户分配权限或角色
GRANT CONNECT TO MARTIN; --CONNECT角色允许用户连接至数据库,并创建数据库对象
GRANT RESOURCE TO MARTIN; --RESOURCE角色允许用户使用数据库中的存储空间
GRANT CREATE SEQUENCE TO MARTIN; --此系统权限允许用户在当前模式中创建序列,此权限包含在CONNECT角色中
授予用户 MARTIN 操作TEST表对象的权限
GRANT SELECT ON TEST TO MARTIN; --允许用户查询 TEST 表的记录
GRANT UPDATE ON TEST TO MARTIN; --允许用户更新 TEST 表中的记录
GRANT ALL ON TEST TO MARTIN; --允许用户插入、删除、更新和查询TEST 表中的记录
ALTER USER 命令可用于更改口令
ALTER USER MARTIN IDENTIFIED BY martinpass; --修改 MARTIN 用户的密码
DROP USER 命令用于删除用户
DROP USER MARTIN CASCADE; --删除 MARTIN 用户模式
撤销,收回权限
Revoke 权限名 [on 表名] from 角色名;