oracle操作使用指南
2018-01-08 17:00
519 查看
应用场景
针对oracle的使用,有一些常用的功能,在此做一个小小的总结。操作步骤
1. 3个默认的帐户
sys change_on_install 网络管理员 [as sysdba] system manage 本地管理员 scott tiger 超级用户
2. 创建用户、授权和撤消权限
登录oracle: sqlplus / as sysdba 启动监听: lsnrctl start 启动数据库的实例: oradim -startup -sid orcl SQL> show user; //显示当前用户 SQL> create user lisi identified by lisi; //创建一个用户 SQL> grant create session to lisi; //给用户授予会话权限 SQL> sqlplus lisi/lisi //用创建的用户进行登录 SQL> grant unlimited tablespace to lisi //给用户授予表空间权限 SQL> grant create table to lisi; //给用户创建表的权限 SQL> create table mytable (id int); //创建表 SQL> insert into mytable values (1); //插入数据 SQL> select * from mytable; //查询数据 SQL> drop table mytable //删除表 SQL> revoke create table from lisi; //撤消对表操作的权限 SQL> select * from user_sys_privs; //查询当前用户拥有哪些权限 SQL>revoke unlimited tablespace from lisi; //撤消对表空间操作的权限
3. 丢失管理员密码怎么办?
用sys用户进行修改 sqlplus / as sysdba alter user scott Identified by tiger;
4. 角色管理
角色就是一个权限的集合。 show user; 显示当前用户 create role myrole; 创建一个角色 grant create session to myrloe; 给角色授予session权限 grant create table to myrole; 给角色授予表操作权限 create user zhangsan identified by zhangesan; 创建一个用户 grant myrole to zhangsan; 把角色授予给用户 sqlplus zhangsan/zhangsan 用户登录 drop role myrole; 删除角色 grant unlimited tablespace to myrole; 这个权限比较大,不能通过角色授权,只能授权给用户
5. 权限的传递
show user: 查看当前用户 select * from user_sys_privs 查看当前用户的系统权限 grant alter any table to lisi; sys可以授权给李四 grant alter any table to wangwu; 但是李四不能授权给王五 grant alter any table to lisi with admin option; //现在李四可以授权给王五了 grant alter any table to wangwu with admin option; //让王五也可以传递权限 create table A(id int); //在sys中创建一个表A grant select On A to lisi; //把表操作权限传递给李四,但李四不能传递权限 grant select On A to lisi with grant option; //现在李四可以传递权限了 grant select on sys.A to wangwu with grant option;; //让王五也可以传递权限。
6. 系统权限与对象权限
SQL> create user wanwu identified by wangwu SQL> grant create session to wangwu; SQL> sqlplus wangwu/wangwu SQL> grant create table,unlimited tablespace to wangwu; SQL> create table mytab(id int); SQL> insert into mytab values(2); 用lisi访问wangwu 的表,不能访问 SQL> select * from wangwu.mytab; 用sys用户访问wangwu 的表,可以,要执行两次 SQL> select * from wangwu.mytab; SQL> select * from wangwu.mytab; 让lisi可以访问wangwu的表 SQL> grant select on mytab to lisi; //把查询权限授予李四 SQL> grant insert on mytab to lisi; //把插入权限授予李四 SQL> commit; //提交后才显示数据 SQL> grant all on mytab ot lisi; // 把操作表的最大权限授予李四 SQL> revoke all on mytab from lisi; // 撤消李四对表操作的权限 SQL> disconn SQL> conn wangwu/wangwu SQL> commit: //每次对表操作后要提交 SQL> alter table mytab add name varchar(50); SQL> insert into mytab values(1,'zhang'); SQL> insert into mytab values(2,'li'); SQL> insert into mytab values(3,'wang'); SQL> commit; SQL> grant update(name) on mytab to lisi; //让李四只有更新name列的权限 SQL> grant insert(id) on mytab to lisi; //让李四只有插入id列的权限 SQL> update wangwu.mytab set name='lihuoming' where id=1;
7. 帐户管理细节
三个常用的系统用户: scott(一个数据库的普通用户) conn scott/tiger manager(数据库管理员) conn system/manager sys(数据库对象的拥有者权限最高) conn sys/change_on _install as sysdba 创建用户的完整格式: create user 用户名 identified by 密码 default tableSpace 表空间 Temporary TableSpace 表空间 Quota 整数[ K | M | Limited | unlimited ] on 表空间 例子: create user abc identified by 123 default tablespace Users Temporary tablespace Temp Quota 50M on Users 限制用户: 用户加锁 -- alter user 用户名 account lock 用户解锁 -- alter user 用户名 account unlock 用户口令即刻失效 -- alter user 用户名 password expire 删除用户: drop user 用户名 [CasCade] CasCade表示删除用户所有对象 示例: drop user abc cascade;
相关文章推荐
- Oracle sql*loader 使用指南
- 创建ORACLE数据库方法--摘自于ORACLE8使用指南(David Austin 著)
- Oracle SQL*Loader 使用指南
- 使用Oracle可传输表空间的特性复制数据(2)操作步骤
- Any和Some和ALL 的使用,以及交操作差操作的嵌套查询(Oracle)
- 使用标准SQL语句实现分页操作(Oracle)
- [Python]MySQLdb for Python使用指南/Python的数据库操作
- 使用JDBC操作基于Oracle的CLOB,BLOB字段类型
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- Oracle SQL*Loader 使用指南
- Oracle 10g的使用【SQLPLUS操作大全】
- C#操作Oracle 的blob字段使用OracleClient
- MySQLdb for Python使用指南/Python的数据库操作
- Any和Some和ALL 的使用,以及交操作差操作的嵌套查询(Oracle) (转)
- Oracle SQL*Loader 使用指南【转】
- oracle 10G中临时表空间组的操作和使用
- 使用java操作oracle的blob字段
- Oracle SQL*Loader 使用指南【转】
- Oracle中使用PL/SQL操作COM对象
- Oracle SQL*Loader 使用指南