创建用户(用户:aa 密码:aa):
create user aa
identified by aa
default tablespace users
temporary tablespace temp;
quota 600k on users; //对表空间users的使用限额为600k
grant dba to aa; //给用户aa授权,此后aa可以登录到em
---------------------------------------------------------------------
不能授权给scott,新开用户可以;
SQL> conn system/oracle@orcl
已连接。
SQL> grant dba to scott;
授权成功。
SQL> conn scott/tiger@orcl
ERROR:
ORA-01045: user SCOTT lacks CREATE SESSION privilege; logon denied
警告: 您不再连接到 ORACLE。
SQL> conn system/oracle@orcl
已连接。
SQL> create user aa identified by aa;
用户已创建
SQL> grant dba to aa;
授权成功。
SQL> conn aa/aa@orcl
已连接。
=====================================================
删除用户aa:
drop user aa cascade;
连接到数据库,用户为:bb,密码:aa
connect bb/aa
=====================================================
授权:
1.向用户授予系统权限:
grant
create any table,
alter any table,
drop any table //注意:此处没有逗号;
to aa //向用户aa授予创建,更改,丢弃任何表的权限
with admin option; // 表示此用户有系统权限的授予权
2.向用户授予对象权限:
Grant select on bb.c to aa //表示表c的查询对象select权限授予aa用户
+++++++++++++++++++++++++
grant update(ID,Name) on bb.teacher
with grant option //表示把teacher表的ID,Name俩列的update权限授予给用户aa,其中update对象 //权限有授予权
=========================================================================
创建,授权角色:
【1】创建
create role b1
identified by bb ; //表示指定口令
(或:not identified) // 表示不指定口令
【2】授权给角色b1
grant
create session,alter session,
create table,create view
to b1 ;
【3】角色授予用户:
grant b1 to aa;
【4】角色授予角色:
grant b1 to b2
【5】为用户aa指定默认角色b1:
alter user aa
default role b1;
【6】查看用户和角色权限数据字典
如:
select * from dba_role_privs;
【7】用set role 控制角色的使用:
[1] .
grant connect,resource //给用户aa授予resource角色
to aa;
connect aa/aa; //以用户aa身份登录
select * from session_roles; // 查看其会话中的角色
[2].
set role resurce; //设置当前角色为resurce
select * from session_roles;
[3].
set role all; //允许所有的角色
select * from session_roles;
[4].
set role none; //禁止所有的角色
select * from session_roles;
【8】删除角色b2:
drop role b2;
删除表b3:
drop table b3;
=====================================================================
不同用户权限管理:
1.最终用户:
2.程序开发人员:
3.数据库管理员(DBA):
=====================================================================
管理对数据库对象的访问:
1.使用用户口令:
2.使用权限控制:
3.使用存储过程控制:
4.使用数据库链接:
5.使用配置文件:
=====================================================================
数据库空间管理:
=====================================================================
启动数据库:
sqlplus /nolog //已没有连接数据库方式启动sqlplus
connect system/orcl as sysdba
startup //启动数据库,并加载,打开数据库
startup nomount //启动数据库,不加载数据库
startup mount //启动数据库,加载数据库
shutdown abort //关闭正在运行的某个实例,那么在重启实例必须用startup force
startup force //中止当前数据库的运行,并开始重新正常的启动数据库。
startup recover //数据库启动,并开始完整的介质恢复过程。
关闭数据库:
立即模式关闭:
shutdown immediate //不允许新的连接、不等待会话结束、不等待事务结束
做一个检查点并关闭数据文件。没有结束的事务是自动rollback的。启动时不需要实例恢
事务模式关闭:
shutdown transactional //不允许新的连接、不等待会话结束、等待事务结束、 做一个检查点 并关闭数据文件。启动时不需要实例恢复
终止模式关闭:
shutdown abort //不允许新的连接、不等待会话结束、不等待事务结束、不做检查点且没有 关闭数据文件。启动时自动进行实例恢复。
终止数据库操作:
如果希望做某些形式的备份 这些备份涉及磁盘镜像及暂停这些磁盘镜像(再因为备份而将数据库挂起时,oracle需要
将表空间置于热备份模式),使用这个命令非常方便。
alter system suspend; //暂停数据库
select database_status from v$instance; //判定数据库状态,是暂停,还是活跃
alter system resume; //恢复数据库
打开一个关闭的数据库:
alter database open;
为实例装载数据库:
alter database mount;
将系统还原为normal操作状态:
alter system unquiesce;
将数据库置为停顿状态:
alter system quiesce restricted;
查看实例状态:
select active_state from v$instance;
//normal 正常状态, quiescing 停顿状态,但非DBA会话依然活动
//quiesced 停顿状态,没有任何活动的非DBA,并不容许非DBA会话在活动
=====================================================================
JDBC驱动的配置:
在JSP中连接到Oracle一般有3种方式:
1、Oracle JDBC的oci方式
2、Oracle JDBC的thin方式
3、 JDBC-ODBC
第2种good,因为WEB发布服务器与数据库服务器一般都不会放在同一台电脑中,而在使用thin方式连接时,WEB服务器端无须安装oracle的客户端。
在动手先代码之前,我们先把环境配置妥善。先从安装了Oracle的数据库服务器中,找到Oracle安装目录,然后将该目录下的jdbc\lib\classes12.jar文件拷贝到WEB发布服务器的某个目录(并把这个目录放在tomcat的common\lib目录下)。我们假设就直接放在C:\根目录下吧,然后把该路径添加到‘系统--高级--环境变量’中变量名为‘CLASSPATH’的值中,如:D:\Program Files\SQLLIB\java\db2java.zip;D:\Program Files\SQLLIB\java\runtime.zip;c:classes12.jar; 也就是让java能够找到这个包。
(不全面!!)
=====================================================================
启动和停止监听器:
运行-》lsnrctl
stop listener1 //停止
start listener1 //启动
或:
运行=》cmd =》lsnrctl start listener1
=====================================================================
sqlplus编辑命令行用法:
1.
set time on //在提示符前显示系统时间
SQL> set time on
12:25:08 SQL>
2.
spool d:\temp\sqlout.txt //输出文档,从此处到spool off之间的所有文本
spool off //关闭输出文档
spool out // 关闭并打印输出文档
3. Oracle的SQL*Plus工具中如何清屏
dos窗口下的sqlplus用:host cls
如果在window窗口下sqlplus 中清屏命令:clear screen 或 clea scre。
start命令:
@ f:/m.sql //执行f盘中的m.sql文件
4.
List 命令:
l 1 //显示第一行
l * //显示所有
l 3 6 //显示3到6行
l 3 last //显示3到最后行
Input命令:
i age<10 //增加age<10一行
i sex varchar(1) // 增加一行 sex varchar(1)
delete命令:
del 2 // 删除第2行
save命令:
save a //存盘:命令存储到a.sql中
save b replace //b.sql 替换a.sql
get命令:(与save想反)
get a.sql //将文件a.sql放到缓冲区中,便于进一步编辑
help命令:
help
help list
help change
describe命令:
desc student //显示student表
desc my_funtion //获取有关my_funtion 函数的描述
------------------------
SQL*Plus 环境参数:
set linesize 1000 //屏幕宽度改为1000,默认为100
set pause on //使屏幕暂停
show user //显示当前连接用户所有系统变量
show all //显示所有系统变量
保存对环境参数的改变:
store set environment.cmd
运行改变后的环境:
@ environment.cmd