oracle常用命令及格式

合集下载

Oracle基本操作《DOC命令》

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常用SQL命令

Oracle常用SQL命令

Oracle常⽤SQL命令创建表空间1.创建默认表空间WLP_DATCREATE TABLESPACE "MYSPACE" DATAFILE'D:\oracle\oradata\orcl\data/WLP_DAT.dbf' SIZE 32M REUSE AUTOEXTEND ON NEXT 32MLOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;2.创建临时表空间WLP_TEMP(⽤于缓存,可以不建)ALTER TABLESPACE "TEMP" ADD TEMPFILE'D:\oracle\oradata\orcl\data/WLP_TEMP.dbf' SIZE 32m REUSE autoextend on next 32m;创建⽤户并授权1CREATE USER "WLPING" PROFILE "DEFAULT"2 IDENTIFIED BY "123456"3DEFAULT TABLESPACE "MYSPACE" //默认指定表空间4TEMPORARY TABLESPACE "TEMP" //指定缓存表空间5 ACCOUNT UNLOCK; //⽤户⾮锁定67GRANT EXECUTE ON dbms_comparison TO "WLPING";8GRANT UNLIMITED TABLESPACE TO "XIR_MD";9GRANT "CONNECT" TO "XIR_MD";10GRANT "RESOURCE" TO "XIR_MD";1112-- GRANT DBA TO XIR_MD;PROFILE:Oracle系统中的profile可以⽤来对⽤户所能使⽤的数据库资源进⾏限制,使⽤Create Profile命令创建⼀个Profile,⽤它来实现对数据库资源的限制使⽤,如果把该profile分配给⽤户,则该⽤户所能使⽤的数据库资源都在该profile的限制之内。

常用oracle数据库命令

常用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常用命令大全(很有用,做笔记)

Oracle常用命令大全(很有用,做笔记)

Oracle常⽤命令⼤全(很有⽤,做笔记)⼀、ORACLE的启动和关闭1、在单机环境下要想启动或关闭ORACLE系统必须⾸先切换到ORACLE⽤户,如下su - oraclea、启动ORACLE系统oracle>svrmgrlSVRMGR>connect internalSVRMGR>startupSVRMGR>quitb、关闭ORACLE系统oracle>svrmgrlSVRMGR>connect internalSVRMGR>shutdownSVRMGR>quit启动oracle9i数据库命令:$ sqlplus /nologSQL*Plus: Release 9.2.0.1.0 - Production on Fri Oct 31 13:53:53 2003Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.SQL> connect / as sysdbaConnected to an idle instance.SQL> startup^CSQL> startupORACLE instance started.2、在双机环境下要想启动或关闭ORACLE系统必须⾸先切换到root⽤户,如下su - roota、启动ORACLE系统hareg -y oracleb、关闭ORACLE系统hareg -n oracleOracle数据库有哪⼏种启动⽅式说明:有以下⼏种启动⽅式:1、startup nomount⾮安装启动,这种⽅式启动下可执⾏:重建控制⽂件、重建数据库读取init.ora⽂件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora⽂件。

2、startup mount dbname安装启动,这种⽅式启动下可执⾏:数据库⽇志归档、数据库介质恢复、使数据⽂件联机或脱机,重新定位数据⽂件、重做⽇志⽂件。

oracle查询语句大全

oracle查询语句大全

oracle查询语句大全oracle 基本命令大全一1.create user username identified by password;//建用户名和密码oracle ,oracle2.grant connect,resource,dba to username;//授权grant connect,resource,dba,sysdba to username;3.connect username/password//进入。

4.select table_name,column_name from user_tab_columns where table_name='mview_log';//查询表中的表名,字段名等等。

5. 如何执行脚本SQL文件? SQL>@PA TH/filename.sql;6.Oracle oledb 提供者在command中执行多条SQL语句与SQL SERVER有少许差别,SQL Server只需使用";"分割多条SQL语句,而Oracle需要遵守ORACLE调用规范,即除分号分割外,还需以begin /end;包围语句体.使用C#描述应如下所示:mandText = "begin INSERT INTO GROUP_INFO (GROUP_ID, GROUP_NAME) V ALUES (1, \'2\'); INSERT INTO GROUP_INFO(GROUP_ID, GROUP_NAME) V ALUES (2, \'2\'); end;";7.查询用户下的所有表select distinct table_name from user_tab_columns;8.如何搜索出前N条记录?Select a.*,rownum from (select * from cardkind order by cardkind ) a where rownum<n9.查找用户下的所有表:select * from tab;2、显示当前连接用户SQL> show user3、查看系统拥有哪些用户SQL> select * from all_users;4、新建用户并授权SQL> create user a identified by a;(默认建在SYSTEM表空间下)SQL> grant connect,resource to a;5、连接到新用户SQL> conn a/a6、查询当前用户下所有对象SQL> select * from tab;7、建立第一个表SQL> create table a(a number); 8、查询表结构SQL> desc a9、插入新记录SQL> insert into a values(1); 10、查询记录SQL> select * from a;11、更改记录SQL> update a set a=2;12、删除记录SQL> delete from a;13、回滚SQL> roll;SQL> rollback;14、提交SQL> commit;select * from(select t.*,dense_rank() over (order by cardkind) rank from cardkind t)where rank = 2;46. 如何在字符串里加回车?select 'Welcome to visit'||chr(10)||'' from dual ;47. 中文是如何排序的?Oracle9i之前,中文是按照二进制编码进行排序的。

Oracle格式化输出几个常用命令

Oracle格式化输出几个常用命令

Oracle格式化输出⼏个常⽤命令在使⽤Oracle命令⾏过程中⼀定会遇到输出格式问题,不同的格式化命令会使输出⼈性化。

1、set linesize(line) 设置sqlplus输出的最⼤⾏宽
2、set pagesize 设置页⾯的最⼤⾏数
3、set newpage 设置页⾯之间的空⾏数
4.spool sqlplus屏幕的⽂件输⼊输出命令
5、edit 使⽤⾃定义的编辑器编辑指定⽂件
6、save 保存当前session最近的sql语句⾄指定的⽂件中
7、host 返回到操作系统环境,类似!
8、start或@ 执⾏⽂件中的命令
9、column
column是sqlplus⾥最实⽤的⼀个命令,简写column为col,⽤于修改显⽰列名的宽度;
col name format a50--将列name(字符型)显⽰最⼤宽度调整为50个字符
col num format 9999999 --将列num(num型)显⽰最⼤宽度调整为7个字符
col name heading 姓名--将name的列名输出为姓名。

oracle基本操作

oracle基本操作

oracle基本操作Oracle是一种关系数据库管理系统,它是世界上最受欢迎的企业级数据库。

它被各种企业广泛使用,它的功能非常强大,包括数据安全、访问控制、事务处理、性能优化、数据备份和恢复等。

本文将介绍Oracle的基本操作,包括如何创建、修改和删除表,如何插入、更新和删除数据,以及如何查询和导出数据。

这些操作对于初学者来说非常重要,也是使用Oracle的基础。

1.创建表格在Oracle中,创建表的语法如下:CREATE TABLE table_name ( column1 datatype, column2 datatype, column3 datatype, .... );其中,table_name是要创建的表的名称,column1、column2等是列名,datatype是列的数据类型。

例如,创建一个名为“employees”的表格,并添加列“id”、“name”和“salary”,则可以使用以下命令:CREATE TABLE employees ( id NUMBER(4) NOT NULL, name VARCHAR2(15) NOT NULL, salary NUMBER(7,2), PRIMARY KEY (id) );注意,id和name列设置为NOT NULL,这表示这两列不能为空。

salary列的数据类型为NUMBER,并设置了精度和小数位数。

2.修改表格如果需要修改表格,可以使用ALTER TABLE命令。

例如,如果想向employees表格添加新的列“address”,可以使用以下命令:ALTER TABLE employees ADD address VARCHAR2(50);如果需要删除表格中的列,可以使用以下命令:ALTER TABLE employees DROP COLUMN address;3.删除表格如果需要删除一个表格,可以使用以下命令:DROP TABLE table_name;例如,删除名为“employees”的表格:DROP TABLE employees;如果不小心使用了错误的命令或者删除的表格不是自己想要的,则可以使用RECOVER命令来找回删除的表格。

oracle常用的SQL及语法

oracle常用的SQL及语法

1、两个oracle 开发工具介绍a)SqlDbx王金生曾推荐过的一款数据库客户端开发工具,使用容易,不需要额外的安装其它插件,有sql提示功能,支持Oracle,Sybase ASE, IBM,DB2/UDB, MicrosoftSQL Server 和ODBC数据源,免费绿色版。

b)PLSQL Developer专门针对oracle开发的一款比较专业的客户端工具,除了常用的数据库操作外,还支持存储过程及函数的调试功能等比较高级的功能,详细的操作可以安装完毕后大家去慢慢研究。

配置方式见网上找的一段方法,第二种:/view/65b5a80f6c85ec3a87c2c583.html以上提到的工具及可能用到的插件见共享目录中的文件。

2、oracle 与 sqlserver 语法大比较a)oracle各类型字段描述b)字段类型比较c)常用函数比较注:此处仅记录语法有区别的地方,更多丰富的语法请查看附件中的手册。

以下的exp为expression的缩写d)关于脏读目前我们使用的sqlserver 数据库,在查询数据时,都要求在select语句中后面跟一个(nolock)或(with nolock)来保证读取大表时不影响其它程序进程的数据操作。

在oracle中,目前还不允许脏读的方式,在每次select 后,读到的数据都是已经commit的数据,所以为了避免读取数据的不准确,程序中如果有比较耗时的sql 操作,尤其是在insert 和update后,尽量减小事务,而且要在事务结束后及时commit。

e)表(主键、外键、CHECK、UNIQUE、DEFAULT、INDEX)在创建表及其主键、外键、CHECK、UNIQUE、DEFAULT、INDEX时,SQL SERVER 与ORACLE的语法大致相同。

主要区别如下:Oracle定义表字段的default属性紧跟字段类型之后,如下:Create table MZ_Ghxx( ghlxh number primay key ,rq date default sysdate not null,….)而不能写成Create table MZ_Ghxx( ghlxh number primay key ,rq date not null default sysdate,….)f)存储过程/函数结构的不同SQLSERVER中存储过程的结构大致如下CREATE PROCEDURE procedure_name/*输入、输出参数的声明部分*/ASDECLARE/*局部变量的声明部分*/BEGIN/*主体SQL语句部分*//*游标声明、使用语句在此部分*/ENDORACLE中存储过程的结构大致如下CREATE OR REPLACE PROCEDURE procedure_name(/*输入、输出参数的声明部分*/ )AS/*局部变量、游标等的声明部分*/BEGIN/*主体SQL语句部分*//*游标使用语句在此部分*/EXCEPTION/*异常处理部分*/END ;ORACLE端FUNCTION语法说明CREATE [OR REPLACE] FUNCTION function_name[(argument [{IN | OUT | IN OUT }] ) type,…[(argument [{IN | OUT | IN OUT }] ) typeRETURN return_type {IS | AS}BEGIN…END;变量赋值在SQL SERVER语句中用如下语句对局部变量赋值(初始值或数据库表的字段值或表达式):“SELECT 局部变量名= 所赋值(初始值或数据库表的字段值或表达式)”;而在ORACLE中,将初始值赋给局部变量时,用如下语句:“局部变量名: = 所赋值(初始值或表达式);”,将检索出的字段值赋给局部变量时,用如下语句:“SELECT 数据库表的字段值INTO 局部变量名…”。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

oracle常用命令及格式一:关于日志管理的1.切换日志:sql> alter system switch logfile;2.切换checkpoints:sql> alter system checkpoint;3.增加日志组:sql> alter database add logfile [group 4]sql> ('/disk3/log4a.rdo','/disk4/log4b.rdo') size1m;4.增加日志成员sql> alter database add logfile membersql> '/disk3/log1b.rdo' to group 1,sql> '/disk4/log2b.rdo' to group 2;5.改变日志文件名字或路径sql> alter database rename file 'c:/oracle/oradata/oradb/re do01.log'sql> to 'c:/oracle/oradata/redo01.log';(此处注意,那个文件路径的输入格式)6.删除日志文件组:sql> alter database drop logfile group 3;7.删除日志文件成员sql> alter database drop logfile member 'c:/oracle/oradata/ redo01.log';8.清除日志文件内容sql> alter database clear [unarchived] logfile 'c:/oracle/l og2a.rdo';二、关于表空间管理的1.创建表空间sql> create tablespace tablespace_name datafile 'c:\oracle\ oradata\file1.dbf' size100m,sql> 'c:\oracle\oradata\file2.dbf' size100mminimum extent 5 50k [logging/nologging]sql> default storage (initial 500k next 500k maxextents 500 pctinccease 0)sql> [online/offline] [permanent/temporary] [extent_managem ent_clause]2.创建本地管理表空间(9i中无需指定,因为9i全部使用local表空间)sql> create tablespace user_data datafile 'c:\oracle\oradat a\user_data01.dbf'sql> size500mextent management local uniform size10m;3.创建temporary tablespacesql> create temporary tablespace temp tempfile 'c:\oracle\o radata\temp01.dbf'sql> size500mextent management local uniform size10m;4.改变表空间的默认存储属性sql> alter tablespace app_data minimum extent2m;sql> alter tablespace app_data default storage(initial2mnex t2mmaxextents 999);5.改变表空间online和offlinesql> alter tablespace app_data offline;sql> alter tablespace app_data online;6.使表空间只读/只写sql> alter tablespace app_data read only|write;7.删除表空间sql> drop tablespace app_data including contents and datafi les;8.使数据文件自动扩展sql> alter tablespace app_data add datafile 'c:\oracle\orad ata\app_data01.dbf' size200msql> autoextend on next10mmaxsize500m;9.改变数据文件大小sql> alter database datafile 'c:\oracle\oradata\app_data.db f' resize200m;10.移动数据文件到别的磁盘或者更改名字sql> alter tablespace app_data rename datafile 'c:\oracle\o radata\app_data.dbf'sql> to 'c:\oracle\app_data.dbf';三:关于表操作1.创建表sql> create table table_name (column datatype,column dataty pe]....)sql> tablespace tablespace_name [pctfree integer] [pctused integer]sql> [initrans integer] [maxtrans integer]sql> storage(initial 200k next 200k pctincrease 0 maxextent s 50)sql> [logging|nologging] [cache|nocache]2.复制一个已经存在的表sql> create table table_name [logging|nologging]assubquery 3.创建一个临时表sql> create global temporary table xay_temp as select * fro m xay;on commit preserve rows/on commit delete rows4.表的pctfree和pctused计算pctfree = (average row size - initial row size) *100 /avera ge row sizepctused = 100-pctfree- (average row size*100/available data space)5.改变表的存储参数sql> alter table table_name pctfree=30 pctused=50 storage(n ext 500ksql> minextents 2 maxextents 100);6.手工为表分配一个区sql> alter table table_name allocate extent(size 500k dataf ile 'c:/oracle/data.dbf');7.移动一个表sql> alter table employeemovetablespace users;8.重新分配没有使用的表的空间sql> alter table table_name deallocate unused [keep intege r]9.清除表数据(不能恢复)sql> truncate table table_name;10.删除一个表sql> drop table table_name [cascade constraints];11.删除表中的列sql> alter table table_name drop column comments cascade co nstraints checkpoint 1000;alter table table_name drop columns continue;12.使表中某列失效sql> alter table table_name set unused column comments casc ade constraints;alter table table_name drop unused columns checkpoint 1000; alter table orders drop columns continue checkpoint 1000 data_dictionary : dba_unused_col_tabs四:关于索引的1.创建function-based索引sql> create index summit.item_quantity on summit.item(quant ity-quantity_shipped);2.创建B-tree索引sql> create [unique] index index_name on table_name(colum n,.. asc/desc) tablespacesql> tablespace_name [pctfree integer] [initrans integer] [maxtrans integer]sql> [logging | nologging] [nosort] storage(initial 200k ne xt 200k pctincrease 0sql> maxextents 50);3.索引的pctfreepctfree(index)=(maximum number of rows-initial number of ro ws)*100/maximum number of rows5.创建bitmap索引sql> create bitmap index xay_id on xay(a) pctfree 30 storag e( initial 200k next 200ksql> pctincrease 0 maxextents 50) tablespace indx;6.改变索引的存储参数sql> alter index xay_id storage (next 400k maxextents 100);7.为索引分配区空间sql> alter index xay_id allocate extent(size 200k datafile 'c:/oracle/index.dbf');五:约束1.定义一个约束sql> alter session set constraint[s] = immediate/deferred/d efault;set constraint[s] constraint_name/all immediate/deferred;2.删除约束sql> drop table table_name cascade constraintssql> drop tablespace tablespace_name including contents cas cade constraints3.在创建表时定义约束sql> create table xay(id number(7) constraint xay_id primar y key deferrablesql> using index storage(initial 100k next 100k) tablespace indx);primary key/unique/references table(column)/check4.enable constraintssql> alter table xay enable novalidate constraint xay_id;5.enable constraintssql> alter table xay enable validate constraint xay_id;六:LOAD数据1.插入table(emp_old)数据到empsql> insert /*+append */ into emp nologgingsql> select * from emp_old;2.并行插入sql> alter session enable parallel dml;sql> insert /*+parallel(emp,2) */ into emp nologgingsql> select * from emp_old;3.oracle数据导入工具sql*loadersql> sqlldr scott/tiger \sql> control = ulcase6.ctl \sql> log = ulcase6.log direct=true七:reorganizing data1.export数据$exp scott/tiger tables(dept,emp) file=c:\emp.dmp log=exp.l og compress=n direct=y2.import数据$imp scott/tiger tables(dept,emp) file=emp.dmp log=imp.log ignore=y3.导出一个表空间数据sql>alter tablespace sales_ts read only;$exp sys/.. file=xay.dmp transport_tablespace=y tablespace= sales_tstriggers=n constraints=n4.导入一个表空间数据$imp sys/.. file=xay.dmp transport_tablespace=y datafiles= (/disk1/sles01.dbf,/disk2/sles02.dbf)sql> alter tablespace sales_ts read write;八:managing password security and resources1.改变用户密码sql> alter user juncky identified by oracle;2.使用密码函数sql> function_name(userid in varchar2(30),password in varch ar2(30),old_password in varchar2(30)) return boolean3.创建一个包括密码限制的profile文件sql> create profile grace_5 limit failed_login_attempts 3 sql> password_lock_time unlimited password_life_time 30 sql>password_reuse_time 30 password_verify_function verify_ functionsql> password_grace_time 5;4.altering a profilesql> alter profile default failed_login_attempts 3sql> password_life_time 60 password_grace_time 10;5.删除一个profilesql> drop profile grace_5 [cascade];6.创建一个包含资源限制的profile文件sql> create profile developer_prof limit sessions_per_user 2sql> cpu_per_session 10000 idle_time 60 connect_time 480; 7.查看profile的两个数据字典dba_Users,dba_profiles8.使资源限制生效sql> alter system set resource_limit=true;九:Managing users1.创建一个用户sql> create user juncky identified by oracle default tables pace userssql> temporary tablespace temp quota10mon data password exp iresql> [account lock|unlock] [profile profilename|default]; 2.现在一个用户使用某个表空间sql> alter user juncky quota 0 on users;3.删除用户sql> drop user juncky [cascade];十:managing privileges1.查看权限的数据字典system_privilege_map ,dba_sys_privs,session_privs2.授予系统权限sql> grant create session,create table to managers;sql> grant create session to scott with admin option;with admin option can grant or revoke privilege from any us er or role;3.dba的权限sysoper: startup,shutdown,alter database open|mount,alter d atabase backup controlfile,alter tablespace begin/end backup,recover databasealter database archivelog,restricted sessionsysdba: sysoper privileges with admin option,create databas e,recover database until4.回收系统权限sql> revoke create table from karen;sql> revoke create session from scott;5.授予object权限sql> grant execute on dbms_pipe to public;sql> grant update(first_name,salary) on employee to karen w ith grant option;6.查看dba权限dba_tab_privs, dba_col_privs7.revoke object privilegesql> revoke execute on dbms_pipe from scott [cascade constr aints];8.查看系统审计sys.aud$9. protecting the audit trailsql> audit delete on sys.aud$ by access;10.审计用户sql> audit user;11.对summit执行select语句操作进行审计sql> audit select any table by summit by access;12.对成功执行的lock语句进行审计sql> audit lock on summit.employee by access whenever succe ssful;13.一些重要数据字典all_def_audit_opts,dba_stmt_audit_opts,dba_priv_audit_opts, dba_obj_audit_optsdba_audit_trail,dba_audit_exists,dba_audit_object,dba_audit _session,dba_audit_statement十一:manager role1.创建角色sql> create role sales_clerk;sql> create role hr_clerk identified by bonus;sql> create role hr_manager identified externally;2.修改角色属性sql> alter role sales_clerk identified by commission; sql> alter role hr_clerk identified externally;sql> alter role hr_manager not identified;3.分配角色给用户sql> grant sales_clerk to scott;sql> grant hr_clerk to hr_manager;sql> grant hr_manager to scott with admin option;4.分配默认角色sql> alter user scott default role hr_clerk,sales_clerk;sql> alter user scott default role all;sql> alter user scott default role all except hr_clerk; sql> alter user scott default role none;5.生效和失效角色sql> set role hr_clerk;sql> set role sales_clerk identified by commission;sql> set role all except sales_clerk;sql> set role none;6.收回用户的角色sql> revoke sales_clerk from scott;sql> revoke hr_manager from public;7.删除角色sql> drop role hr_manager;8.角色相关数据字典dba_roles,dba_role_privs,role_role_privs,dba_sys_privs,role _sys_privs,role_tab_privs,session_roles十二: BACKUP and RECOVERY1.系统重要维护数据字典v$sga,v$instance,v$process,v$bgprocess,v$database,v$datafil e,v$sgastat2. Rman need setdbwr_IO_slaves or backup_tape_IO_slaves and large_pool_size 3. Monitoring Parallel Rollback> v$fast_start_servers , v$fast_start_transactions4.脱机冷备> shutdown immediate> cp files /backup/> startup5.restore to a different location> connect system/manager as sysdba> startup mount> alter database rename file '/disk1/../user.dbf' to '/disk 2/../user.dbf';> alter database open;6.recover syntax--recover a mounted database>recover database;>recover datafile '/disk1/data/df2.dbf';>alter database recover database;--recover an opened database>recover tablespace user_data;>recover datafile 2;>alter database recover datafile 2;7.how to apply redo log files automatically>set autorecovery on>recover automatic datafile 4;plete recovery:--method 1(mounted databae)>copy c:\backup\user.dbf c:\oradata\user.dbf>startup mount>recover datafile 'c:\oradata\user.dbf;>alter database open;--method 2(opened database,initially opened,not system or r ollback datafile)>copy c:\backup\user.dbf c:\oradata\user.dbf (alter tablesp ace offline)>recover datafile 'c:\oradata\user.dbf' or>recover tablespace user_data;>alter database datafile 'c:\oradata\user.dbf' online or>alter tablespace user_data online;--method 3(opened database,initially closed not system or r ollback datafile)>startup mount>alter database datafile 'c:\oradata\user.dbf' offline;>alter database open>copy c:\backup\user.dbf d:\oradata\user.dbf>alter database rename file 'c:\oradata\user.dbf' to 'd:\or adata\user.dbf'>recover datafile 'd:\oradata\user.dbf' or recover tablespa ce user_data;>alter tablespace user_data online;--method 4(loss of data file with no backup and have all ar chive log)>alter tablespace user_data offline immediate;>alter database create datafile 'd:\oradata\user.dbf' as 'c: \oradata\user.dbf''>recover tablespace user_data;>alter tablespace user_data online5.perform an open database backup> alter tablespace user_data begin backup;> copy files /backup/> alter database datafile '/c:/../data.dbf' end backup; > alter system switch logfile;6.backup a control file> alter database backup controlfile to 'control1.bkp'; > alter database backup controlfile to trace;7.recovery (noarchivelog mode)> shutdown abort> cp files> startup8.recovery of file in backup mode>alter database datafile 2 end backup;9.clearing redo log file>alter database clear unarchived logfile group 1;>alter database clear unarchived logfile group 1 unrecovera ble datafile;10.redo log recovery>alter database add logfile group 3 'c:\oradata\redo03.log' size 1000k;>alter database drop logfile group 1;>alter database open;or >cp c:\oradata\redo02.log' c:\oradata\redo01.log>alter database clear logfile 'c:\oradata\log01.log';。

相关文档
最新文档