java———————
JDK 、JRE、JVM
JDK = JRE (JAVA RUNTIME ENVIRONMENT)+ 工具(编译器)
JRE = JVM(JAVA VIRTUAL MACHINE) + 解释器
Jvm在WINDOWS或其他系统下(linux…)不同,所以JVM实现了java的跨平台性
Oracle———————
sql/plus常用命令
[当服务器与数据库不安装在同一主机上需在命令中添加@sever(服务器名)]
1 conn (可用于切换用户使用)
用法:conn 用户名/密码 [当连接sys用户是需选择as sysdba/sysoper]
2 disc
说明:该命令用来断开与当前数据库的连接,但不退出sqlplus窗口
3 passw/password (已知用户密码)
说明:该命令用于修改用户的密码,如果要想修改其它用户的密码,需要sys/system
特别说明:如果给自己改密码则可以不带用户名。如果给别人修改密码需带用户名(必需是system或者sys用户才可以修改)
4 show user
说明:显示当前用户名
[也可通过数据字典dba_users查看该数据库下所有用户,命令为 : select username from dba_users]
5 exit
说明:该命令会断开与数据库的连接,同时会退出sql*plus
6 set linesize n
说明:设置每行显示n个字符
7 set pagesize n
说明:设置每页显示n条数据
sql/plus命令
1.创建新用户
createuser 用户名 identified by 密码
[defaulttablespace users] //用户的默认表空间:users
[temporarytablespace temp] //用户使用的临时表空间temp
[quota 3m on users]; //默认表空间中可以使用的空间配额:3MB
2.修改用户密码(未知用户密码)
alteruser 用户名 identified by 新密码;
3.删除用户
drop user 用户名 [cascade];
PS:如果要删除的用户,已经创建了表,那么就需要在删除的时候带一个参数cascade; Cascade有级联的作用
4.解锁用户
alteruser 用户名 account unlock;
权限
1. 系统权限
系统权限:允许用户执行某些数据库操作,如创建表、创建索引、连接实例等。
常见系统权限
权限名 | 描述 |
CREATE SESSION | 创建会话(具有登录权限) |
CREATE TABLE | 创建表 |
DROP TABLE | 删除表 |
CREATE SEQUENCE | 创建序列 |
CREATE USER | 创建用户 |
DROP USER | 删除用户 |
CREATE VIEW | 创建视图 |
权限的分配
grant 权限 to 用户名;
权限回收
revoke 权限 from 用户名;
2.对象权限
对象权限:允许用户对某一特定数据对象执行特定的操作,如读取视图,可更新某些列、执行存储过程等。
对象的拥有者拥有所有权限;对象的拥有者可以向外分配权限。
PS:
1.all包括所有权限;
2. public:用户public是oracle预定义的,每个用户享有这个用户享有的权限,那么就意味将该权限授予了该数据库的所有用户
3. WITH GRANT OPTION 权限的分配是级联的。
角色
角色是具有名称的一组权限的集合。角色分为预定义角色和自定义角色。
常见的预定义角色
(1)connect角色
connect角色具有一般应用开发人员需要的大部分权限,当建立了一个用户后,多数情况下,只要给用户授予connect和resource角色就够了,那么connect角色具有以下系统权限:
alter session、createcluster、create database link、createsession、create view、createsequence
这种权限只有在对其他用户的表有访问权时,包括select、insert、update和delete等,才会变得有意义。
(2)resource角色
resource角色具有应用开发人员所需要的其他权限,比如建立存储过程、触发器等。这里需要注意的是resource角色隐含了unlimited tablespace系统权限。
resource角色包含以下系统权限:
create cluster、createindextype、create table、createsequence、create type、createprocedure、create trigger
(3)dba角色
dba角色具有所有的系统权限,及with admin option选项,默认的dba用户为sys和system他们可以将任何系统权限授予其他用户。
自定义角色管理
创建角色:
create role角色名[identifiedby 密码];
删除角色:
drop role角色名;
为角色分配权限
权限的分配
grant 权限 to 角色名;
权限回收
revoke 权限 from 角色名;
角色分配给用户
grant 角色名 to 用户名 withadmin option //可以传递所获权限。
PS:增加WITH ADMIN OPTION选项,则得到的权限可以传递。
表空间分类
1. 永久表空间 存放永久数据,如表、视图、存储过程
2. 临时表空间 临时表空间主要用来做查询和存放一些缓冲区数据
3. UNDO表空间 用于存放UNDO数据,当执行DML操作时,oracle会将这些操作的旧数据写入到UNDO段,以保证可以回滚或者一致读等
查看用户表空间
数据字典:
dba_tablespaces 用于管理员用户查询所有表空间 |
User_tablespaces 用于普通用户查询所有表空间 |
dba_users 用于管理员用户查询默认/临时表空间 |
user_users 用于普通用户查询默认/临时表空间 |
系统表空间的作用
SYSTEM 系统表空间
SYSAUX EXAMPLE的辅助表空间
UNDOTBS1 用于存储撤销信息
TEMP 临时表空间
USERS 存放数据库用户创建的数据库对象,永久表空间
EXAMPLE 安装示例所用表空间
创建表空间
create [temporary] tablespace 表空间名称
datafile | tempfile 'E:\oracle\product\oradata\HPDB.DBF'
size 100M
autoextend on next 32M maxsize unlimited;
[未知表空间路径是可通过dba_data_files数据字典中的file_name字段查询具体存放地址
命令为:select file_name from dba_data_files wheretablespace_name=‘表名(注意表名要大写)‘
查询临时表空间路径的数据字典为dba_temp_files]
设置用户的默认或临时表空间
Alter user 用户名 default | temporary tablespaces 表空间名; |
[在Oracle数据库安装完成后,system用户的默认表空间和临时表空间分别是system,temp]
[查询默认/临时表空间命令为 :select default_tablespace,temporary_tablespace from dba_userswhere username=’system(用户名)’;]
修改表空间状态
设置联机或脱机状态 : Alter tablespace 表空间名 online | offline;
[可用dba_tablespaces数据字典中的status字段查看表空间的状态
命令为 : select status from dba_tablespaces where tablespace_name =’表空间名(大写)’;]
设置只读或可读写状态 : Alter tablespace 表空间名 read only | read write;[默认状态为read write,修改该状态必须在online下]
修改表空间数据
增加数据文件 : alter tablespace 表空间名 add datafile ‘路径及文件名(不设置路径保存到默认路径)’ size XX ; |
删除数据文件 :alter tablespace 表空间名 drop datafile’路径及文件名(不设置路径从默认路径删除)’ ; |
删除表空间(同时删除数据库文件)
drop tablespace 表名称 including contents [and datafiles];
表的管理
数据存储在数据库中是以表的形式存储。