一、Oracle学习
微型数据库:sqlite(安卓),速度快,占用内存小,用于嵌入式系统
小型数据库:access,foxbase
中型数据库:mysql,sqlServer(只能用于windows)—最初是mysql公司的,后来被sun收购,oracle收购,sql server—微软
大型数据库:sybase<oracle<db2 (收费)
1B=8bit bit就是位,也叫比特位,是计算机表示数据最小的单位
mysql精通,熟练Oracle
denied 拒绝 否认
eclipse 日蚀
端口号:所谓的端口,就好像是门牌号一样,客户端可以通过ip地址找到对应的服务器端,但是服务器端是有很多端口的,每个应用程序对应一个端口号,通过类似门牌号的端口号,客户端才能真正的访问到该服务器。
Mysql:3306 Oracle:1521 管理数据库的软件
可以考取认证:
oca—初级认证
ocp–专家级认证
ocm–大师级认证,
二、使用步骤
1.安装
在windows系统安装Oracle
2.虚拟机直接打开
3.解压
Oracle数据库使用的编译工具:sqlplus
4.VM安装
1.安装VM虚拟机 vmnet8 更改IP地址与vm一致
2.安装 oracle
Sqlplus /nolog 无身份登入
con /as sysdba 连接Oracle
Show user 查看当前连接数据库的用户名
三.数据库术语
1.数据库的文件结构
a.ctl结尾的文件:控制文件,用于管理用户是否有权限执行某种操作
b.dbf结尾的文件:用于存储数据
c. log结尾的文件:日志文件
2.数据库实例
把数据库读取到内存中,那么在内存中存在的数据叫数据库实例
3.本地数据库名(SID)
orcl就是本地数据库名称,用于区别本机上的其他数据库
4. 全局数据库名称
在连接数据库时,会带上ip地址、端口号和本地数据库名称
四、数据库管理
1.连接数据库
1.1 本地连接
- sqlplus /nolog----不以任何身份登录splplus客户端
- conn /as sysdba—以管理员身份登录数据库
- conn 用户名/密码@实例名
在命令行下 - sqlplus 用户名/密码@数据库实例名
1.2 远程连接
sqlplus 用户名/密码@ip地址:端口号/数据库实例名,示例如下:
sqlplus scott/abc@192.168.23.130:1521/orcl
sqlplus system/123@175.27.245.91:1521/helowin
2. 数据库帐户维护
-
创建帐户并设置密码:create user 用户名 identified by 密码 [password expire];
-
drop user 用户名;----如果该帐户拥有对象,则无法删除
-
drop user 用户名 cascade;—先删除该用户所创建的对象,再删除用户
-
修改帐户密码:alter user 用户名 identified by 新密码;
-
锁定帐户:alter user 用户名 account lock;
-
解锁帐户:alter user 用户名 account unlock;
-
解锁并修改密码:alter user 用户名 account unlock identified by 新密码;
-
密码过期设置:alter user 用户名 password expire;
-
两个特殊用户
- sys:是超级用户,具有最高权限,可以创建数据库
- system:用户管理操作员,没有创建数据库权限
3.查看用户及退出数据库
1.show user;----查看当前连接数据库的用户名
2.disc:退出数据库连接
3.exit:退出数据库连接并退出客户端
4.oracle的权限
1.系统权限
允许用户执行特定的数据库操作,比如连接数据库,创建表等
create,drop开头的一般都是系统权限,比如:
create user,create table,create session,drop table,drop user
2.对象权限
允许用户操作一些特定的对象,比如:
alter,delete,select,update,insert
3.授予与收回权限
grant 权限 to 用户[ with grant option];
grant select on scott.emp to u2 with grant option;
如果权限是系统权限,则不用with grant option,应该用with admin option
grant create session to u2 with admin option;
revoke 权限 from 用户;
revoke create session from u2;
4.角色
就是多个权限的集合
grant 角色名 to 用户;
例:grant dba to abc;
4.1预定义角色
就是系统提前创建好的角色,比如:dba,resource,connect
connect:能够连接到数据库中
resource:是授予开人员的权限,可以创建表、序列、视图
dba:是授予系统管理员权限,拥有最多的权限
练习:创建帐户u并授予连接和创建表和视图的权限
create user u identified by abc;
grant connect,resource to u;
4.2自定义角色
1.创建角色:create role 角色名;
2.向角色中添加权限:grant 权限或角色 to 角色名;