Oracle+创建删除用户
oracle数据库基本语句

oracle数据库基本语句oracle 数据库是一种常用的关系型数据库管理系统,常用的oracle数据库包括oracle10g、oracle11g和oracle12c。
要掌握oracle的基本用法,必须掌握其基本的语句。
oracle的常用基本语句有:一、数据定义语言(DDL)1、创建数据表:CREATE TABLE 表名(字段名数据类型[完整性约束条件],字段名数据类型[完整性约束条件],……);2、修改数据表: ALTER TABLE 表名 ADD(字段名数据类型[完整性约束条件],字段名数据类型[完整性约束条件],……);3、删除数据表: DROP TABLE 表名;4、创建索引:CREATE [UNIQUE] INDEX 索引名ON 表名[字段名[,字段名];5、删除索引: DROP INDEX 索引名;三、数据控制语言(DCL)1、建立用户: CREATE USER 用户名 IDENTIFIED BY 密码;2、删除用户: DROP USER 用户名;3、授权:GRANT 权限 ON 对象 TO 用户[WITH GRANT OPTION];4、回收授权: REVOKR 权限 ON 对象 FROM 用户;5、控制事务: COMMIT/ROLLBACK;四、数据库控制语言(DBCL)1、创建数据库:CREATE DATABASE 数据库名;2、删除数据库: DROP DATABASE 数据库名;3、创建表空间:CREATE TABLESPACE 表空间名 SEGMENT SPACE MANAGEMENT 自动;4、删除表空间: DROP TABLESPACE 表空间名;5、管理会话: ALTER SYSTEM KILL SESSION ['会话号'];。
Oracle创建用户教程

1 Create user 用户名 2 3 Identified by 密码 4 5 Default tablespace users 6 7 Temporary tablespace temp 8 9 Quota unlimited on users;
修改用户:
Alter user 用户名 identified by 口令(密码) defauTemporary tablespace temp //临时表空间 Quota unlimited on users
删除用户: Drop user 用户名[cascade] cascade 将会删除这个用户所拥有的所有对象。
授权: 授予用户dba的权限 Grant dba to 用户; [with admin option] (权限继承)
写出来第一个一样的代码以为是自己写的有问题才一直掉到循环里原来是次数量太大了
Oracle创 建 用 户 教 程
1. Oeacle客户端安装教程: 2. Oracle创建用户教程: 创建步骤:计算机-->管理-->应用程序与服务-->(OracleOraDb11g_home1TNSListener 和 OracleServiceORCL 服务)->启动服务 打开Oracle应用程序->输入用户名sys->输入密码->连接为SYSDBA->SQL window
Oracle基本操作《DOC命令》

系统权限在doc命令中启动Oracle(注意下文中<>为不存在只是为了标识)其中的一些权限为系统权限(都是用超级管理员授予的)1:启动SQL*PLUS:在相应盘符下输入:sqlplus / as sysdba;<默认的用户是SYS>2:启动监听器在相应盘符下输入:lsnrctl start(我的电脑默认在D盘下)3:启动实例在相应盘符下输入:oradim -starup -sid sjbitdb(我的电脑默认在D盘下)4:展示当前用户名在SQL语句中输入:show user;5:创建用户在SQL语句中输入:create user <用户名> identified by <用户密码> ;6:为用户创建会话权限在SQL语句中输入:grant create session to <用户名>;7:使用用户登录在相应盘符下语句中输入:sqlplus <用户名>/<密码> 注意后面没有分号。
8:为用户创建表权限在SQL语句中输入:grant create table to <用户名>;9:为用户创建表空间权限在SQL语句中输入:grant unlimited tablespace to <用户名>;(unlimited是没有任何限制的意思)10:创建表在SQL语句中输入:create table <表名称> (<列名> <数据类型>);(举例)11:向表中插入数据在SQL语句中输入:insert into <表名称> values(<值>);(举例)12:查询表中的数据在SQL语句中输入:select * form <表名称>;13:删除表在SQL语句中输入:drop table <表名称>;14:撤销用户的会话权限在SQL语句中输入:revoke create session fr om <用户名>;15:撤销用户的创建表权限在SQL语句中输入:revoke create table from <用户名>;16:撤销用户的创建表空间权限在SQL语句中输入:revoke unlimited tablespace from <用户名>;17:查询当前用户拥有哪些系统权限在SQL语句中输入:select * from user_sys_privs;(实际上展示的是一个视图) 18:删除用户:在SQL语句中输入:drop user <用户名>;19:把某个系统权限权限授权给所有用户:在SQL语句中输入:grant (create session<会话权限也就是允许某管理员登录的权限>) 、(create table<创建表权限>)、(unlimited tablespace<创建表空间权限>) 、(create any table<创建任意表权限>) to public;对象权限简单来说超级管理员拥有的权限叫做系统权限,普通用户拥有的权限叫做对象权限。
常用oracle数据库命令

常用oracle数据库命令
1. 启动Oracle数据库
$ sqlplus /nolog
SQL> connect / as sysdba
SQL> startup
3. 创建表空间
创建表空间的命令是:
SQL> create tablespace 表空间名 datafile '路径名' size 大小;
6. 创建用户
7. 删除用户
删除用户的命令是:
8. 授权用户
SQL> grant 权限 to 用户名;
9. 撤销用户的权限
11. 查看表结构
查看表结构的命令是:
SQL> desc 表名;
SQL> create table 表名 (列名数据类型, 列名数据类型, …);
13. 删除表
14. 插入数据
插入数据的命令是:
SQL> update 表名 set 列名=新值 where 某条件;
18. 创建索引
20. 查看索引
21. 查询相关信息
查询相关信息的命令是:
SQL> select * from v$session; -- 查看会话 22. 查看数据库版本
24. 备份数据库
$ exp 用户名/密码 file=备份文件路径备注:以上命令均需要在Oracle登录后进行。
oracle 重要语法(建表空间,用户,授权,拼接sql)

documentcount gdfs,--归档份数
f2 initunitname,--单位名称
AUTHOR author,--(作者) ,F9(扫描页数)。
F5 wjys,--文件页数
F3 lrrq,--(录入日期)
JDRQ jdrq,--(鉴定日期)。
(select substr(TZM ,1,(select INSTR(TZM ,'\',-1) from dual)-1 ) from dual ) FILE_PATH,--附件路径
alter system kill session 'sid,serial';
alter system kill session '7,19';
alter system kill session '9,11';
alter system kill session '70,13';
alter system kill session '72,348';
documentcount gdfs,--归档份数
f2 initunitname,--单位名称
AUTHOR author,--(作者) ,F9(扫描页数)。
F5 wjys,--文件页数
drop user dev cascade;
DROP TABLESPACE LIS INCLUDING CONTENTS AND DATAFILES;
Oracle如何断开用户连接 搜出该用户的session的SID,SERIAL码,然后kill掉
select sid,serial# from v$session where username='user_name';
Oracle 用户及角色 介绍

Oracle 用户及角色介绍一. 用户管理1.1 建立用户(数据库验证)CREATE USER DAVE IDENTIFIED BY pwdDEFAULT TABLESPACE usersTEMPORARY TABLESPACE tempQUOTA 5m ON users;1.2 修改用户ALTER USER DAVE QUOTA 0 ON SYSTEM;1.3 删除用户DROP USER DAVE;DROP USER DAVE CASCADE;1.4 显示用户信息SELECT * FROM DBA_USERSSELECT * FROM DBA_TS_QUOTAS二.系统权限系统权限是指执行特定类型SQL命令的权利,用于控制用户可以执行的一个或一类数据库操作。
(新建用户没有任何权限)2.1 授予系统权限GRANT CREATE SESSION,CREATE TABLE TO DAVE;GRANT CREATE SESSION TO DAVE WITH ADMIN OPTION;选项:ADMIN OPTION 使该用户具有转授系统权限的权限。
2.2 显示系统权限查看所有系统权限:Select * from system_privilege_map;显示用户所具有的系统权限:Select * from dba_sys_privs;显示当前用户所具有的系统权限:Select * from user_sys_privs;显示当前会话所具有的系统权限:Select * from session_privs;2.3 收回系统权限REVOKE CREATE TABLE FROM DAVE;REVOKE CREATE SESSION FROM DAVE;三 .角色:角色是一组相关权限的命名集合,使用角色最主要的目的是简化权限管理。
3.1 预定义角色。
CONNECT自动建立,包含以下权限:ALTER SESSION、CREATE CLUSTER、CREATE DATABASELINK、CREATE SEQUENCE、CREATE SESSION、CREATE SYNONYM、CREATE TABLE、CREATEVIEW。
oracle创建表空间和用户授权及删除表空间和删除用户命令

imp pobaoa/oa@orcl file=f:\zyoa0916.dmp full=y ignore=y
imp sjsoa/oa@orcl file=f:/bigoatemp.dmp full=y
2、将d:daochu.dmp中的表table1导入
imp system/manager@TEST file=d:daochu.dmp tables=(table1)
select INSTANCEID,NID,TITLE,NODENAME,ASSIGNER,NODEBEGIN,initiatorname,'办理状态'As blzt from view_wf_todo where actor='%USERID%' order by nodebegin desc
sqlplus / as sysdba
default tablespace bigoa
temporary tablespace temp;
//给用户授予权限
grant connect,resource,dba,CTXAPP,create view to swoa;
以后以该用户登录,创建的任何数据库对象都属于user_temp和user_data表空间,这就不用在每创建一个对象给其指定表空间了
oracle创建表空间和用户授权
SYS用户在CMD下以DBA身份登录:
在CMD中打sqlplus/nolog //匿名登录
然后再conn/as sysdba //以dba身份登录
//创建临时表空间
create temporary tablespace bigoa_temp
oracle删除用户及空闲表空间释放空间

第一步:删除过期用户 DROP USER colin CASCADE; 第二步:查询过期用户相关的表空间是否还有对象 SELECT OWNER, SEGMENT_NAME, SEGMENT_TYPE, TABLESPACE_NAMEFROM DBA_SEGMENTSWHERE TABLESPACE_NAME IN(SELECT TABLESPACE_NAMEFROM DBA_TABLESPACESWHERE TABLESPACE_NAME LIKE '%COLIN%') 第三步:转移过期用户表空间上的对象到其他表空间 ALTER TABLE tab_colin MOVE TABLESPACE colin_song_tbs;ALTER INDEX idx_tab_colin REBUILD TABLESPACE colin_song_idx_tbs; 第四步:查询无对象的表空间 SELECT 'DROP TABLESPACE ' || TABLESPACE_NAME ||INCLUDING CONTENTS AND DATAFILES;'FROM DBA_TABLESPACESWHERE NOT EXISTS (SELECT 12FROM DBA_SEGMENTSWHEREDBA_SEGMENTS.TABLESPACE_NAME =DBA_TABLESPACES.TABLESPACE_NAME); 第五步:删除之把上述查询出来的语句贴到文本编辑里检查下( PS:这里会包含一个 temp 的临时表空间一定要去掉啊 )SQL> drop tablespace STAT_FTFY_CHRGSTAY_DTBS including contents and datafiles;Tablespace droppedSQL> drop tablespace STAT_FTFY_CHRGNEW_WIXTBS including contents and datafiles;Tablespace droppedSQL> drop tablespace STAT_FTFY_CHRGSMR_MIXTBS including contents and datafiles;Tablespace dropped最后去看下你的系统空间应该释放了吧。
oracle19c之用户、权限、表空间

oracle19c之⽤户、权限、表空间 ⼀、⽤户相关操作 1、查询⽤户select * from dba_users; --查询全库所有的⽤户select * from all_users; --查询当前⽤户可看到的⽤户select * from user_users; --查询当前登录的⽤户 2、创建⽤户(创建者需要有dba权限,⽤户名必须以c##开头,默认的表空间是users,新⽤户没有任何权限。
)create user c##sl IDENTIFIED BY 123456; 3、删除⽤户drop user c##sl2 cascade; --删除⽤户不会删除其表空间 注意:⽆法删除⽤户C##SL3,报错“[Err] ORA-01940: ⽆法删除当前连接“的⽤户解决⽅法:select username,sid,serial#,paddr from v$session where username='C##SL3';alter system kill session '17,55857'; 4、修改密码alter user c##sl3 identified by 1234; ⼆、权限相关操作 a、系统权限:⽤户在系统层⾯的权限,如CREATE SESSION、SELECT ANY TABLE等不依赖于对象的权限 b、对象权限:⽤户关于某个具体对象的权限,如SELECT、UPDATE、INSERT等依赖于表、视图、存储过程的权限 c、⾓⾊:⼀组权限的集合 注意:PUBLIC⽤户具有的权限,其他⽤户都会有,即修改PUBLIC⽤户的权限,其他⽤户也会对应得改变权限 1、查看权限、⾓⾊select * from user_tab_privs; --当前⽤户具有的对象权限select * from dba_tab_privs WHERE grantee='C##SL' OR grantor='C##SL'; --全部⽤户具有的对象权限,查询C##SL⽤户的select * from user_sys_privs; --当前⽤户具有的系统权限select * from dba_sys_privs WHERE grantee='C##SL'; --全部⽤户具有的系统权限,查询C##SL⽤户的SELECT * FROM user_role_privs; --当前⽤户具有的⾓⾊SELECT * FROM dba_role_privs where grantee='C##SL'; --全部⽤户具有的⾓⾊,查询C##SL⽤户的 注意:上⾯每⼀对查询出的结果应该⼀样,因为全部⽤户中肯定也包含当前⽤户,普通⽤户没有查询全部⽤户⾓⾊、权限表的权限 2、常⽤权限、⾓⾊dba 管理员⾓⾊connect 连接数据库⾓⾊,能修改、删除表及数据,不能创建表resource 能创建表create session 连接数据库权限create table 建表权限unlimited tablespace 操作表空间权限select any table 查询任何表的权限select on c##test.book 查询c##test⽤户的book表的权限 说明: a、⼀般来说,新建的普通⽤户后授予connect和resource⾓⾊就好了、如果是管理员需要再授予dba⾓⾊。
oracle基础和用户管理

sql>select * from emp where job='&job'
2、edit
说明:该命令可以编辑指定的sql脚本
3、spool
说明:该命令可以将sql*plus屏幕上的内容输出到指定的文件中去
显示和设置环境变量
才可以建表;
希望xiaoming用户可以去查询scott用户的emp表 在scoFra bibliotekt用户可以授权
grant select on emp to xiaoming;
select * from scott.emp;
希望xiaoming用户可以去修改scott用户的emp表
grant update on emp to xiaoming;
?如果scott把xiaoming 对emp表的查询权限回收了,那么xiaohong会怎么样?
xiaohong的权限也被回收了
使用profile管理用户口令
账户锁定:
指定该用户登录时最多可以输入密码的次数,也可以指定用户锁定的时间一般用dba的身份去执行该命令
例子:指定xiaoming这个用户最多只能尝试3次登录,锁定时间为两天,实现:
连接命令:
conn :切换用户
例:conn system/manager
dist:断开链接
passw:修改用户的密码 如果要修改其他用户的密码,则需要sys/system用户登录
show user:显示当前用户名
exit:断开数据库的连接并退出
文件操作命令:
1、start和@ :运行sql脚本
oracle 数据库管理员日常操作手册

Oracle数据库管理员日常操作手册===================一、用户管理------### 1.1 创建用户1. 打开Oracle数据库管理工具(如SQL*Plus或SQL Developer)。
2. 使用管理员账户(如sys)登录。
3. 执行以下SQL语句创建用户:```sqlCREATE USER username IDENTIFIED BY password;```其中,`username`为用户名,`password`为密码。
4. 可选:为新用户分配表空间。
例如,执行以下语句将用户分配到默认的表空间:```sqlALTER USER username DEFAULT TABLESPACE tablespace_name;```其中,`tablespace_name`为要分配给用户的表空间的名称。
### 1.2 修改用户密码1. 打开Oracle数据库管理工具。
2. 使用管理员账户登录。
3. 执行以下SQL语句修改用户密码:```sqlALTER USER username IDENTIFIED BY new_password;```其中,`username`为要修改密码的用户名,`new_password`为用户的新密码。
### 1.3 删除用户1. 打开Oracle数据库管理工具。
2. 使用管理员账户登录。
3. 执行以下SQL语句删除用户:```sqlDROP USER username;```其中,`username`为要删除的用户名。
二、数据库备份与恢复----------### 2.1 执行完整备份1. 打开Oracle数据库管理工具(如Enterprise Manager)。
2. 选择要进行备份的数据库。
3. 执行备份命令。
通常使用类似以下的命令:```bashRMAN> RUN {2> ALLOCATE CHANNEL c1 DEVICE TYPE DISK;3> BACKUP DATABASE FORMAT '/path/to/backup/location/backup_date' PLUS ARCHIVELOG;4> }```其中,`/path/to/backup/location/`为备份文件的存储路径,`backup_date`为备份日期和时间。
oracle创建删除用户示例分享(oracle删除用户命令及授权)

oracle创建删除⽤户⽰例分享(oracle删除⽤户命令及授权)1、Oracle⽤户新增复制代码代码如下:create user lisi identified by lisi;注:create user是创建数据库⽤户,后⾯跟⽤户名称,identified by是设置⽤户密码2、把“连接”数据库权限授给新增⽤户lisi复制代码代码如下:grant connect to lisi;注:grant:Oracle数据库授权的关键字connect:Oracle数据库的⼀个默认⾓⾊,只有连接上数据库的权限3、把scott⽤户的表授权给lisi⽤户复制代码代码如下:grant select on emp to lisi;pl/sql中的问题:动态执⾏表不可访问,本回话的⾃动统计被禁⽌。
在执⾏菜单⾥你可以禁⽌统计,或在v$session,v$sesstat 和v$statname表⾥获得选择权限解决⽅案:复制代码代码如下:grant select on v_$session to ⽤户名;grant select on v_$sesstat to ⽤户名;grant select on v_$statname to ⽤户名;4、回收⽤户权限复制代码代码如下:revoke select on emp from lisi;5、⽤户密码修改⽤lisi账号登录复制代码代码如下:alter user lisi identified by 密码;6、⽤户删除drop user ⽤户名;或者drop user ⽤户名 cascade;(这将会删除与⽤户相关联的表)7、数据库的权限和⾓⾊①查看数据库⽤户有哪些权限复制代码代码如下:select * from session_privs;注:session_privs是Oracle数据库的字典表,字典表其实就是Oracle的内部表(不⽤创建就已经存在了)。
这个表可以看到很多权限,如创建表等。
oracle删除用户用户会话

oracle删除⽤户⽤户会话1.oracle数据库中删除⽤户有两种命令,⼀种是 drop user xxx;另外⼀个种是drop user xxx cascade;2.官⽅的说明如下:Dropping a Database User: Example If user Sidney's schema contains no objects, then you can drop sidney by issuing the statement: DROP USER sidney; --sidney为⽤户名,⽤sys登录执⾏该语句If Sidney's schema contains objects, then you must use the CASCADE clause to drop sidney and the objects:DROP USER sidney CASCADE; --sidney为⽤户名,⽤sys登录执⾏该语句就是说drop user xxx必须是这个⽤户下⾯没有任何对象,这样才可以使⽤这个命令,否则就会报错;如果⽤户下⾯有对象,就得⽤drop user xxx cascade来删除这个⽤户以及这个⽤户下的所有对象了。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------1、以⼀个session做以⽰例,a、找到你要杀掉的那个session, 并记下paddrselect sid, username, paddr, status from v$sessionwhere username = '⽤户名' andstatus = 'INACTIVE';b、找到这个session所对应的spidselect * from v$process where addr = '上⾯查寻的paddr';c、杀掉spid所标识的那个进程如果你的Oracle是在Unix平台上的,可以⽤kill。
Oracle创建删除用户、角色、表空间、导入导出数据库命令行方式总结

说明:在创建数据库时输入的密码,是修改系统默认的密码,以system和sysman等系统默认身份登录时要输入的密码就是修改后的密码(创建数据库时输入的密码)如果要创建新的用户就必须以system或者sysman(这二者的权限最大)的身份登录后才可创建创建用户格式:create user 用户名identified by 密码(例如:create user cht id entified by cht;)创建完成后,必须分配权限,否则连不上数据库和sqlplus。
因此要做:grant connect,resource,dba to cht;这样数据库就可以通过cht/cht连上了。
那些select,update,delete,insert的权限就不必分配了,因为每个用户默认都有这些基本权限。
命令行方式连接数据库的方法:开始==》运行==》cmd方式一:输入sqlplus,回车输入用户名:system,回车输入密码:orcl,回车方式二:输入sqlplus system/orcl@orcl,回车(system是用户名,orcl是密码,@后面的or cl是库的名字)(数据库安装完成后,有两个系统级的用户:1)system 默认密码为:manager2)sys 默认密码为:change_on_install)创建用户前必须要先建好临时表空间和数据表空间两个表空间,否则用系统默认的表空间不好。
//创建临时表空间create temporary tablespace zfmi_temp tempfile 'D:\oracle\oradata\zf mi\zfmi_temp.dbf' size 100m autoextend on next 32m maxsize 2048m extent management local;说明:1、zfmi_temp 表空间的名字2、D:\oracle\oradata\zfmi\ 存放数据库文件的地方,一般是安装数据库后有控制文件,数据文件和日志文件的文件夹,再加上要创建表空间的名字+dbf(数据文件)3、100M 表空间的初始大小4、32M 表空间自动增长的大小5、2048M 表空间最大的大小//创建数据表空间create tablespace zfmi logging datafile 'D:\oracle\oradata\zfmi\zfmi.d bf' size 100m autoextend on next 32m maxsize 2048m extent manage ment local;//创建用户并指定表空间create user zfmi identified by zfmi default tablespace zfmi temporary t ablespace zfmi_temp;//给用户授予权限grant connect,resource dba to zfmi;(dba:指定所有权限)到这一步新建一个用户的工作就完成了。
oracle创建用户赋予权限,删除权限

oracle创建⽤户赋予权限,删除权限--删除⽤户及及⽤户下的所有数据drop user xxx cascade;--创建⽤户赋予密码create user xxx identified by1234;--赋予权限grant dba to xxx;--删除权限revoke dba from xxx;--赋予⽤户登录数据库的权限grant create session to xxx;--授予⽤户操作表的权限grant unlimited tablespace to xxx;grant create tablespace to xxx;grant alter tablespace to xxx;grant drop tablespace to xxx;grant manage tablespace to xxx;--撤销⽤户操作表空间的权限revoke unlimited tablespace from xxx;revoke create tablespace from xxx;revoke alter tablespace from xxx;revoke drop tablespace from xxx;revoke manage tablespace from xxx;grant create session to zhangsan;--授予zhangsan⽤户创建session的权限,即登陆权限grant unlimited session to zhangsan;--授予zhangsan⽤户使⽤表空间的权限grant create table to zhangsan;--授予创建表的权限grant drop table to zhangsan;--授予删除表的权限grant insert table to zhangsan;--插⼊表的权限grant update table to zhangsan;--修改表的权限grant select on tablename to zhangsan;--授予zhangsan⽤户查看指定表的权限grant drop on tablename to zhangsan--授予删除表的权限grant insert on tablename to zhangsan;--授予插⼊的权限grant update on tablename to zhangsan;--授予修改表的权限select*from user_sys_privs;--查看当前⽤户所有权限select*from user_tab_privs;--查看所⽤⽤户对表的权限select*from user_sys_privs;--查看当前⽤户所有权限select*from user_tab_privs;--查看所⽤⽤户对表的权限。
Oracle数据库创建用户的命令和方法

Oracle 权限设置一、权限分类:系统权限:系统规定用户使用数据库的权限。
(系统权限是对用户而言)。
实体权限:某种权限用户对其它用户的表或视图的存取权限。
(是针对表或视图而言的)。
二、系统权限管理:1、系统权限分类:DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限。
2、系统权限授权命令:[系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)]授权命令:SQL> grant connect, resource, dba to 用户名1 [,用户名2]...;[普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system 用户的权限也可以被回收。
]例:SQL> connect system/managerSQL> Create user user50 identified by user50;SQL> grant connect, resource to user50;查询用户拥有哪里权限:SQL> select * from dba_role_privs;SQL> select * from dba_sys_privs;SQL> select * from role_sys_privs;删除用户:SQL> drop user 用户名 cascade; //加上cascade则将用户连同其创建的东西全部删除3、系统权限传递:增加WITH ADMIN OPTION选项,则得到的权限可以传递。
Oracle实验报告三

实验报告三课程名称: Oracle10数据库 实验项目: 数据库安全管理操作 指导教师: 李庆风 实验位置: 计算中心软件工程实验室姓 名: 叶贝贝 学 号: 10401010447 班 级: 计科104 日 期: 2013-3-14一、实验目的掌握Oracle10g 数据用户的管理,学会用户的创建,掌握数据库权限的管理,学会对用户权限的授权和回收操作,掌握数据库角色的管理,学会角色的创建、授权等操作,会的角色权限管理。
掌握概要文件的管理,学会概要文件的创建、修改等操作。
二、实验环境安装有Oracle10g 数据库软件等的计算机。
三、实验内容1.用户管理操作 2.权限管理操作 3.角色管理操作 4.概要文件操作四、实验操作实验内容一: 一、创建用户1.创建用户名user3,口令user3,初始状态为locked(锁定)测试用户结果2.创建用户名user4,密码user4,初始状态为密码过期初次登陆需要更改密码测试用户二、修改用户1.将用户user3的口令设置为newuser3,并解锁帐户2.修改user4默认表空间为orcltbs1,分配额为2M,在users表空间分配额为5M三、删除用户实验内容二:一、系统权限的授权1.为public用户组授予create session系统权限2.为user1授予create session,create table,create view,授权后为user2授予create table二、系统权限的收回将user2的create table功能收回三、对象权限的授权对user1授予select,insert,update 权限四、对象权限的回收收回user1的select和update 权限实验内容三:一、创建角色创建高、中、低三种角色二、授权和回收权限三、删除权限四、对用户或角色授予角色和收回角色实验内容四:一、概要文件的创建创建名为res_profile概要文件,要求最多创建4个并发会话,可持续60分钟/会话,并且20分钟内空闲,结束会话,每个会话私有SQL空间100k 每句占CPU不超过10秒。
Oracle数据库的用户和权限管理

5.2.2 创建角色
使用CREATE ROLE语句可以创建一个新的角色,执行该语 句的用户必须具有CREATE ROLE系统权限。
在角色刚刚创建时,它并不具有任何权限,这时的角色是 没有用处的。因此,在创建角色之后,通常会立即为它授予权 限。例如:利用下面的语句创建了一个名为OPT_ROLE的角色, 并且为它授予了一些对象权限和系统权限:
ORACEL利用角色更容易地进行权限管理。有下列优点: (1)减少权限管理,不要显式地将同一权限组授权给 几个用户,只需将这权限组授给角色,然后将角色授权给 每一用户。 (2)动态权限管理,如果一组权限需要改变,只需修 改角色的权限,所有授给该角色的全部用户的安全域将自 动地反映对角色所作的修改。 (3)权限的选择可用性,授权给用户的角色可选择地 使其可用或不可用。 (4)应用可知性,当用户经用户名执行应用时,该数 据库应用可查询字典,将自动地选择使角色可用或不可用。 (5)应用安全性,角色使用可由口令保护,应用可提 供正确的口令使用角色,如不知其口令,不能使用角色。
系统权限可授权给用户或角色,一般,系统权限只授 予管理人员和应用开发人员,终端用户不需要这些相关功 能。 2)对象权限:在指定的表、视图、序列、过程、函数或包 上执行特殊动作的权利。
2.角色 为相关权限的命名组,可授权给用户和角色。数据库角 色包含下列功能: (1)一个角色可授予系统权限或对象权限。 (2)一个角色可授权给其它角色,但不能循环授权。 (3)任何角色可授权给任何数据库用户。 (4)授权给用户的每一角色可以是可用的或者不可用 的。一个用户的安全域仅包含当前对该用户可用的全部角 色的权限。 (5)一个间接授权角色对用户可显式地使其可用或不 可用。 在一个数据库中,每一个角色名必须唯一。角色名与用 户不同,角色不包含在任何模式中,所以建立角色的用户 被删除时不影响该角色。
oracle存储过程详细介绍(创建,删除存储过程,参数传递等)

oracle存储过程详细介绍(创建,删除存储过程,参数传递等)oracle 创建,删除存储过程,参数传递,创建,删除存储函数,存储过程和函数的查看,包,系统包存储过程和函数也是⼀种PL/SQL块,是存⼊数据库的PL/SQL块。
但存储过程和函数不同于已经介绍过的PL/SQL程序,我们通常把PL/SQL程序称为⽆名块,⽽存储过程和函数是以命名的⽅式存储于数据库中的。
和PL/SQL程序相⽐,存储过程有很多优点,具体归纳如下:* 存储过程和函数以命名的数据库对象形式存储于数据库当中。
存储在数据库中的优点是很明显的,因为代码不保存在本地,⽤户可以在任何客户机上登录到数据库,并调⽤或修改代码。
* 存储过程和函数可由数据库提供安全保证,要想使⽤存储过程和函数,需要有存储过程和函数的所有者的授权,只有被授权的⽤户或创建者本⾝才能执⾏存储过程或调⽤函数。
* 存储过程和函数的信息是写⼊数据字典的,所以存储过程可以看作是⼀个公⽤模块,⽤户编写的PL/SQL程序或其他存储过程都可以调⽤它(但存储过程和函数不能调⽤PL/SQL程序)。
⼀个重复使⽤的功能,可以设计成为存储过程,⽐如:显⽰⼀张⼯资统计表,可以设计成为存储过程;⼀个经常调⽤的计算,可以设计成为存储函数;根据雇员编号返回雇员的姓名,可以设计成存储函数。
* 像其他⾼级语⾔的过程和函数⼀样,可以传递参数给存储过程或函数,参数的传递也有多种⽅式。
存储过程可以有返回值,也可以没有返回值,存储过程的返回值必须通过参数带回;函数有⼀定的数据类型,像其他的标准函数⼀样,我们可以通过对函数名的调⽤返回函数值。
存储过程和函数需要进⾏编译,以排除语法错误,只有编译通过才能调⽤。
创建和删除存储过程创建存储过程,需要有CREATE PROCEDURE或CREATE ANY PROCEDURE的系统权限。
该权限可由系统管理员授予。
创建⼀个存储过程的基本语句如下:CREATE [OR REPLACE] PROCEDURE 存储过程名[(参数[IN|OUT|IN OUT] 数据类型...)]{AS|IS}[说明部分]BEGIN可执⾏部分[EXCEPTION错误处理部分]END [过程名];其中:可选关键字OR REPLACE 表⽰如果存储过程已经存在,则⽤新的存储过程覆盖,通常⽤于存储过程的重建。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle 创建删除用户、角色、表空间、导入导出、备份命令总结导入导出实用程序用于实施数据库的逻辑备份和恢复导出实用将数据库中的对象定义和数据备份到一个操作系统二进制文件中导入使用程序读取二进制导出文件并将对象和数据载入数据库中导出额导入实用程序的特点有:1.可以按时间保存表结构和数据2.允许导出指定的表,并重新导入到新的数据库中3.可以吧数据库迁移到另外一台异构服务器上4.在两个不同版本的Oracle数据库之间传输数据5.在联机状态下进行备份和恢复6.可以重新组织表的存储结构,减少链接及磁盘碎片调用导入导出的三种方法:在命令执行程序的参数和参数值已交互的方式提示用户逐个输入参数的值允许用户将运行参数和参数值存储在参数文件中,以便重复使用参数导入导出数据库对象的四种模式:完全数据库、表、用户、表空间导入导出整个数据库的所有对象导入导出一个或多个指定的表或表空间导入导出一个用户模式中的所有对象导入导出一个或多个指定的表空间中的所有对象导出使用程序有以下常用的命令参数参数说明USERID 确定执行导出实用程序的用户名和口令BUFFER 确定导出数据时所使用的缓冲区大小,其大小用字节表示FILE 指定导出的二进制文件名称,默认的扩展名是.dmpFULL 指定是否以全部数据库方式导出,只有授权用户才可使用此参数OWNER 要导出的数据库用户列表HELP 指定是否显示帮助消息和参数说明ROWS 确定是否要导出表中的数据TABLES 按表方式导出时,指定需导出的表和分区的名称PARFILE 指定传递给导出实用程序的参数文件名TABLESPACES 按表空间方式导出时,指定要导出的表空间名导出实用程序按用户方式导出数据exp gmd/gmd@oracle file=d:/1.dmp owner=gmd按表方式导出数据exp gmd/gmd@oracle tables=(GRP_PROVINCE,GRP_CITY,GRP_AREA) file=d:/2.dmp按表空间方式导出数据exp system/oracle@oracle tablespaces=(gmd) file=d:/3.dmp使用参数文件导出数据exp system/oracle@oracle parfile='d:\parameters.txt'导入使用程序有以下常用的命令参数参数说明USERID 指定执行导入的用户名和密码BUFFER 指定用来读取数据的缓冲区大小,以字节为单位COMMIT 指定是否在每个数组(其大小由BUFFER参数设置)插入后进行提交FILE 指定要导入的二进制文件名FROMUSER 指定要从导出转储文件中导入的用户模式TOUSER 指定要将对象导入的用户名。
FROMUSER与TOUSER可以不同FULL 指定是否要导入整个导出转储文件TABLES 指定要导入的表的列表ROWS 指定是否要导入表中的行PARFILE 指定传递给导入实用程序的参数文件名,此文件可以包含这里列出的所有参数IGNORE 导入时是否忽略遇到的错误,默认为NTABLESPACES 按表空间方式导入,列出要导入的表空间名导入实用程序按整个文件导入数据库imp gmd/gmd@oracle file=d:1.dmp ignore=y full=y按halibut用户的表导入到fantasy用户imp gmd/gmd@oracle file=2.dmp fromuser=halibut touser=fantasy tables=(t_user,role)使用参数文件导入数据imp system/oracle@oracle parfile='d:\paramenters.txt'--------------------------create temporary tablespace zfmi_temptempfile 'D:\oracle\oradata\zfmi\zfmi_temp.dbf'size 32mautoextend onnext 32m maxsize 2048mextent management local;//tempfile参数必须有//创建数据表空间create tablespace zfmiloggingdatafile 'D:\oracle\oradata\zfmi\zfmi.dbf'size 100mautoextend onnext 32m maxsize 2048mextent management local;//datafile参数必须有//删除用户以及用户所有的对象drop user zfmi cascade;//cascade参数是级联删除该用户所有对象,经常遇到如用户有对象而未加此参数则用户删不了的问题,所以习惯性的加此参数//删除表空间前提:删除表空间之前要确认该表空间没有被其他用户使用之后再做删除drop tablespace zfmi including contents and datafiles cascade onstraints;//including contents 删除表空间中的内容,如果删除表空间之前表空间中有内容,而未加此参数,表空间删不掉,所以习惯性的加此参数//including datafiles 删除表空间中的数据文件//cascade constraints 同时删除tablespace中表的外键参照如果删除表空间之前删除了表空间文件,解决办法:如果在清除表空间之前,先删除了表空间对应的数据文件,会造成数据库无法正常启动和关闭。
可使用如下方法恢复(此方法已经在oracle9i中验证通过):下面的过程中,filename是已经被删除的数据文件,如果有多个,则需要多次执行;tablespace_name是相应的表空间的名称。
$ sqlplus /nologSQL> conn / as sysdba;如果数据库已经启动,则需要先执行下面这行:SQL> shutdown abortSQL> startup mountSQL> alter database datafile 'filename' offline drop;SQL> alter database open;SQL> drop tablespace tablespace_name including contents;//创建用户并指定表空间create user zfmi identified by zfmidefault tablespace zfmi temporary tablespace zfmi_temp;//identified by 参数必须有//授予message用户DBA角色的所有权限GRANT DBA TO zfmi;//给用户授予权限grant connect,resource to zfmi; (db2:指定所有权限)导入导出命令:Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。
exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。
利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。
执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于在oracle 8i 中安装目录ora81BIN被设置为全局路径,该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。
oracle用java编写,SQLPLUS.EXE、EXP.EXE、IMP.EXE这两个文件有可能是被包装后的类文件。
SQLPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类,完成导入导出功能。
下面介绍的是导入导出的实例。
数据导出:1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中exp system/manager@TEST file=d:daochu.dmp full=y2 将数据库中system用户与sys用户的表导出exp system/manager@TEST file=d:daochu.dmp owner=(system,sys)3 将数据库中的表inner_notify、notify_staff_relat导出exp aichannel/aichannel@TESTDB2 file= d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)4 将数据库中的表table1中的字段filed1以"00"打头的数据导出exp system/manager@TEST file=d:daochu.dmp tables=(table1) query=" where filed1 like '00%'"上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。
也可以在上面命令后面加上compress=y 来实现。
数据的导入1 将D:daochu.dmp 中的数据导入TEST数据库中。
imp system/manager@TEST file=d:daochu.dmpimp aichannel/aichannel@HUST full=y file=d:datanewsmgnt.dmp ignore=y上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上ignore=y 就可以了。
2 将d:daochu.dmp中的表table1 导入imp system/manager@TEST file=d:daochu.dmp tables=(table1)基本上上面的导入导出够用了。
不少情况要先是将表彻底删除,然后导入。
注意:操作者要有足够的权限,权限不够它会提示。
数据库时可以连上的。
可以用tnsping TEST 来获得数据库TEST能否连上。
附录一:给用户增加导入数据权限的操作第一,启动sql*puls第二,以system/manager登陆第三,create user 用户名IDENTIFIED BY 密码(如果已经创建过用户,这步可以省略)第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW , DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,DBA,CONNECT,RESOURCE,CREATE SESSION TO 用户名字第五, 运行-cmd-进入dmp文件所在的目录,imp userid=system/manager full=y file=*.dmp或者imp userid=system/manager full=y file=filename.dmp执行示例:F:WorkOracle_Databackup>imp userid=test/test full=y file=inner_notify.dmp屏幕显示Import: Release 8.1.7.0.0 - Production on 星期四2月16 16:50:05 2006(c) Copyright 2000 Oracle Corporation. All rights reserved.连接到: Oracle8i Enterprise Edition Release 8.1.7.0.0 - ProductionWith the Partitioning optionJServer Release 8.1.7.0.0 - Production经由常规路径导出由EXPORT:V08.01.07创建的文件已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入导出服务器使用UTF8 NCHAR 字符集(可能的ncharset转换). 正在将AICHANNEL的对象导入到AICHANNEL. . 正在导入表"INNER_NOTIFY" 4行被导入准备启用约束条件...成功终止导入,但出现警告。