一.oracle一些目录路径和文件作用
oracle_base路径 d:/oracle/product/10.2.0/
oracle_home d:/oracle/product/10.2.0/db_1
可执行程序路径 d:/oracle/product/10.2.0/db_1/bin
net8 配置文件目录 d:/oracle/product/10.2.0/db_1/network/admin
数据库创建脚本的目录 d:/oracle/product/10.2.0/admin/dump
默认数据库文件路径 d:/oracle/product/10.2.0/oradata/SID (有3种类型的文件:ctl、dbf、log)
控制文件ctl有3个做镜像,重做日志文件3个轮流写
密码文件路径 oracle_home/database/PWDSid.ora (如sys链接数据库时使用的密码,用于客户端)
如果忘记sysdba组成员密码,可以删除这个文件,然后使用(命令在bin下,不在sqlplus):
orapwd file=oracle_home/database/pwdSID.ora password=admin123
重新创建密码文件,并重设密码。
参数文件路径
1.oracle_home/database/initSid.ora(pfile文本文件,修改文件后重启数据库生效)
2.oracle_home/dbs/spfileSid.ora(二进制文件,修改后直接生效)
可以使用create pfile from spfile来转换,直接使用pfile文件而不用spfile;在做集群时需要
把参数文件拷贝到共享磁盘。
数据库日志 oracle_base/admin/SID/adump
bdump 后台错误日志 有个alert_SID.log 使用ora-搜索错误
cdump 内核日志,如果存在日志,说明数据库有问题
udump 用户
dpdump
pfile 备份参数文件
二.数据库的启动与关闭过程
启动:
1.startup nomount 例程启动(加载参数文件pfile或spfile,主要是分配内存,启动进程)
可以使用show parameter spfile命令来确认数据库是用哪种参数文件(有vlaue值,就是用spfile)
2.alter database mount 挂载数据库(使用控制文件) (使用startup mount命令同时执行了步骤1、2)
3.alter database open 开启数据库 (使用startup命令同时执行了1、2、3)
出现tns错误: 后台oracleserviceSID服务没开
3113错误: 没有connect / as sysdba
测试数据库是否连接成功?
不能用connect sys/*** as sysdba因为你是最高管理员,无论何时都会显示连接(有可能只到mount状态)所以我们最好不要用sysdba组的用户去登入验证(例如可以用system)这样才能正确的去验证数据库是否连接成功。
关闭:
使用shutdoem immediate 命令(在关闭前做数据回滚动作)
显示:
1.数据库已经关闭
2.已经卸载数据库
3.oracle例程已经关闭
说明关闭数据库时与启动的过程是互逆的。
注:shutdown abort强制性瞬间关闭数据库,在下次数据库开机时再做回滚动作。有可能导致数据库文件损坏!
三.查看控制文件的方法
alter database backup controlfile to trace 把控制文件的内容存在udump中,做成跟踪文件
四.归档相关命令
alter database archivelog 打开归档模式,要在mount状态下执行
alter database noarchivelog
alter log list 查看是否打开归档以及归档路径
alter system archive log current; 执行当前归档
alter system set log_archie_est_1='location=e:/archive' 设置归档路径
五.数据备份
1.冷备
2.exp/imp 逻辑备份。
3.物理备份-热备(一定要开启归档模式)
alter database begin backup
在这种情况下我们可以直接拷贝数据库文件,数据不直接往数据库里面写,而是直接写到联机日志里面,如果联机日志满的话它就自动写到归档日志里面。
alter database end backup
在这种情况下,我们需要等待一段时间。让数据库执行联机日志,恢复数据库最新状态
连续执行几次alter system archive log current
4.RMAN
热备举例:
sqlplus /nolog
connect sys/123 as sysdba
alter database begin backup
host copy d:/oracle/product/10.2.0/orcledata/orcl/*.dbf f:/oradata/*.dbf;
alter database end backup
创建oracleservice-sid服务
oradim -new -scid orcl1
创建并拷贝参数文件到database里面
create pfile='c:/initorcl1.ora' from spfile
修改参数文件里面的控制文件路径和日志文件路径以及数据库名
oracle默认是连接到oracle_sid的数据库
我们可以去修改注册表
当然我们也可以在CMD下设置
set ORACLE_SID=new_sid 只在当前会话生效
创建密码文件
这个命令在cmd下执行
orapwd file=oracle_home/database/PWDorcl1.ora password=admin123 entries=5
执行startup nomount
创建控制文件
回到之前的ORCL数据库里面创建一个控制文件
sql>alter database backup controlfile to trace
使用Tracel要到Udunmp里面去查看最新的生产文件
打开那个文件查看里面的代码:
修改里面的路径
再回到orcl1 的地方执行修改完的代码
SQL>
create controlfile set dtabase "orcl1" resetlogs archivelog
和相应的路径
做介质恢复
set logsource 'F:/oradata/archivelog';
recover database using backup controlfile;
去之前的数据库里面执行
连续执行几次alter system archive log current
然后把相应的归档日志拷贝过来
alter database open resetlogs
connect instance_name from v$instance
oracle_base路径 d:/oracle/product/10.2.0/
oracle_home d:/oracle/product/10.2.0/db_1
可执行程序路径 d:/oracle/product/10.2.0/db_1/bin
net8 配置文件目录 d:/oracle/product/10.2.0/db_1/network/admin
数据库创建脚本的目录 d:/oracle/product/10.2.0/admin/dump
默认数据库文件路径 d:/oracle/product/10.2.0/oradata/SID (有3种类型的文件:ctl、dbf、log)
控制文件ctl有3个做镜像,重做日志文件3个轮流写
密码文件路径 oracle_home/database/PWDSid.ora (如sys链接数据库时使用的密码,用于客户端)
如果忘记sysdba组成员密码,可以删除这个文件,然后使用(命令在bin下,不在sqlplus):
orapwd file=oracle_home/database/pwdSID.ora password=admin123
重新创建密码文件,并重设密码。
参数文件路径
1.oracle_home/database/initSid.ora(pfile文本文件,修改文件后重启数据库生效)
2.oracle_home/dbs/spfileSid.ora(二进制文件,修改后直接生效)
可以使用create pfile from spfile来转换,直接使用pfile文件而不用spfile;在做集群时需要
把参数文件拷贝到共享磁盘。
数据库日志 oracle_base/admin/SID/adump
bdump 后台错误日志 有个alert_SID.log 使用ora-搜索错误
cdump 内核日志,如果存在日志,说明数据库有问题
udump 用户
dpdump
pfile 备份参数文件
二.数据库的启动与关闭过程
启动:
1.startup nomount 例程启动(加载参数文件pfile或spfile,主要是分配内存,启动进程)
可以使用show parameter spfile命令来确认数据库是用哪种参数文件(有vlaue值,就是用spfile)
2.alter database mount 挂载数据库(使用控制文件) (使用startup mount命令同时执行了步骤1、2)
3.alter database open 开启数据库 (使用startup命令同时执行了1、2、3)
出现tns错误: 后台oracleserviceSID服务没开
3113错误: 没有connect / as sysdba
测试数据库是否连接成功?
不能用connect sys/*** as sysdba因为你是最高管理员,无论何时都会显示连接(有可能只到mount状态)所以我们最好不要用sysdba组的用户去登入验证(例如可以用system)这样才能正确的去验证数据库是否连接成功。
关闭:
使用shutdoem immediate 命令(在关闭前做数据回滚动作)
显示:
1.数据库已经关闭
2.已经卸载数据库
3.oracle例程已经关闭
说明关闭数据库时与启动的过程是互逆的。
注:shutdown abort强制性瞬间关闭数据库,在下次数据库开机时再做回滚动作。有可能导致数据库文件损坏!
三.查看控制文件的方法
alter database backup controlfile to trace 把控制文件的内容存在udump中,做成跟踪文件
四.归档相关命令
alter database archivelog 打开归档模式,要在mount状态下执行
alter database noarchivelog
alter log list 查看是否打开归档以及归档路径
alter system archive log current; 执行当前归档
alter system set log_archie_est_1='location=e:/archive' 设置归档路径
五.数据备份
1.冷备
2.exp/imp 逻辑备份。
3.物理备份-热备(一定要开启归档模式)
alter database begin backup
在这种情况下我们可以直接拷贝数据库文件,数据不直接往数据库里面写,而是直接写到联机日志里面,如果联机日志满的话它就自动写到归档日志里面。
alter database end backup
在这种情况下,我们需要等待一段时间。让数据库执行联机日志,恢复数据库最新状态
连续执行几次alter system archive log current
4.RMAN
热备举例:
sqlplus /nolog
connect sys/123 as sysdba
alter database begin backup
host copy d:/oracle/product/10.2.0/orcledata/orcl/*.dbf f:/oradata/*.dbf;
alter database end backup
创建oracleservice-sid服务
oradim -new -scid orcl1
创建并拷贝参数文件到database里面
create pfile='c:/initorcl1.ora' from spfile
修改参数文件里面的控制文件路径和日志文件路径以及数据库名
oracle默认是连接到oracle_sid的数据库
我们可以去修改注册表
当然我们也可以在CMD下设置
set ORACLE_SID=new_sid 只在当前会话生效
创建密码文件
这个命令在cmd下执行
orapwd file=oracle_home/database/PWDorcl1.ora password=admin123 entries=5
执行startup nomount
创建控制文件
回到之前的ORCL数据库里面创建一个控制文件
sql>alter database backup controlfile to trace
使用Tracel要到Udunmp里面去查看最新的生产文件
打开那个文件查看里面的代码:
修改里面的路径
再回到orcl1 的地方执行修改完的代码
SQL>
create controlfile set dtabase "orcl1" resetlogs archivelog
和相应的路径
做介质恢复
set logsource 'F:/oradata/archivelog';
recover database using backup controlfile;
去之前的数据库里面执行
连续执行几次alter system archive log current
然后把相应的归档日志拷贝过来
alter database open resetlogs
connect instance_name from v$instance