转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> ORACLE >> 正文
我的oracle笔记四(DBA管理)         ★★★★

我的oracle笔记四(DBA管理)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:4061 更新时间:2009/4/22 22:03:42

set autorecovery on
recover automatic datafile 4;

<8>.complete 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 rollback datafile)
copy c:\backup\user.dbf c:\oradata\user.dbf (alter tablespace 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 rollback 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:\oradata\user.dbf''''
recover datafile ''''e:\oradata\user.dbf'''' or recover tablespace user_data;
alter tablespace user_data online;
--method 4(loss of data file with no backup and have all archive 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 online
<9>.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;
<10>.backup a control file
alter database backup controlfile to ''''control1.bkp'''';
alter database backup controlfile to trace;
<11>.recovery (noarchivelog mode)
shutdown abort
cp files
startup
<12>.recovery of file in backup mode
alter database datafile 2 end backup;

<13>.clearing redo log file
alter database clear unarchived logfile group 1;
alter database clear unarchived logfile group 1 unrecoverable datafile;

<14>.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'''';

79 managing password security and resources

<1>.controlling account lock and password
sql> alter user juncky identified by oracle account unlock;

<2>.user_provided password function
sql> function_name(userid in varchar2(30),password in varchar2(30),
old_password in varchar2(30)) return boolean

<3>.create a profile : password setting
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_function
sql> password_grace_time 5;

<4>.altering a profile
sql> alter profile default failed_login_attempts 3
sql> password_life_time 60 password_grace_time 10;

<5>.drop a profile
sql> drop profile grace_5 [cascade];

<6>.create a profile : resource limit
sql> create profile developer_prof limit sessions_per_user 2
sql> cpu_per_session 10000 idle_time 60 connect_time 480;

<7>. view => resource_cost : alter resource cost
dba_Users,dba_profiles

<8>. enable resource limits
sql> alter system set resource_limit=true;


80.managing privileges

<1>.system privileges: view => system_privilege_map ,dba_sys_privs,session_privs

<2>.grant system privilege
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 user or role;

<3>.sysdba and sysoper privileges:
sysoper: startup,shutdown,alter database open|mount,alter database backup controlfile,
alter tablespace begin/end backup,recover database
alter database archivelog,restricted session
sysdba: sysoper privileges with admin option,create database,recover database until

<4>.password file members: view:=> v$pwfile_users

<5>.O7_dictionary_accessibility =true restriction access to view or tables in other schema

<6>.revoke system privilege
sql> revoke create table from karen;
sql> revoke create session from scott;

<7>.grant object privilege
sql> grant execute on dbms_pipe to public;
sql> grant update(first_name,salary) on employee to karen with grant option;

<8>.display object privilege : view => dba_tab_privs, dba_col_privs

<9>.revoke object privilege
sql> revoke execute on dbms_pipe from scott [cascade constraints];

<10>.audit record view :=> sys.aud$

<11>. protecting the audit trail
sql> audit delete on sys.aud$ by access;

<12>.statement auditing
sql> audit user;

<13>.privilege auditing
sql> audit select any table by summit by access;

<14>.schema object auditing
sql> audit lock on summit.employee by access whenever successful;

<15>.view audit option : view=> all_def_audit_opts,dba_stmt_audit_opts,dba_priv_audit_opts,dba_obj_audit_opts

<16>.view audit result: view=> dba_audit_trail,dba_audit_exists,dba_audit_object,dba_audit_session,dba_audit_statement

81 manager role

<1>.create roles
sql> create role sales_clerk;
sql> create role hr_clerk identified by bonus;
sql> create role hr_manager identified externally;

<2>.modify role
sql> alter role sales_clerk identified by commission;
sql> alter role hr_clerk identified externally;
sql> alter role hr_manager not identified;

<3>.assigning roles
sql> grant sales_clerk to scott;
sql> grant hr_clerk to hr_manager;
sql> grant hr_manager to scott with admin option;

<4>.establish default role
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>.enable and disable roles
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>.remove role from user
sql> revoke sales_clerk from scott;
sql> revoke hr_manager from public;

<7>.remove role
sql> drop role hr_manager;

<8>.display role information
view: =>dba_roles,dba_role_privs,role_role_privs,dba_sys_privs,role_sys_privs,role_tab_privs,session_roles


81.查询当前正在执行的job的情况
   有时候对于需要执行的job查询执行情况,比如正在执行那条语句,或者想把job停下来等。一般不知道怎么查询到
   job执行的session的sid.
   方法一:
    select * from dba_jobs_running
    如果运行比较慢,加
    select /*+ rule */* from dba_jobs_running
   方法二:
   <1>首先得到job号,从user_jobs或者dba_jobs
    select * from user_jobs where upper(what) like ''''%MYPROGRAM%''''
   <2> 根据job号查询sid号
    select * from v$lock where id2 = 3361910 and type =''''JQ''''
        就可以查询到sid了
   比如查询当前的执行什么语句
    select sql_text from v$sqlarea a,v$lock b,v$session c,user_jobs d
    where d.upper(what) like ''''%2004PRESENT%''''
    and d.job = b.id2
    and b.type=''''JQ''''
    and b.sid = c.sid
    and a.hash_value = c.sql_hash_value
    and a.address = c.sql_address

82.怎么样给sqlplus安装帮助
[A]SQLPLUS的帮助必须手工安装,shell脚本为$ORACLE_HOME/bin/helpins
在安装之前,必须先设置SYSTEM_PASS环境变量,如:
$ setenv SYSTEM_PASS SYSTEM/MANAGER
$ helpins
如果不设置该环境变量,将在运行脚本的时候提示输入环境变量
当然,除了shell脚本,还可以利用sql脚本安装,那就不用设置环境变量了,但是,我们必须以system登录。
$ sqlplus system/manager
SQL> @?/sqlplus/admin/help/helpbld.sql helpus.sql
安装之后,你就可以象如下的方法使用帮助了
SQL> help index

83.如何移动数据文件
<1>、关闭数据库,利用os拷贝
a.shutdown immediate关闭数据库
b.在os下拷贝数据文件到新的地点
c.Startup mount 启动到mount下
d.Alter database rename datafile ''''老文件'''' to ''''新文件'''';
e.Alter database open; 打开数据库
<2>、利用Rman联机操作
RMAN> sql "alter database datafile ''''''''file name'''''''' offline";
RMAN> run {
2> copy datafile ''''old file location''''
3> to ''''new file location'''';
4> switch datafile '''' old file location''''
5> to datafilecopy '''' new file location'''';
6> }
RMAN> sql "alter database datafile ''''''''file name'''''''' online";
说明:利用OS拷贝也可以联机操作,不关闭数据库,与rman的步骤一样,利用rman与利用os拷贝的原理一样,在rman中copy是拷贝数据文件,相当于OS的cp,而switch则相当于alter database rename,用来更新控制文件。

84.如何管理联机日志组与成员
以下是常见操作,如果在OPA/RAC下注意线程号
增加一个日志文件组
Alter database add logfile [group n] ''''文件全名'''' size 10M;
在这个组上增加一个成员
Alter database add logfile member ''''文件全名'''' to group n;
在这个组上删除一个日志成员
Alter database drop logfile member ''''文件全名'''';
删除整个日志组
Alter database drop logfile group n;

85.怎么样计算REDO BLOCK的大小
[A]计算方法为(redo size + redo wastage) / redo blocks written + 16
具体见如下例子
SQL> select name ,value from v$sysstat where name like ''''%redo%'''';
NAME VALUE
---------------------------------------------------------------- ---

上一页  [1] [2] [3] [4] [5] [6]  下一页


[网页制作]为 DBA 推荐几个邮件列表  [SyBase][推荐]对 Sybase ASE DBA 的建议!你能做到吗?
[ORACLE]ORACLE DBA常用SQL脚本工具-管理篇(1)  [ORACLE]Oracle DBA Interview Questions
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台