2008-07-20

db oracle dba

关键字: dba
oracle 11G<==>toad 9.5/9.6.1
------------------------------------------------------------------------------------------------------------
site message:Quest Free to Our Chinese
Performance Diagnostics :0-63920-17953-29180-05749
Quest Central for Oracle: 0-63920-17953-15580-01746

SQL Tuning (Oracle) : 0-63920-17953-29360-05749

TOAD: 0-63920-17953-29060-02749

Oracle Advanced Administration Powered by TOAD:0-63920-17953-15100-09746

Knowledge Xpert for Oracle Administration:0-63920-17953-29760-09749

Database Analysis (Oralce) : 0-63920-17953-29200-08749

Spotlight on E-Business Suite: 0-63920-17953-29100-07749

Knowledge Xpert for PL/SQL: 0-63920-17953-29820-06749

Performance Analysis for Oracle :0-63920-17953-29340-03749

Formatter Plus: 0-63920-17953-29800-04749

Space Management(Oracle): 0-63920-17953-29860-00749
Schema Manager: 0-63920-17953-16480-01746
products
oracle download

http://download.oracle.com/otn/nt/oracle11g/win32_11gR1_database.zip

http://download.oracle.com/otn/nt/oracle11g/win64_11gR1_database.zip

http://download.oracle.com/otn/linux/oracle11g/linux_11gR1_database.zip

http://download.oracle.com/otn/linux/oracle11g/linux.x64_11gR1_database.zip

http://download.oracle.com/otn/solaris/oracle11g/solaris.sparc64_11gR1_database.zip

Oracle 10g Client setup:

Oracle Services for MTS(Microsoft  Transation Server) port:2030

 C:\Program Files\Oracle\Inventory\logs\installActions2008-08-25_11-37-07PM.log

Oracle 10g Client Net Config

文件:D:\oracle10client\product\10.2.0\client_1\network\ADMIN\\tnsnames.ora

Oracle 11g Net Config

文件:D:\oracle\product\11.1.0\db_2\NETWORK\ADMIN\tnsnames.ora

内容:

# tnsnames.ora Network Configuration File: d:\oracle10client\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.

192.168.200.72_GOLD =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.200.72)(PORT = 2521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = gold)
    )
  )

127.0.0.1_GOLD =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 2521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = gold)
    )
  )

192.168.100.120_SNTEST =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.120)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = sntest)
    )
  )

192.168.100.40_SAPDB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.40)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = sapdb)
    )
  )

#host=0901D2E7ACA449C  id:sys,system,scott pwd:sys,li,li#

192.168.116.161_ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.116.161)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl.lcs)
    )
  )

Oracle11g Data Guard新特點

一、物理(Physical)standby新特点
下面是11g 物理standby数据库几个比较实用的特点。
1、Physical standby with Real Time Query
我们都知道11g以前的物理standby,可以是只读方式打开数据库,但是这时Media Recovery(Redo Apply)过程就停止了,
如果standby数据库处于恢复的过程那么数据库就不能Open,11g解决了这个矛盾,恢复的同时可以只读打开数据库,这有点类似逻辑
standby数据库的功能。这样可以更大发挥physical standby的作用(比如对于实时要求比较高的报表服务)。

2、加快standby数据库备份的速度
在oracle10g oracle引入了Block Tracking技术,来监控那些数据库是上次增量备份以来修改了的,这样可以加快增量备份的
数度,但是这个功能只能在Primary数据库上有效,在standby数据库是不支持这个功能的,Oracle11g解决了这个问题,standby
数据库的备份也支持Block Tracking,这样用户可以在standby上面快速执行备份,减轻Primary上面负载。

3、Snapshot Standby
就是允许Physical standby数据库以读写模式打开,但是同时没有破坏它作为standby数据库的功能,这个特性可以用来在
Physical standby上面执行某些测试,等测试完成,把数据库再置为Physical standby。当然在standby 以读写方式打开的时候
它只能接收Primary传过来的Redo,但是不能Apply这些Redo。实际上因为就是在standby使用了Flashback技术来实现这个功能。

4、提高Redo Apply的性能
Oracle11g可以利用并行技术来进行Redo Apply ,提高恢复的速度。

二、逻辑(Logical)standby的新特点

1、支持的数据类型更多了。
现对Oracle10g,11g新增下列数据类型:
XMLType data type (最为CLOB存储)

2、支持下面oracle包和数据加密
DBMS_FGA (Fine Grained Auditing)
DBMS_RLS (Virtual Private Database)
实际上就是支持在logical standby数据库上面支持精细的审计功能和虚拟数据库功能。
Transparent Data Encryption (TDE)的支持
standby上面支持并行DDL

3、Fast-Start Failover
更快速执行失败切换,更精细控制触发Failover的事件,比如:可以更具某个ORA的错误号来出发切换。

(从Oracle 10g开始需要固定ip地址,利用微软自带内环网卡作固定ip支持)
Oracle_FAQ.chm
Oracle安装完成后的初始口令
默认帐号应该是sysdba
internal/oracle sys/change_on_install system/manager scott/tiger sysman/oem_temp
Id:sys as sysdba Pwd:sys Id:sys as sysoper Pwd:sys
Oracle安装完成后的修改口令
internal/oracle sys/sys system/system scott/tiger sysman/orcl dbsnmp/orcl
自动重新安装,忘记密码解决方法:
开始----运行----打开 sqlplusw
用户名:sqlplus as sysdba
输入:ALTER USER DBSNMP ACCOUNT UNLOCK;
注:由于刚才解锁的用户名是DBSNMP,所以这里设置的用户名也是DBSNMP
Oracle 数据库 11g 中的 ASM 新特性
Oracle 11g 管理资料档案库已置于安全模式下, 在此模式下将对 Enterprise Manager 数据进行加密。加密密钥已放置在文件 E:\oracle\product\11.1.0\db_1\169.254.105.73_orcl\sysman\config\emkey.ora 中。请务必备份此文件, 因为如果此文件丢失, 则加密数据将不可用。
全局数据库名:orcl 系统表示符sid:orcl 服务器参数文件名:E:\oracle\product\11.1.0\db_1\database\spfileorcl.ora
查看数据库实例运行情况 : http://localhost:1158/em https://169.254.105.73:1158/em
web方式登录iSQL*Plus name:system pwd:system name:sys pwd:sys 固定虚拟ip:192.168.116.126
Enterprise Manager Database Control URL - (orcl) :  https://Lindows-IBM-XP2:1158/em
http://localhost:5560/isqlplus http://localhost:5560/isqlplus/dba
http://LindowsXP:5560/isqlplus http://LindowsXP:5560/isqlplus/dba
Ultra Search URL: http://localhost:5620/ultrasearch
Ultra Search 管理工具 URL: http://localhost:5620/ultrasearch/admin
Enteprise Manager 10g Database Control URL: http://localhost:5500/em
PL/SQL Developer V7.1.1.1339 name:system pwd:system
解决Oracle.exe占用内存过大的问题
开始----运行---打开cmd    
输入 net start 察看服务运行列表
net stop OracleServiceORCL 停止ORACLE服务
net start OracleServiceORCL 开始ORACLE服务
启动Oracle 10g sqlplus 图形界面: 开始---- 运行----sqlplusw
启动Oracle 10g sqlplus dos 界面: 开始---- 运行----sqlplus
解决ServerDB(UTF-8)与ClientDB(GBK)之间的字符集不统一的问题:
开始----运行---打开regedit 查找 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1
数值名称(N) NLS_LANG  
数值数据(V) SIMPLIFIED CHINESE_CHINA.ZHS16GBK
oracle 10G 12154问题解决
Oracle 10 g .bat文件启动/关闭方法 net start oracle.bat 内容:
net start OracleOraDb10g_home1TNSListener
net start OracleServiceMYORACLE
net start OracleDBConsolemyoracle
net start OracleJobSchedulerMYORACLE
net start OracleOraDb10g_home1iSQL*Plus
net stop oracle.bat
内容:
net stop OracleOraDb10g_home1TNSListener
net stop OracleServiceMYORACLE
net stop OracleDBConsolemyoracle
net stop OracleJobSchedulerMYORACLE
net stop OracleOraDb10g_home1iSQL*Plus
Exception:
  0RA-01034 :   Oracle   not   available.  
  0RA-27101 :   Shared   memory   realm   does   not   exists.
表空间太小也可能造成数据库连不上,Oracle10g增加SGA_TARGETPGA_AGGREGATE_TARGET 语法对付表空间问题, 如果是Oracle8i运行sqlplus,用system登陆,然后键入:startup  mount //启动数据库
Oracle 10g system && sysaux 姊妹表空间
system 数据库打开后,一定不能被offline,而sysaux表空间offline后则部分功能失效。
Oracle提供了缺省数据表空间的概念,即使用户不指定,Oracle也不会将用户数据存放在SYSTEM表空间,
Oracle还将一些无关紧要的系统数据分离到SYSAUX表空间,以使得SYSTEM表空间纯净化。。。。。。。
Oracle 11g 冷备份
开始----运行----sqlplus>>>>用户名:SQL>system as sysdba 密码:system
Oracle 导入导出功能
导出:
exp file=sapdb0417.dmp userid=euser/euser@sapdb full=y

导入:
imp file=suning2.dmp userid=suning_b2c_user/arvato@btcsu full=y

Oracle shutdown的幾種方式

http://blog.itpub.net/post/48/25561

1、shutdown normal 
   正常方式关闭数据库。 


2、shutdown immediate 
   立即方式关闭数据库。 
   在SVRMGRL中执行shutdown immediate,数据库并不立即关闭, 
   而是在Oracle执行某些清除工作后才关闭(终止会话、释放会话资源), 
   当使用shutdown不能关闭数据库时,shutdown immediate可以完成数据库关闭的操作。
 


3、shutdown abort 
   直接关闭数据库,正在访问数据库的会话会被突然终止, 
   如果数据库中有大量操作正在执行,这时执行shutdown abort后,重新启动数据库需要很长時間

--------------------------------------------------------

shutdown abort 的时候,跟kill 进程是一样的效果
数据库立即关闭,这个时候文件状态可能不一致
因为正常关闭数据库会同步校验各文件,使得重新启动的时候文件时间点一致并且不用进行崩溃恢复

若检查点信息一致,则做崩溃恢复
若检查点信息不一致(正好在更新文件头)则需要做介质恢复

这些问题都好处理,最怕的问题是这个时候系统有大量IO,结果这样造成写的突然中断,碰巧造成文件块的逻辑坏块,那麻烦比较大一些,尤其是系统表空间的block损坏


虽然shutdown abort 出错的几率很小,1000个人可能只有一个人碰到,但是我们还是要小心。
正确的处理流程是,shutdown immediate ,若数据库迟迟不能down下来,在os上观察IO状况,几乎没有io的时候,另开一窗口shutdown  abort ,几乎不会出问题了

 

--------------------------------------------------------

http://www.itpub.net/showthread.php?threadid=180315&pagenumber

先用IMMEDIATE来DOWN,实在不行了,看一下数据库文件上没IO了,再用ABORT 

------------------------------------------------------------------------------

你可以尝试先在系统级杀掉非后台Oracle进程,在连接shutdown immediate就安全多了

在Oracle8i里,当数据库失去响应以后,你在操作系统上杀掉用户进程后,一般数据库就可以恢复正常了

-------------------------------------------------------------------------------

先 shutdown immediate 应该是首选

然后不行再重新shutdown abort

其实起不来也是因为os的缘故,在文件正在写的时候出现问题导致文件不一致或者损坏……

--查询数据文件位置
select name from v$datafile;
select file_name,status from dba_data_files;
E:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF
E:\ORACLE\ORADATA\ORCL\SYSAUX01.DBF
E:\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF
E:\ORACLE\ORADATA\ORCL\USERS01.DBF
E:\ORACLE\ORADATA\ORCL\EXAMPLE01.DBF
--查询控制文件位置
select * from v$controlfile;
select name from v$controlfile;
E:\ORACLE\ORADATA\ORCL\CONTROL01.CTL
E:\ORACLE\ORADATA\ORCL\CONTROL02.CTL
E:\ORACLE\ORADATA\ORCL\CONTROL03.CTL
--查询重做日志文件位置
select * from v$log;
select * from v$logfile;
select member from v$logfile order by group#;
E:\ORACLE\ORADATA\ORCL\REDO01.LOG
E:\ORACLE\ORADATA\ORCL\REDO02.LOG
E:\ORACLE\ORADATA\ORCL\REDO03.LOG
--关闭数据库进行物理备份
--SQL>shutdown immediate;
--拷贝刚查询的数据文件、控制文件、重做日志文件到其他地方以备用
--拷贝E:\oracle\product\11.1.0\db_1\database里所有文件到其它盘
--拷贝完成
--SQL>startup
--ok
--查询系统参数
select * from v$parameter;
select tablespace_name, count(*) from dba_free_space group by tablespace_name;
SELECT tablespace_name,count(*)chunks,max(bytes/1024/1024) max_chunk
FROM dba_free_space
GROUP BY tablespace_name;
--查询当前会话
SELECT sid,serial#,username,program,machine,status FROM v$session;
--查询表空间状态
--http://www.51cto.com/specbook/301/47525.htm
select * from dba_tablespaces;
select tablespace_name,status from dba_tablespaces;
Oracle数据库日常维护
在Oracle数据库运行期间,DBA应该对数据库的运行日志及表空间的使用情况进行监控,及早发现数据库中存在的问题。
使系统暂时不产生Redo log
方法一:
>sqlplus /nolog
sql>connect sys/***** as sysdba;
     (*****为sys密码,安装时若没修改默认的是change_on_install)
sql>shutdown immediate
sql>startup mount
sql>alter database noarchivelog
sql>alter database open
Oracle 常用SQL查询列表
Oracle Warehouse Builder 11g 第 1 版使用
OCP DBA1学习笔记
[04/11] [Oracle管理]9I 笔记 (ZT)
新一篇: Oracle数据库的导出和导入
oracle管理SQL查询.doc
·Oracle财务软件(Oracle  Financial)
·Oracle制造业软件(Oracle Manufacturing)
·Oracle人力资源软件(Oracle Human Resources)
·Oracle自动控制软件(Oracle Automotive)
·Oracle 商业交易系统(Oracle Exchange)

 

----------------------------------------------------------------------------------------------------------------------------------

传智播客_ORACLE经典视频教程 学习记录

http://hi.baidu.com/vjame/blog/item/89130eb3c30c4fa1d9335a14.html

 

sqlplus lanjh/lanjh

disconn lanjh;

conn lanjh;


3个默认的用户

sys
system
scott
系统权限

 

----------------------------------------------------------------------------------------------------------------------------------

Oracle自动启动和关闭的方法 数据库关闭  dbshut  数据库启动 dbtart

for AIX

  方法一:使用加载inittab来启动

  1、利用oracle自己提供的dbstar和dbshut脚本来启动和关闭数据库。

  确认/etc/oratab文件中的对应的实例的最后标志为 Y 。

  例如:ora92:/opt/oracle/app/oracle/product/9.2:Y

  dbstart将根据这个标志位来启动对应的实例。这个文件是由root.sh创建的。

  可以在/etc或者其他目录下再创建一个脚本来调用dbstart命令。

 

#touch dbstart.sh
#
chmod 755 dbstart.sh
#vi dbstart.sh
su - oracle -c "$ORACLE_HOME/bin/dbstart"
su - oracle -c "lsnrctl start "

  2、将脚本加载到inittab

 

#mkitab "dbstart:2:wait:/etc/dbstart.sh > /dev/console 2>&1"

  方法二:加载到rc.d中

  1、通上面的方法1创建一个脚本/etc/dbstart.sh

  2、加载到rc.d中

  检查/etc/inittab默认的启动级别:init:2:initdefault:

  这里默认为2,即可转到/etc/rc.d/rc2.d  

 

#ln -s /etc/dbstart.sh /etc/rc.d/rc2.d/S99dbstart

  另:在主机关闭的时候自动关闭数据库的方法,可以在/usr/sbin/shutdown的前面加载

 

su - oracle -c "/$ORACLE_HOME/bin/dbshut"
su - oracle -c "/$ORACLE_HOME/bin/dbshut"

  方法三:使用HA的应用程序资源组

 

smitty hacmp -> Initialization and Standard Configuration
-> Configure Resources to Make Highly Available -> Configure Application Servers
-> Change Application Server
Start Script [/usr/es/sbin/
cluster/local/startdb.sh]
Stop Script [/usr/es/sbin/cluster/local/stopdb.sh]
startdb.sh脚本和stopdb.sh脚本分别调用$ORACLE_HOME/bin/dbstart和$ORACLE_HOME/bin/dbshut脚本。
for Linux  

      方法1:加载rc服务来实现

  创建脚本:

 

#touch dbstart.sh
#
chmod 755 dbstart.sh
#vi dbstart.sh
su - oracle -c "$ORACLE_HOME/bin/dbstart"
su - oracle -c "lsnrctl start "

  在Linux中,检查/etc/inittab默认的启动级别,一般运行级别为3,id:3:initdefault:

  然后转到/etc/rc.d/rc3.d

 

#ln -s /etc/dbstart.sh /etc/rc.d/rc3.d/S99dbstart

  方法2:在/etc/rc.local文件中加载启动命令

  直接编辑rc.local文件,在后面添加

 

#vi /etc/rc.local
su - oracle -c "$ORACLE_HOME/bin/dbstart"
su - oracle -c "lsnrctl start "

  自动关闭方法:

 

#touch sysshut
#chmod 755 sysshut
#vi sysshut
su - oracle -c "$ORACLE_HOME/bin/dbshut"
su - oracle -c "lsnrctl stop"
shutdown $*

  sysshut的使用方法跟shutdown的使用方法一致。

for hp unix

  方法1:通过加载rc服务实现

  先创建脚本,脚本类似上面的。

  检查/etc/inittab的默认的启动级别:init:3:initdefault:

  在rc3.d中加载服务

  ln -s /etc/dbstart.sh /sbin/rc3.d/S99dbstart

  自动关闭不能直接修改/usr/sbin/shutdown,可以通过自己写一个shutdown的脚本来实现 

 

#touch sysshut
#
chmod 755 sysshut
#vi sysshut
su - oracle -c "$ORACLE_HOME/bin/dbshut"
su - oracle -c "lsnrctl stop"
shutdown $*

  sysshut的使用方法跟shutdown的使用方法一致。

  for windows

  windows就比较简单了。oracle安装完后,默认会在服务中注册对应的服务,例如: 

 

oracleservice
OracleOraHome92TNSListener

  只要设定这两个服务的启动类型为自动就可以了。

 

评论
发表评论

您还没有登录,请登录后发表评论