- 浏览: 188479 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
Errorize:
一个用servlet实现导出csv文件的实例 -
wendellhu:
求monkey talk应用文档的解压密码
monkey talk应用文档 -
wendellhu:
加密的?
monkey talk应用文档 -
hugang357:
hslh22 写道不错的资源,可以使用,只是没有最大最小值的限 ...
数字微调输入框 -
hslh22:
不错的资源,可以使用,只是没有最大最小值的限制,需要自己去加逻 ...
数字微调输入框
一、数据库启动:
Unix:
login: oracle
Password: xxxx
$
$ORACLE_HOME: /home/app/oracle/product/8.1.7
$ svrmgrl
SVRMGR>connect internal
SVRMGR> startup
SVRMGR> exit
启动监听进程:
$lsnrctl start
如果在启动时报错,检查:/home/app/oracle/product/8.1.7/network/admin/listener.ora
$lsnrctl stop // 停止监听进程
$lsnrctl status // 显示监听进程状态
二、数据库启动过程:
1、启动数据库实例: ORACLE instance started
。读取参数文件
。分配SGA区
。启动后台进程
// 如果启动出现问题,有可能是因为参数文件有问题或者内存不足。
2、数据库安装:Database mounted
。读取控制文件
。打开控制文件
// 如果启动出现问题,可能是控制文件出现问题。
3、打开数据库:Database opened
。打开全部数据文件
。打开全部日志文件
// 如果有一个文件出现问题,则数据库不能启动。
数据库文件读取顺序:参数文件 ==> 控制文件 ==> 日志、数据文件,三类文件中不能有一个文件损坏,否则数据库不能启动。
4、数据库启动过程中可以使用的选项:
SVRMGR> startup OPEN --1、2、3 // 加OPEN与不加OPEN效果相同,1、2、3指三个步骤:启动实例 ==> 安装数据库 ==> 打开数据库
SVRMGR> startup MOUNT --1、2 启动实例=> 安装数据库
SVRMGR> startup NOMOUNT -- 1 只启动数据库实例
(1) OPEN用于数据库的正常启动(或不加OPEN)。
(2) MOUNT的使用方式:
。用于修改数据库归档方式
。用于数据库恢复。Recovery命令在mount状态使用。
在mount状态,所有v$xxxx 数据字典可以使用,所有alter database命令可以使用。
(3) NOMOUNT的使用方式:
。创建控制文件
。创建新的数据库
(4) 数据库在MOUNT下可以使用的选项:
SVRMGR> startup MOUNT
SVRMGR> Alter database ARCHIVELOG; // 将数据库由非归档方式修改为归档方式 SVRMGR> Alter database NOARCHIVELOG; // 将数据库由归档方式修改为非归档方式
// SVRMGR> archive log list
// SVRMGR> select log_mode from v$database;
SVRMGR> Alter database OPEN; // 将数据库由MOUNT直接到OPEN状态。
SVRMGR> Alter database OPEN READ .LY; // 整个数据库以只读方式打开
SVRMGR> Alter database OPEN READ WRITE; // 整个数据库以读写方式打开(系统缺省方式,不需要写上READ WRITE)
[2002.05.14]
//=====================================================================================================================
(5) 数据库在OPEN下可以使用的选项:
[A]
SVRMGR> startup PFILE=参数文件名称及路径
// 在有两个数据库存在的情况下,可以用如下方法同时启动两个数据库。
SVRMGR> startup PFILE=第一个数据库的参数文件名称及路径
SVRMGR> startup PFILE=第二个数据库的参数文件名称及路径
[B]
SVRMGR> startup RESTRICT // 限制性数据库启动命令,以这种方式启动数据库后,具有restricted session权限的用户可以连接数据库,其他用户不能连接。
DBA可以指定用户连接:
SQL> grant restricted session to scott; // 指定权限
SQL> revoke restricted session from scott; // 收回权限
修改限制:
SQL> Alter system disable restricted session; // 解禁
SQL> alter system enable restricted session; // 禁止
[C]
SVRMGR> startup FORCE // 强制性数据库启动命令
[D*] 允许多个选项同时使用,顺序没有关系:
SVRMGR> startup PFILE=c:\init.ora FORCE MOUNT
SVRMGR> startup force restrict pfile=c:\init.ora
三、数据库关闭命令:
在关闭服务器之前,必须使用shutdown命令先关闭数据库,再关闭操作系统。
SVRMGR> shutdown normal // 正常关机。系统等待所有用户从数据库中正常退出,很难关掉。
SVRMGR> shutdown immediate // 立即关机。中断现在连接,回退未提交事务,不再接收用户的连接请求。(有的用户数据会丢失)
SVRMGR> shutdown abort // 异常关机。只关闭实例,释放内存,不保证数据完整性。尽量少用。
SVRMGR> shutdown transactional // 事务终结后关机。等待用户提交数据后关闭数据库。
[补充内容]
四、数据库启动过程中失败恢复方法:
1、第一步不启动(实例):参数文件错误:参数错误、路径、文件名、参数设置错误等。
2、第二步不能mount:控制文件坏。检查有没有镜像文件,如果没有,需要重新创建控制文件。
3、第三步,数据库不能Open。数据文件或日志损坏。
(1) 数据文件(Datafile)被破坏或被误删除时数据库的恢复方法。
SVRMGR> startup mount
[A]如果数据库运行在ARCHIVELOG模式下,使用以下命令:
SVRMGR> alter database datafile '被删数据文件名及路径' OFFLINE;
// 在归档方式下,这个被删的文件可能通过归档日志恢复数据。
打开数据库:SVRMGR> Alter database open;
[B]如果数据库运行在NOARCHIVELOG模式下,使用以下命令:
SVRMGR> alter database datafile '被删数据文件名及路径' OFFLINE DROP;
// 在非归档方式下,被删数据文件的内容绝对不可能恢复,所以只好DROP掉。
打开数据库:SVRMGR> Alter database open;
(2) 日志文件(Redo Log Files)被破坏或被误删除时数据库的恢复方法。
SVRMGR> startup mount
删除被物理破坏的日志文件组:
SVRMGR> Alter database drop logfile group n;
增加已经被物理破坏的日志文件组:
SVRMGR> Alter database add logfile group n('日志成员文件', '日志成员文件') size xxM;
SVRMGR> Alter database open;
// 如果当前日志被破坏,则恢复操作将比较复杂,必须通过数据库备份来恢复(不完全恢复)。
4、重新创建控制文件(Control Files):
创建控制文件的语法:
SVRMGR> startup nomount
Create controlfile database 数据库名称
logifle
group 1 (日志文件名及路径'', '日志文件名及路径') size xxM,
group 2 (日志文件名及路径'', '日志文件名及路径') size xxM,
...
noresetlogs
datafile
'第一个数据文件名称及路径' size xxM, // xxM中不能出现小数点儿,如果有小数,就使用K,如果仍然有小数,则使用字节。
'第二个数据文件名称及路径' size xxM,
...
character set zhs16gbk;
SVRMGR> startup nomount
Create controlfile database ora8i
logfile
group 1 ('d:\oracle\oradata\ora8i\redo01.dbf') size 1M,
group 2 ('d:\oracle\oradata\ora8i\redo02.dbf') size 1M,
group 3 ('d:\oracle\oradata\ora8i\redo03.dbf') size 1M,
noresetlogs
datafile
'd:\oracle\oradata\ora8i\system01.dbf' size 70M,
'd:\oracle\oradata\ora8i\rbs01.dbf' size 520M,
...
character set zhs16gbk;
SQL> select bytes/1024/1024, blocks, file_name from dba_data_files;
// 通过这个命令来查询数据文件的大小,以Oracle中查询的数据为准,不要根据操作系统显示的文件大小来决定,建议事先做好备份。
[*C] 修改数据库名称时,需要重新创建数据库控制文件,语法如下(注意与上面的语法稍有不同):
SVRMGR> startup nomount
Create controlfile set database 新数据库名称 // 这一行有不同,注意:数据库的名称一般不要超过5个字符。
logifle
group 1 (日志文件名及路径'', '日志文件名及路径') size xxM,
group 2 (日志文件名及路径'', '日志文件名及路径') size xxM,
...
resetlogs // 这一行也有不同
datafile
'第一个数据文件名称及路径' size xxM, // xxM中不能出现小数点儿,如果有小数,就使用K,如果仍然有小数,则使用字节。
'第二个数据文件名称及路径' size xxM,
...
character set zhs16gbk;
五、检测数据库文件工具:DBVerify
使用方法:
C:\> dbv file=文件名及路径 logfile=输出结果文件名 blocksize=数据块大小(缺省是2K,否则指出) start=起始数据块 end=终止数据块
可以检测数据、日志及控制文件等。如果不加start 和 end,则默认检测整个数据文件。
Oracle在Unix下安装
一、创建数据库安装用户
*1、Oracle在Unix下运行平台:
。Sun Solaris(Sun SPARC)(Solaris是Oracle目前运行最多的平台)
。HP-UX
。IBM-AIX
。COMPAQ Tru64-Unix(ALPHA)
。SCO UNIX(PC)
。Linux(PC)
。SGI
// 前三种平台上运行的最多
*2、用户组名:dba(Oracle7, Oracle8)
oinstall(Oracle8i, Oracle9i)
*3、在Unix下,与用户所在组有关的文件:/etc/group
如果要加新组就在此文件中新加一行,如:
oinstall::20:oracle,oraweb
// gid < 1024,组号越大,权限越小。
*4、与用户有关的文件:/etc/passwd
oracle8i:x:30:20:Oracle8i for Unix:/u01/app/oracle/product/8.1.7:/bin/sh
用户名:x:用户号:组号:描述(可省略):文件系统名称:shell
//# admintool Sun的图形管理工具
//# sam HP-UX
//# scoadmin SCO UNIX
二、创建Oracle数据库安装目录
在Unix下安装数据库,最好使用Oracle建议设置的标准目录:
OFA(Optimal Flexible Architecture):将Oracle的系统文件与数据库文件分别存储。
OFA要求创建两个目录:
$ORACLE_BASE
$ORACLE_HOME
假设目录为:/u01/app/oracle/product/8.1.7
则:$ORACLE_BASE = /u01/app/oracle // 这个目录下的各个子目录存放数据库文件
$ORACLE_HOME = /u01/app/oracle/product/8.1.7 // 这个目录存储系统文件
例如:$ORACLE_BASE/oradata存储数据文件
$df -k // 查看文件系统的使用率,如果超过80%,就不要再继续添加文件,否则文件系统将十分慢
#mkdir app
# cd app
# mkdir oracle
...
# mkdir 8.1.7
# chgrp -R oinstall oracle //-R包括子目录,将oracle目录的属组改为oinstall组
# chown -R oracle oracle // 将oracle(第二个)目录的属主改为oracle用户
# ls -al
三、编辑安装用户的.profile文件,定义操作系统环境变量
NLS_LANG,Oracle用户在安装时默认安装为与操作系统一致的字符集,因此要想在英文版本的操作系统上安装支持中文的Oracle时,务必要设置这个环境变量。
#vi .profile // 内容如下:
ORACLE_BASE=/u01/app/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/8.1.7
export ORACLE_HOME
ORACLE_SID=ora8i // 数据库实例名
export ORACLE_SID
ORACLE_TERM=sun //终端类型,SCO为vt100,防止字符混乱
export ORACLE_TERM
NLS_LANG="simplified chinese"_china.zhs16gbk (oracle8.0以后)
.zhs16cgb231280(oracle 8以前,为保持数据兼容,如要导入oracle7的数据,建议选择这一个)
export NLS_LANG
LD_LIBRARY_PATH=/usr/lib:$ORACLE_HOME/lib
export LD_LIBRARY_PATH
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export ORA_NLS33
TMPDIR=/var/tmp
export TMPDIR
PATH=/bin:$ORACLE_HOME/BIN:/usr/sbin;/opt/bin
export PATH
// .profile文件应该放在$ORACLE_HOME目录下。
四、配置操作系统核心
五、安装过程:
在安装光盘下运行:$./runInstall
[第四章 创建Oracle数据库、表空间管理、回退段管理]
一、创建数据库
1、确定数据库名、实例名、服务名
数据库名参数:db_name = prod
数据库实例名参数:instance_name = prod
域名:db_domain
数据库服务名参数:service_names = prod[.域名] //服务名等于:数据库名.域名,为了省事,一般不要域名。
2、创建新数据库的参数文件:init.ora
需要修改的参数:
db_name
instance_name
service_names
control_files : d:\oracle\oradata\prod\... 01 02 03
background_dump_dest: 后台信息跟踪文件的存储位置d:\oracle\oradata\prod\bdump
user_dump_dest: 用户信息跟踪文件的存储位置d:\Oracle\oradata\prod\udump
sql_trace = true
3、设置操作系统参数:主要是设置ORACLE_SID选择数据库实例
在Unix下设置实例的方法:
$ORACLE_SID=ora8i
$export ORACLE_SID
换成另外一个:
$ORACLE_SID=prod
$export ORACLE_SID
在Windows NT/2000下,有一个实例写在注册表中,如果要进入第二个数据库,设置方法如下:
C:\> set ORACLE_SID=ora8i
C:\> set ORACLE_SID=prod
// 为了不致发生混乱,每次在使用数据库之前,进行上述设置。
4、创建数据库实例
语法:C:\>oradim -new -sid [实例名] -intpwd [口令] -startmode auto -pfile [数据库参数文件名称及路径]
。红色部分需要用户确定
。startmode: auto, manual
。参数文件名称及路径:
Unix:
/u01/app/oracle/admin/db_name/pfile/initSID.ora
/u01/app/oracle/product/8.1.7/dbs/initSID.ora // 这是oracle直接读取的参数文件
// 在Unix中上面的dbs目录是pfile目录的symbol link,即两上文件是同一个文件。
Windows:
d:\oracle\admin\db_name\pfile\init.ora
d:\oracle\ora81\database\initSID.ora // 这是oracle直接读取的参数文件
/*第二个文件指向第一个文件,上面这个文件可以随便放到什么位置,只要在第二个文件中通过IFILE指明了其位置,也可以直接用第一个文件的内容替换第二个文件的内容。*/
删除数据库实例方法:
D:\> oradim -delete -sid [实例名]
最后的命令格式为:
D:\> oradim -new -sid prod -intpwd prod -startmode auto -pfile d:\oracle\ora81\database\initprod.ora
[如果执行了set oracle_sid=prod后,仍然不能通过svrmgrl连接到internal用户,请检查是否在注册表中设置了local串。]
5、创建数据库:
SVRMGR> startup nomount
SVRMGR> create database prod
logfile group 1('d:\oracle\oradata\prod\log1a.log',
'd:\oracle\oradata\prod\log1b.log') size 2m,
group 2('d:\oracle\oradata\prod\log2a.log',
'd:\oracle\oradata\prod\log2b.log') size 2m
datafile 'd:\oracle\oradata\prod system01.dbf' size 200m
autoextend . next 10m maxsize 1000m
character set zhs16gbk;
[2002.05.15]
//=====================================================================================================================
6、加载数据字典:
(1) 加载常用的数据字典:
SVRMGR>@d:\Oracle\ora81\rdbms\admin\catalog
SVRMGR>@/u01/app/oracle/product/8.1.7/rdbms/admin/catalog
(2) 加载PL/SQL程序包:
SVRMGR>@d:\Oracle\ora81\rdbms\admin\catproc
(3) 加载Java程序包:
SVRMGR> @d:\oracle\ora8i\javavm\install\initjvm
7、网络配置:
配置tnsnames.ora文件
d:\oracle]ora81\network\admin\tnsnames.ora
8、以system登录数据库,加载资源文件profile:
SQL> @d:\oracle\ora81\sqlplus\admin\pupbld.sql
//如果不运行这个sql程序,普通用户登录时会提示错误。
[C*] 对于新数据库,监听程序不用配置,如果运行中出现没有监听,则运行:
D:\> lsnrctl status
查看相应的数据库是否已启动监听。如果没有启动监听,运行:
D:\> lsnrctl stop
D:\> lsnrctl start
重启监听程序。
如果在SQL*Plus中登录数据库时,提示service_name丢失,则重启数据库。
SQL> select name from v$database; //查询当前数据库
[C*]在Unix下:$dbassist
在Windows NT/2000下(oracle8i):
程序组-> Database administration-> Database Configration Assistant
可以删除已创建的数据库(服务、文件)。
通过提示符下命令:oradim -delete -sid prod -srvc oracleserviceprod
SVRMGR> show parameter license // 查看最大会话数,0表示没有限制
共享服务器连接模式:
最大 缺省 说明
65534 254 最大数据库文件数
254 32 最大日志文件数
5 2 最大日志成员数
二、表空间管理
SQL> select * from dba_free_space; // 查询表空间是否存在碎片
1、创建表空间
(1)语法:SQL> Create Tablespace tablespacename
Datafile 'filespec' Attributes
Default Storage
.line/offline;
(2)实例:
SQL> Create tablespace sales_2002
datafile
'D:\oracle\oradata\ora8i\sales_2002_01.dbf' size 100m,
'D:\Oracle\oradata\ora8i\sales_2002_02.dbf' size 100m
autoextend . next 100m maxsize unlimited, // 每个文件都可以加上这一行,表空间的扩展属性
'D:\oracle\oradata\ora8i\sales_2002_03.dbf' size 100m
default storage(initial 100k
next 100k
minextents 1
maxextents unlimited
pctincrease 0);
(3)查询表空间与数据文件对应关系:
SQL> select tablespace_name, bytes, blocks, autoextensible, file_name from dba_data_files;
(4)创建临时表空间:在创建表空间时增加临时表空间关键字:temporary
SQL> Create tablespace temp_data datafile 'd:\oracle\oradata\ora8i\acc01.dbf' reuse
default storage(initial 100k next 100k minextents 1 maxextents unlimited pctincrease 0)
TEMPORARY;
说明:A.上例中的reuse指在相应的目录已经存在一个acc01.dbf(大小已经确定,例如一个被删除的表空间,但物理文件未被删除),则按这个文件的大小新建文件,内容将被覆盖。如果文件不存在,需要使用size来确定大小。
B. 临时表空间用于排序,在创建用户时可以为用户指定专用的临时表空间。临时表空间不得用于创建永久性实体(例如表)。
SQL> create table aa(c1 number(10)) tablespace sales_2002;
SQL> create table bb(c1 number(10)) tablespace temp_data;
C. 查询表空间类型:SQL> select tablespace_name, contents from dba_tablespaces;
2、改变表空间:
(1)为表空间增加数据文件:
SQL> Alter tablespace sales_2002 ADD
datafile
'd:\oracle\oradata\ora8i\sales_2002_04.dbf' size 10m,
'd:\oracle\oradata\ora8i\sales_2002_05.dbf' size 10m
autoextend . next 50m maxsize 1000m;
(2) 将数据文件从一个磁盘移动到另一个磁盘
。将表空间脱机offline
SQL> Alter tablespace sales_2002 offline;
。物理移动:将要移动的表空间文件复制或移动到目的磁盘
。逻辑移动
SQL> alter tablespace sales_2002
rename datafile
'd:\oracle\oradata\ora8i\sales_2002_04.dbf',
'd:\oracle\oradata\ora8i\sales_2002_05.dbf'
to
'c:\sales_2002_04.dbf',
'c:\sales_2002.05.dbf';
。将表空间联机online
SQL> alter tablespace sales_2002 .line;
其中,system表空间数据文件不得移动。
(3) 修改表空间的缺省存储参数
SQL> alter tablespace sales_2002
default storage(
initial 1m
next 1m
minextents 2
maxextents 200
pctincrease 50);
3、删除表空间
SQL> Drop tablespace 表空间名; // 空的表空间。
SQL> Drop tablespace 表空间名 INCLUDING CONTENTS; // 如果表空间中已经建表,必须加Including contents参数。
删除表空间后,再物理删除相应的表空间文件,一定要确认是否删除了正确的物理文件,在UNIX下,任何文件对root用户来说都没有保护措施,可以随便删除。
三、Oracle8i启用本地化管理(Locally Managed Tablespaces):
表空间类型:数据字典管理表空间,本地化管理表空间
本地化管理表空间自动消除磁盘碎片
SQL> create tablespace account datafile 'd:\oracle\oradata\ora8i\acc01.dbf' 10m
default storage(initial 40k next 40k minextents 1 maxextents 121 pctincrease 0);
SQL> Alter database datafile 'd:\oracle\oradata\ora8i\acc01.dbf' resize 50m;
SQL> Alter tablespace account coalesce; // 磁盘碎片合并命令。
1、区大小相同
SQL> Create tablespace account
datafile 'd:\oracle\oradata\ora8i\acc01.dbf' size 10m,
'd:\oracle\oradata\ora8i\acc02.dbf' size 10m
extent management local uniform size 50k;
// extent management local: 区本地化管理;uniform:每个区大小相同,如果不指定size,size默认是1m
对于实行本地化管理的数据文件仍然可以使用autoextend . next, maxsize等参数。
查询表空间类型及区管理方式:
SQL> select tablespace_name, extent_management, allocation_type from dba_tablespaces;
2、区大小由系统自动分配相同(系统缺省方式)
SQL> Create tablespace finance
datafile
'd:\oracle\oradata\ora8i\fina01.dbf' size 10m
extent management local autoallocate; // 缺省状况是autoallocate,如果只写extent management local。
<=等价=>
SQL> Create tablespace finance
datafile
'd:\oracle\oradata\ora8i\fina01.dbf' size 10m
extent management local;
表大小 区大小
64K 64K
1m 1m
64m 8m
1000m 64m
3、创建本地化管理临时表空间
SQL> Create temporary tablespace temp1
tempfile
'd:\oracle\oradata\ora8i\temp1_01.dbf' size 10m
extent management local uniform size 10k;
[临时表空间不得使用AutoAllocate选项,就算不写uniform,默认也是uniform]
SQL> select tablespace_name, extent_management, allocation_type from dba_tablespaces;
[2002.05.16]
//=====================================================================================================================
四、回退段管理
1、创建回退段:rbs手动创建数据库后,必须先创建回退段表空间:
SQL> create tablespace rbs
datafile 'd:\oracle\oradata\ora8i\rbs01.dbf' size 50m;创建回退段:
SQL> Create rollback segment rs01
tablespace rbs
storage(initial 40k next 40k
minextents 2 // 最少是2,不能是1
maxextents 121
optimal 120k); // optimal值的大小至少比2个区的大小要大才有意义,在本例中要大于80K。
回退段的工作过程:(80K不够用了)扩张->(使用结束)回缩到Optimal值 ->(120K不够用了)再扩张。
新建回退段的缺省状态是offline.
SQL> Create rollback segment rs02 tablespace rbs; // 如果不加storage参数,则各参数取缺省值(即表空间的相关值)查询回退段信息:
SQL> select segment_name, tablespace_name, status from dba_rollback_segs;
回退段的设计方法:
A. 使用create rollback segment 创建多个回退段,至少四个事务平均一个回退段
B. 修改参数文件,将创建的回退段写入下列参数:rollback_segments=(rs01,rs02,...)
C. 重新启动数据库创建公共回退段:
SQL> create public rollback segment rs10 tablespace rbs;
修改公共回退段,使公共回退段online:
SQL> alter rollback segment rs10 .line;
公共回退段不需要修改参数文件即可online。
查询:SQL> select segment_name, tablespace_name, status, owner from dba_rollback_segs;
2、修改回退段
SQL> Alter rollback segment 回退段名 .line/offline; //对于私有回退段来说,只是临时修改,下次数据库启动时,只有参数文件中的回退段是online
3、删除回退段
A. offline
B. SQL> drop rollback segment 段名;
C. 如果是私有回退段,需要将其从参数文件中去掉。
// 无论是公共回退段还是私有回退段,都是系统共用的回退段。即作用相同。
Unix:
login: oracle
Password: xxxx
$
$ORACLE_HOME: /home/app/oracle/product/8.1.7
$ svrmgrl
SVRMGR>connect internal
SVRMGR> startup
SVRMGR> exit
如果在启动时报错,检查:/home/app/oracle/product/8.1.7/network/admin/listener.ora
$lsnrctl stop // 停止监听进程
$lsnrctl status // 显示监听进程状态
二、数据库启动过程:
1、启动数据库实例: ORACLE instance started
。读取参数文件
。分配SGA区
。启动后台进程
// 如果启动出现问题,有可能是因为参数文件有问题或者内存不足。
2、数据库安装:Database mounted
。读取控制文件
。打开控制文件
// 如果启动出现问题,可能是控制文件出现问题。
3、打开数据库:Database opened
。打开全部数据文件
。打开全部日志文件
// 如果有一个文件出现问题,则数据库不能启动。
数据库文件读取顺序:参数文件 ==> 控制文件 ==> 日志、数据文件,三类文件中不能有一个文件损坏,否则数据库不能启动。
4、数据库启动过程中可以使用的选项:
SVRMGR> startup OPEN --1、2、3 // 加OPEN与不加OPEN效果相同,1、2、3指三个步骤:启动实例 ==> 安装数据库 ==> 打开数据库
SVRMGR> startup MOUNT --1、2 启动实例=> 安装数据库
SVRMGR> startup NOMOUNT -- 1 只启动数据库实例
(1) OPEN用于数据库的正常启动(或不加OPEN)。
(2) MOUNT的使用方式:
。用于修改数据库归档方式
。用于数据库恢复。Recovery命令在mount状态使用。
在mount状态,所有v$xxxx 数据字典可以使用,所有alter database命令可以使用。
(3) NOMOUNT的使用方式:
。创建控制文件
。创建新的数据库
(4) 数据库在MOUNT下可以使用的选项:
SVRMGR> startup MOUNT
SVRMGR> Alter database ARCHIVELOG; // 将数据库由非归档方式修改为归档方式
// SVRMGR> select log_mode from v$database;
SVRMGR> Alter database OPEN; // 将数据库由MOUNT直接到OPEN状态。
SVRMGR> Alter database OPEN READ .LY; // 整个数据库以只读方式打开
SVRMGR> Alter database OPEN READ WRITE; // 整个数据库以读写方式打开(系统缺省方式,不需要写上READ WRITE)
[2002.05.14]
//=====================================================================================================================
(5) 数据库在OPEN下可以使用的选项:
[A]
SVRMGR> startup PFILE=参数文件名称及路径
// 在有两个数据库存在的情况下,可以用如下方法同时启动两个数据库。
SVRMGR> startup PFILE=第一个数据库的参数文件名称及路径
SVRMGR> startup PFILE=第二个数据库的参数文件名称及路径
[B]
SVRMGR> startup RESTRICT // 限制性数据库启动命令,以这种方式启动数据库后,具有restricted session权限的用户可以连接数据库,其他用户不能连接。
DBA可以指定用户连接:
SQL> grant restricted session to scott; // 指定权限
SQL> revoke restricted session from scott; // 收回权限
修改限制:
SQL> Alter system disable restricted session; // 解禁
SQL> alter system enable restricted session; // 禁止
[C]
SVRMGR> startup FORCE // 强制性数据库启动命令
[D*] 允许多个选项同时使用,顺序没有关系:
SVRMGR> startup PFILE=c:\init.ora FORCE MOUNT
SVRMGR> startup force restrict pfile=c:\init.ora
三、数据库关闭命令:
在关闭服务器之前,必须使用shutdown命令先关闭数据库,再关闭操作系统。
SVRMGR> shutdown normal // 正常关机。系统等待所有用户从数据库中正常退出,很难关掉。
SVRMGR> shutdown immediate // 立即关机。中断现在连接,回退未提交事务,不再接收用户的连接请求。(有的用户数据会丢失)
SVRMGR> shutdown abort // 异常关机。只关闭实例,释放内存,不保证数据完整性。尽量少用。
SVRMGR> shutdown transactional // 事务终结后关机。等待用户提交数据后关闭数据库。
[补充内容]
四、数据库启动过程中失败恢复方法:
1、第一步不启动(实例):参数文件错误:参数错误、路径、文件名、参数设置错误等。
2、第二步不能mount:控制文件坏。检查有没有镜像文件,如果没有,需要重新创建控制文件。
3、第三步,数据库不能Open。数据文件或日志损坏。
(1) 数据文件(Datafile)被破坏或被误删除时数据库的恢复方法。
SVRMGR> startup mount
[A]如果数据库运行在ARCHIVELOG模式下,使用以下命令:
SVRMGR> alter database datafile '被删数据文件名及路径' OFFLINE;
// 在归档方式下,这个被删的文件可能通过归档日志恢复数据。
打开数据库:SVRMGR> Alter database open;
[B]如果数据库运行在NOARCHIVELOG模式下,使用以下命令:
SVRMGR> alter database datafile '被删数据文件名及路径' OFFLINE DROP;
// 在非归档方式下,被删数据文件的内容绝对不可能恢复,所以只好DROP掉。
打开数据库:SVRMGR> Alter database open;
(2) 日志文件(Redo Log Files)被破坏或被误删除时数据库的恢复方法。
SVRMGR> startup mount
删除被物理破坏的日志文件组:
SVRMGR> Alter database drop logfile group n;
增加已经被物理破坏的日志文件组:
SVRMGR> Alter database add logfile group n('日志成员文件', '日志成员文件') size xxM;
SVRMGR> Alter database open;
// 如果当前日志被破坏,则恢复操作将比较复杂,必须通过数据库备份来恢复(不完全恢复)。
4、重新创建控制文件(Control Files):
创建控制文件的语法:
SVRMGR> startup nomount
Create controlfile database 数据库名称
logifle
group 1 (日志文件名及路径'', '日志文件名及路径') size xxM,
group 2 (日志文件名及路径'', '日志文件名及路径') size xxM,
...
noresetlogs
datafile
'第一个数据文件名称及路径' size xxM, // xxM中不能出现小数点儿,如果有小数,就使用K,如果仍然有小数,则使用字节。
'第二个数据文件名称及路径' size xxM,
...
character set zhs16gbk;
SVRMGR> startup nomount
Create controlfile database ora8i
logfile
group 1 ('d:\oracle\oradata\ora8i\redo01.dbf') size 1M,
group 2 ('d:\oracle\oradata\ora8i\redo02.dbf') size 1M,
group 3 ('d:\oracle\oradata\ora8i\redo03.dbf') size 1M,
noresetlogs
datafile
'd:\oracle\oradata\ora8i\system01.dbf' size 70M,
'd:\oracle\oradata\ora8i\rbs01.dbf' size 520M,
...
character set zhs16gbk;
SQL> select bytes/1024/1024, blocks, file_name from dba_data_files;
// 通过这个命令来查询数据文件的大小,以Oracle中查询的数据为准,不要根据操作系统显示的文件大小来决定,建议事先做好备份。
[*C] 修改数据库名称时,需要重新创建数据库控制文件,语法如下(注意与上面的语法稍有不同):
SVRMGR> startup nomount
Create controlfile set database 新数据库名称 // 这一行有不同,注意:数据库的名称一般不要超过5个字符。
logifle
group 1 (日志文件名及路径'', '日志文件名及路径') size xxM,
group 2 (日志文件名及路径'', '日志文件名及路径') size xxM,
...
resetlogs // 这一行也有不同
datafile
'第一个数据文件名称及路径' size xxM, // xxM中不能出现小数点儿,如果有小数,就使用K,如果仍然有小数,则使用字节。
'第二个数据文件名称及路径' size xxM,
...
character set zhs16gbk;
五、检测数据库文件工具:DBVerify
使用方法:
C:\> dbv file=文件名及路径 logfile=输出结果文件名 blocksize=数据块大小(缺省是2K,否则指出) start=起始数据块 end=终止数据块
可以检测数据、日志及控制文件等。如果不加start 和 end,则默认检测整个数据文件。
Oracle在Unix下安装
一、创建数据库安装用户
*1、Oracle在Unix下运行平台:
。Sun Solaris(Sun SPARC)(Solaris是Oracle目前运行最多的平台)
。HP-UX
。IBM-AIX
。COMPAQ Tru64-Unix(ALPHA)
。SCO UNIX(PC)
。Linux(PC)
。SGI
// 前三种平台上运行的最多
*2、用户组名:dba(Oracle7, Oracle8)
oinstall(Oracle8i, Oracle9i)
*3、在Unix下,与用户所在组有关的文件:/etc/group
如果要加新组就在此文件中新加一行,如:
oinstall::20:oracle,oraweb
// gid < 1024,组号越大,权限越小。
*4、与用户有关的文件:/etc/passwd
oracle8i:x:30:20:Oracle8i for Unix:/u01/app/oracle/product/8.1.7:/bin/sh
用户名:x:用户号:组号:描述(可省略):文件系统名称:shell
//# admintool Sun的图形管理工具
//# sam HP-UX
//# scoadmin SCO UNIX
二、创建Oracle数据库安装目录
在Unix下安装数据库,最好使用Oracle建议设置的标准目录:
OFA(Optimal Flexible Architecture):将Oracle的系统文件与数据库文件分别存储。
OFA要求创建两个目录:
$ORACLE_BASE
$ORACLE_HOME
假设目录为:/u01/app/oracle/product/8.1.7
则:$ORACLE_BASE = /u01/app/oracle // 这个目录下的各个子目录存放数据库文件
$ORACLE_HOME = /u01/app/oracle/product/8.1.7 // 这个目录存储系统文件
例如:$ORACLE_BASE/oradata存储数据文件
$df -k // 查看文件系统的使用率,如果超过80%,就不要再继续添加文件,否则文件系统将十分慢
#mkdir app
# cd app
# mkdir oracle
...
# mkdir 8.1.7
# chgrp -R oinstall oracle //-R包括子目录,将oracle目录的属组改为oinstall组
# chown -R oracle oracle // 将oracle(第二个)目录的属主改为oracle用户
# ls -al
三、编辑安装用户的.profile文件,定义操作系统环境变量
NLS_LANG,Oracle用户在安装时默认安装为与操作系统一致的字符集,因此要想在英文版本的操作系统上安装支持中文的Oracle时,务必要设置这个环境变量。
#vi .profile // 内容如下:
ORACLE_BASE=/u01/app/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/8.1.7
export ORACLE_HOME
ORACLE_SID=ora8i // 数据库实例名
export ORACLE_SID
ORACLE_TERM=sun //终端类型,SCO为vt100,防止字符混乱
export ORACLE_TERM
NLS_LANG="simplified chinese"_china.zhs16gbk (oracle8.0以后)
.zhs16cgb231280(oracle 8以前,为保持数据兼容,如要导入oracle7的数据,建议选择这一个)
export NLS_LANG
LD_LIBRARY_PATH=/usr/lib:$ORACLE_HOME/lib
export LD_LIBRARY_PATH
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export ORA_NLS33
TMPDIR=/var/tmp
export TMPDIR
PATH=/bin:$ORACLE_HOME/BIN:/usr/sbin;/opt/bin
export PATH
// .profile文件应该放在$ORACLE_HOME目录下。
四、配置操作系统核心
五、安装过程:
在安装光盘下运行:$./runInstall
[第四章 创建Oracle数据库、表空间管理、回退段管理]
一、创建数据库
1、确定数据库名、实例名、服务名
数据库名参数:db_name = prod
数据库实例名参数:instance_name = prod
域名:db_domain
数据库服务名参数:service_names = prod[.域名] //服务名等于:数据库名.域名,为了省事,一般不要域名。
2、创建新数据库的参数文件:init.ora
需要修改的参数:
db_name
instance_name
service_names
control_files : d:\oracle\oradata\prod\... 01 02 03
background_dump_dest: 后台信息跟踪文件的存储位置d:\oracle\oradata\prod\bdump
user_dump_dest: 用户信息跟踪文件的存储位置d:\Oracle\oradata\prod\udump
sql_trace = true
3、设置操作系统参数:主要是设置ORACLE_SID选择数据库实例
在Unix下设置实例的方法:
$ORACLE_SID=ora8i
$export ORACLE_SID
换成另外一个:
$ORACLE_SID=prod
$export ORACLE_SID
在Windows NT/2000下,有一个实例写在注册表中,如果要进入第二个数据库,设置方法如下:
C:\> set ORACLE_SID=ora8i
C:\> set ORACLE_SID=prod
// 为了不致发生混乱,每次在使用数据库之前,进行上述设置。
4、创建数据库实例
语法:C:\>oradim -new -sid [实例名] -intpwd [口令] -startmode auto -pfile [数据库参数文件名称及路径]
。红色部分需要用户确定
。startmode: auto, manual
。参数文件名称及路径:
Unix:
/u01/app/oracle/admin/db_name/pfile/initSID.ora
/u01/app/oracle/product/8.1.7/dbs/initSID.ora // 这是oracle直接读取的参数文件
// 在Unix中上面的dbs目录是pfile目录的symbol link,即两上文件是同一个文件。
Windows:
d:\oracle\admin\db_name\pfile\init.ora
d:\oracle\ora81\database\initSID.ora // 这是oracle直接读取的参数文件
/*第二个文件指向第一个文件,上面这个文件可以随便放到什么位置,只要在第二个文件中通过IFILE指明了其位置,也可以直接用第一个文件的内容替换第二个文件的内容。*/
最后的命令格式为:
D:\> oradim -new -sid prod -intpwd prod -startmode auto -pfile d:\oracle\ora81\database\initprod.ora
[如果执行了set oracle_sid=prod后,仍然不能通过svrmgrl连接到internal用户,请检查是否在注册表中设置了local串。]
5、创建数据库:
SVRMGR> startup nomount
SVRMGR> create database prod
logfile group 1('d:\oracle\oradata\prod\log1a.log',
'd:\oracle\oradata\prod\log1b.log') size 2m,
group 2('d:\oracle\oradata\prod\log2a.log',
'd:\oracle\oradata\prod\log2b.log') size 2m
datafile 'd:\oracle\oradata\prod system01.dbf' size 200m
autoextend . next 10m maxsize 1000m
character set zhs16gbk;
[2002.05.15]
//=====================================================================================================================
6、加载数据字典:
(1) 加载常用的数据字典:
SVRMGR>@d:\Oracle\ora81\rdbms\admin\catalog
SVRMGR>@/u01/app/oracle/product/8.1.7/rdbms/admin/catalog
(2) 加载PL/SQL程序包:
SVRMGR>@d:\Oracle\ora81\rdbms\admin\catproc
(3) 加载Java程序包:
SVRMGR> @d:\oracle\ora8i\javavm\install\initjvm
7、网络配置:
配置tnsnames.ora文件
d:\oracle]ora81\network\admin\tnsnames.ora
8、以system登录数据库,加载资源文件profile:
SQL> @d:\oracle\ora81\sqlplus\admin\pupbld.sql
//如果不运行这个sql程序,普通用户登录时会提示错误。
[C*] 对于新数据库,监听程序不用配置,如果运行中出现没有监听,则运行:
D:\> lsnrctl status
查看相应的数据库是否已启动监听。如果没有启动监听,运行:
D:\> lsnrctl stop
D:\> lsnrctl start
重启监听程序。
如果在SQL*Plus中登录数据库时,提示service_name丢失,则重启数据库。
SQL> select name from v$database; //查询当前数据库
[C*]在Unix下:$dbassist
在Windows NT/2000下(oracle8i):
程序组-> Database administration-> Database Configration Assistant
可以删除已创建的数据库(服务、文件)。
通过提示符下命令:oradim -delete -sid prod -srvc oracleserviceprod
SVRMGR> show parameter license // 查看最大会话数,0表示没有限制
共享服务器连接模式:
最大 缺省 说明
65534 254 最大数据库文件数
254 32 最大日志文件数
5 2 最大日志成员数
二、表空间管理
SQL> select * from dba_free_space; // 查询表空间是否存在碎片
1、创建表空间
(1)语法:SQL> Create Tablespace tablespacename
Datafile 'filespec' Attributes
Default Storage
.line/offline;
(2)实例:
SQL> Create tablespace sales_2002
datafile
'D:\oracle\oradata\ora8i\sales_2002_01.dbf' size 100m,
'D:\Oracle\oradata\ora8i\sales_2002_02.dbf' size 100m
autoextend . next 100m maxsize unlimited, // 每个文件都可以加上这一行,表空间的扩展属性
'D:\oracle\oradata\ora8i\sales_2002_03.dbf' size 100m
default storage(initial 100k
next 100k
minextents 1
maxextents unlimited
pctincrease 0);
(3)查询表空间与数据文件对应关系:
SQL> select tablespace_name, bytes, blocks, autoextensible, file_name from dba_data_files;
(4)创建临时表空间:在创建表空间时增加临时表空间关键字:temporary
SQL> Create tablespace temp_data datafile 'd:\oracle\oradata\ora8i\acc01.dbf' reuse
default storage(initial 100k next 100k minextents 1 maxextents unlimited pctincrease 0)
TEMPORARY;
说明:A.上例中的reuse指在相应的目录已经存在一个acc01.dbf(大小已经确定,例如一个被删除的表空间,但物理文件未被删除),则按这个文件的大小新建文件,内容将被覆盖。如果文件不存在,需要使用size来确定大小。
B. 临时表空间用于排序,在创建用户时可以为用户指定专用的临时表空间。临时表空间不得用于创建永久性实体(例如表)。
SQL> create table aa(c1 number(10)) tablespace sales_2002;
SQL> create table bb(c1 number(10)) tablespace temp_data;
C. 查询表空间类型:SQL> select tablespace_name, contents from dba_tablespaces;
2、改变表空间:
(1)为表空间增加数据文件:
SQL> Alter tablespace sales_2002 ADD
datafile
'd:\oracle\oradata\ora8i\sales_2002_04.dbf' size 10m,
'd:\oracle\oradata\ora8i\sales_2002_05.dbf' size 10m
autoextend . next 50m maxsize 1000m;
(2) 将数据文件从一个磁盘移动到另一个磁盘
。将表空间脱机offline
SQL> Alter tablespace sales_2002 offline;
。物理移动:将要移动的表空间文件复制或移动到目的磁盘
。逻辑移动
SQL> alter tablespace sales_2002
rename datafile
'd:\oracle\oradata\ora8i\sales_2002_04.dbf',
'd:\oracle\oradata\ora8i\sales_2002_05.dbf'
to
'c:\sales_2002_04.dbf',
'c:\sales_2002.05.dbf';
。将表空间联机online
SQL> alter tablespace sales_2002 .line;
其中,system表空间数据文件不得移动。
(3) 修改表空间的缺省存储参数
SQL> alter tablespace sales_2002
default storage(
initial 1m
next 1m
minextents 2
maxextents 200
pctincrease 50);
3、删除表空间
SQL> Drop tablespace 表空间名; // 空的表空间。
SQL> Drop tablespace 表空间名 INCLUDING CONTENTS; // 如果表空间中已经建表,必须加Including contents参数。
删除表空间后,再物理删除相应的表空间文件,一定要确认是否删除了正确的物理文件,在UNIX下,任何文件对root用户来说都没有保护措施,可以随便删除。
三、Oracle8i启用本地化管理(Locally Managed Tablespaces):
表空间类型:数据字典管理表空间,本地化管理表空间
本地化管理表空间自动消除磁盘碎片
SQL> create tablespace account datafile 'd:\oracle\oradata\ora8i\acc01.dbf' 10m
default storage(initial 40k next 40k minextents 1 maxextents 121 pctincrease 0);
SQL> Alter database datafile 'd:\oracle\oradata\ora8i\acc01.dbf' resize 50m;
SQL> Alter tablespace account coalesce; // 磁盘碎片合并命令。
1、区大小相同
SQL> Create tablespace account
datafile 'd:\oracle\oradata\ora8i\acc01.dbf' size 10m,
'd:\oracle\oradata\ora8i\acc02.dbf' size 10m
extent management local uniform size 50k;
// extent management local: 区本地化管理;uniform:每个区大小相同,如果不指定size,size默认是1m
对于实行本地化管理的数据文件仍然可以使用autoextend . next, maxsize等参数。
查询表空间类型及区管理方式:
SQL> select tablespace_name, extent_management, allocation_type from dba_tablespaces;
2、区大小由系统自动分配相同(系统缺省方式)
SQL> Create tablespace finance
datafile
'd:\oracle\oradata\ora8i\fina01.dbf' size 10m
extent management local autoallocate; // 缺省状况是autoallocate,如果只写extent management local。
<=等价=>
SQL> Create tablespace finance
datafile
'd:\oracle\oradata\ora8i\fina01.dbf' size 10m
extent management local;
表大小 区大小
64K 64K
1m 1m
64m 8m
1000m 64m
3、创建本地化管理临时表空间
SQL> Create temporary tablespace temp1
tempfile
'd:\oracle\oradata\ora8i\temp1_01.dbf' size 10m
extent management local uniform size 10k;
[临时表空间不得使用AutoAllocate选项,就算不写uniform,默认也是uniform]
SQL> select tablespace_name, extent_management, allocation_type from dba_tablespaces;
[2002.05.16]
//=====================================================================================================================
四、回退段管理
1、创建回退段:rbs
datafile 'd:\oracle\oradata\ora8i\rbs01.dbf' size 50m;
tablespace rbs
storage(initial 40k next 40k
minextents 2 // 最少是2,不能是1
maxextents 121
optimal 120k); // optimal值的大小至少比2个区的大小要大才有意义,在本例中要大于80K。
回退段的工作过程:(80K不够用了)扩张->(使用结束)回缩到Optimal值 ->(120K不够用了)再扩张。
新建回退段的缺省状态是offline.
SQL> Create rollback segment rs02 tablespace rbs; // 如果不加storage参数,则各参数取缺省值(即表空间的相关值)
B. 修改参数文件,将创建的回退段写入下列参数:rollback_segments=(rs01,rs02,...)
C. 重新启动数据库
修改公共回退段,使公共回退段online:
SQL> alter rollback segment rs10 .line;
公共回退段不需要修改参数文件即可online。
查询:SQL> select segment_name, tablespace_name, status, owner from dba_rollback_segs;
2、修改回退段
SQL> Alter rollback segment 回退段名 .line/offline; //对于私有回退段来说,只是临时修改,下次数据库启动时,只有参数文件中的回退段是online
3、删除回退段
A. offline
B. SQL> drop rollback segment 段名;
C. 如果是私有回退段,需要将其从参数文件中去掉。
// 无论是公共回退段还是私有回退段,都是系统共用的回退段。即作用相同。
发表评论
-
oracle更改用户名
2009-12-13 17:09 2499更改oracle的用户名 oracle版本: oracle1 ... -
行轉列
2009-12-13 16:53 860--行列互转 /*********************** ... -
truncate,delete,drop的异同点
2009-12-13 16:52 1045注意:这里说的delete是指不带where子句的delete ... -
Oracle创建删除用户、角色、表空间、导入导出数据库命令行方式总结
2009-12-13 16:50 1329说明: 在创建数据库时输入的密码,是修改系统默认的密码,以sy ... -
详聊Oracle用户表空间宝典
2009-12-13 16:01 1734Oracle还是 ... -
Oracle基础学习
2009-12-13 15:51 1188(1) 查询数据库名: SQL> select name ... -
管理一个ORACLE实例
2009-12-13 15:49 11801.oralce数据库其他文件 ... -
Oracle 数据库的优化与调整
2009-12-13 15:48 1013一、下面三个参数属于SGA区的设置,主要看服务器内存是不是需要 ... -
Oracle 数据库备份与恢复
2009-12-13 15:47 1506一、Oracle归档方式 确认 ... -
备份恢复详谈
2009-12-13 15:46 20381:备份如何分类 逻辑备份:exp/imp 物理备份: ... -
PL/SQL程序设计
2009-12-13 15:43 1196一、PL/SQL概述 PL/SQL块结构: Declare ... -
Oracle用户、权限、角色管理
2009-12-13 15:41 1622Oracle 数据库用户管理 Oracle 权限设置 一、权限 ...
相关推荐
如果在删除表空间之前误删了对应的数据文件,可能会导致数据库无法正常启动和关闭。此时可通过以下步骤恢复: 1. **连接到数据库**: ```sql SQLPLUS / AS SYSDBA ``` 2. **如果数据库已启动,则先执行**: ``...
建议在数据库启动前执行`ALTER DATABASE BACKUP CONTROLFILE TO TRACE`命令,生成最新的CREATE CONTROLFILE命令的跟踪文件,存储在`USER_DUMP_DEST`指定的路径,这样可以确保在需要时有最新的控制文件创建指令。...
7. **安装完成后验证**:安装完成后,启动数据库服务并进行基本的连接测试,确保可以正常访问数据库。可以通过命令行工具(如MySQL的`mysql.exe`或SQL Server的`sqlcmd`)或图形化管理工具(如MySQL Workbench或SQL ...
Oracle数据库是一种广泛使用的大型关系型数据库管理系统,它提供了丰富的功能来管理数据,包括用户管理、表空间管理和权限控制。在Oracle中,用户、角色和表空间是数据库管理的基础概念。 **用户与角色** 用户是在...
在数据库关闭和启动两种状态时,回滚表空间出现故障的情况可以采取以下方法进行恢复: 1. 数据库处于关闭状态 * 数据库正常关闭。这种情况下恢复回滚表空间故障最简单的方法就是先脱机然后删掉这个坏了的或丢失的...
在这种情况下,可以连接到数据库以系统管理员身份执行相关命令,例如先强制关闭数据库,然后挂载数据库,使用`ALTER DATABASE DATAFILE`将丢失的数据文件标记为离线并删除,最后打开数据库并删除表空间。 以上是...
### 如何查看、启动或关闭Oracle数据库的归档模式 #### 归档模式概述 在Oracle数据库中,归档模式(Archivelog Mode)是一种重要的数据保护机制,它允许数据库在发生故障时进行完整的恢复。当数据库处于归档模式时...
Oracle数据库可以通过SQL*Plus或者企业管理器(EM)进行启动和关闭,同时,了解各种启动模式(如NOMOUNT、MOUNT和OPEN)和关闭状态(如SHUTDOWN IMMEDIATE、SHUTDOWN TRANSACTIONAL和SHUTDOWN NORMAL)至关重要。...
- 如果数据库已启动,需要强制关闭:`SHUTDOWN ABORT`,然后`STARTUP MOUNT`。 - 将丢失的数据文件标记为离线:`ALTER DATABASE DATAFILE 'filename' OFFLINE DROP;` - 打开数据库:`ALTER DATABASE OPEN;` - ...
定义数据库大小、表空间、数据文件和redo日志文件的位置。 6. **配置网络服务**:通过Net Configuration Assistant配置监听器和数据库服务名,使得客户端能够连接到服务器。 7. **安全设置**:创建初始的系统管理...
此外,安装前要以管理员身份登录,检查服务器是否满足硬件需求,网络配置正确,关闭所有正在运行的Oracle服务,备份原有Oracle数据库数据,并决定安装类型、位置及数据库创建方式。 安装Oracle 10g数据库服务器时,...
在IT领域,尤其是Oracle数据库管理中,掌握数据库的启动、关闭以及备份与恢复策略是至关重要的。本文将详细阐述Oracle数据库的启动方法及不同模式,以及如何利用exp/imp工具和shell脚本来实现数据库的备份与恢复,并...
Linux环境下安装数据库,尤其是大型数据库系统如Oracle 11g R2,是一个涉及多个步骤和技术细节的过程。在本文中,我们将详细介绍在Red Hat Enterprise Linux 5.7 (RHEL 5.7) 版本的Linux系统中安装Oracle 11g R2 ...
可以参考“数据库安装视频”中的教程,学习如何创建数据库、表,进行数据插入、查询、更新和删除操作,以及如何设计数据库结构。 10. **优化和维护**:随着数据量的增长,可能需要进行性能优化,如调整参数、创建...
1. **启动安装向导**:双击安装文件,运行安装向导。在欢迎界面,你可以选择安装类型,通常有典型安装和自定义安装两种。典型安装会安装默认组件,适合初学者;自定义安装则允许你选择需要的特定组件,更适合有经验...
DM DBA手记之安装篇-达梦数据库-安装手册-安装最佳实践v1.3.pdf https://download.csdn.net/download/u014772458/10976118?utm_medium=distribute.pc_relevant_download.none-task-download-2~default~...
Oracle数据库的维护工作涉及安装、启动与关闭、表空间管理、用户管理、数据库备份与恢复等多个方面,这些操作对于保证数据库的稳定运行和数据安全至关重要。 首先,Oracle数据库的启动和关闭是日常维护的基本操作。...
Oracle 如何移动表空间 Oracle 是一款功能强大且流行的关系型数据库管理系统,作为 DBA,需要...移动表空间需要分步骤执行每个步骤,需要注意的是,移动表空间需要在数据库关闭状态下进行,以免影响数据库的正常运行。
PPT可能涵盖如何启动和停止数据库服务,如何使用SQL*Plus进行基本查询,以及如何创建用户、表空间和权限分配等。 在实际操作中,你可能会遇到一些常见问题,比如权限不足、依赖库缺失或冲突、网络配置错误等。这时...