运行CMD后,
运行: C:\\>sqlplus system/password@netstring 其中system是用户名。password是数据库的口令
这时才进入:sql程序输入界面。方可进行操作程序语句的输入
创建表空间:
CREATE TABLESPACE NNC_DATA01 DATAFILE 'D:\\oracle\\DATA\\nnc_data01.dbf' SIZE 500M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K ;
CREATE TABLESPACE NNC_DATA02 DATAFILE 'D:\\oracle\\DATA\\nnc_data02.dbf' SIZE 300M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K ;
CREATE TABLESPACE NNC_DATA03 DATAFILE 'D:\\oracle\\DATA\\nnc_data03.dbf' SIZE 500M AUTOEXTEND ON NEXT 100M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K ;
CREATE TABLESPACE NNC_INDEX01 DATAFILE 'D:\\oracle\\DATA\\nnc_index01.dbf' SIZE 500M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K ;
CREATE TABLESPACE NNC_INDEX02 DATAFILE 'D:\\oracle\\DATA\\nnc_index02.dbf' SIZE 300M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K ;
CREATE TABLESPACE NNC_INDEX03 DATAFILE 'D:\\oracle\\DATA\\nnc_index03.dbf' SIZE 500M AUTOEXTEND ON NEXT 100M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K ; CREATE USER hq IDENTIFIED BY hq DEFAULT TABLESPACE NNC_DATA01 TEMPORARY TABLESPACE temp; GRANT connect,dba to hq; CREATE USER iufo IDENTIFIED BY iufo;
GRANT connect,dba to iufo;
GRANT connect,dba to NC50;启动、关闭监听和数据库
注意:安装ORACLE后,ORACLE数据库的启动和关闭量不要由系统自动完成,尽量通过手动方式来完成。
另外,建议先启动监听程序,再启动数据库。
1、使用命令启动关闭监听只有在服务器上才可以操作) cmd
c:\\>lsnrctl lsnrctl>help
几个命令:start 启动监听
stop 关闭监听
reload 重启监听,即先关闭再启动 status 查看监听状态
也可以直接启动或关闭
C:\\>lsnrctl status 直接查看监听状态 C:\\>lsnrctl start 直接启动监听 C:\\>lsnrctl stop 直接关闭监听
2、用sqlplus管理数据库
cmd
c:\\>sqlplus 用户名/口令@网络服务名 (登录数据库)
sql>shutdown 参数 (关闭数据库)
参数有四个:immediate:表示立刻停止所有的进程,关闭数据库。
normal :表示正常关闭,即等后台所有进程都自动结束后才关闭数据库,这样保证了数据的完整性,但等待时间一般会很长。
Transaction:等待正在工作的进程结束后关闭数据库,但不允许其他的
进程开始。
Abort:直接关闭数据库,正在访问数据库的会话会被突然终止,很容易造
成数据不一致。如果数据库中有大量操作正在执行,这时执行shutdown abort后,重新启动数据库试图恢复数据库,如果恢复失败,则会报错,需要手工恢复。
sql>startup 参数 (启动数据库)
参数有常见三种方式:nomount:非安装启动,这种方式启动下可执行:读取参数文
件(9i读pfile,10g读spfile),启动instance,即启动SGA
和后台进程。
Mount:安装启动,这种方式启动下可执行:
数据库日志归档、数据库介质恢复、使数据文件联机或脱机,
重新定位数据文件、重做日志文件。
执行“nomount”,然后打开控制文件,确认数据文件和联机
日志文件的位置,但此时不对数据文件和日志文件进行校验检查。
Open:先执行“nomount”,然后执行“mount”,再打开包括Redo log
文件在内的所有数据库文件,这种方式下可访问数据库中的
数据。
注:如果不指定参数,默认是open。
ORACLE数据库的备份与恢复
ORACLE数据库的备份有四种方法:
1、RMAN:是ORACLE数据库专门用于进行数据库备份与恢复的工具,功能强大,不易掌握。 1、 冷备份:要求必须关闭数据库的情况下做备份,也叫全备份。当数据库开着的时候,执
行数据库文件系统备份无效。
? 数据库使用的每个文件都被备份下来,这些文件包括:
??所有数据文件+所有控制文件+所有日志文件
3、热备份:采用archivelog mode物理备份,具体略。
其中冷备份和热备份是物理备份(也称低级备份),它涉及到组成数据库的文件,但不考虑逻辑内容。
4、导入/导出(EXPORT/IMPORT):导出备份是一种逻辑备份,这种方法只读取一系列的数据库的数据,并写入文件中,与物理文件的位置无关。 1)逻辑备份
Exp iufo/iufo@orcl owner=iufo file=d:\\0625.dmp 其中:
用户名/口令:是登录ORACLE的用户名和密码;
owner=用户名:即要导出哪个用户下的数据,如果用户名同前一个可省略; ???.dmp指导出文件
???.log文件是导出过程的日志文件;
2)逻辑恢复
imp nc52/nc52@orcl fromuser=nc52 touser=nc52 file=d:\\24.dmp 其中:
用户名/口令:是登录ORACLE的用户名和密码;
fromuser=用户名:用户名指导出时的ORACLE用户名; touser=用户名:用户名指要导入数据到此Oracle用户下; ???.dmp指导出文件
???.log文件是导出过程的日志文件;
注意:如果导入恢复时要导入数据的用户下已经有一些对象同导入的用户的对象相同,则需先删除此用户,再重新创建用户并授相应权限,然后再导入数据库。具体操作如下: C:\\>sqlplus system/nc50@netstring Sql> drop user nc52 cascade; drop user sh cascade; drop user shiufo cascade; drop user iufo cascade;
create user iufo identified by iufo default tablespace NNC_DATA01 temporary tablespace temp;
grant connect , dba to iufo; drop user nc52 cascade;
create user nc52 identified by nc52 default tablespace NNC_DATA01 temporary tablespace temp;
grant connect , dba to nc52;
Sql> exit
Imp test/test@orcl file=e:\\test.dmp log=e:\\aaq.log fromuser=test touser=test Imp iufo/iufo@orcl file=d:\\5.dmp log=e:\\aa.log fromuser=iufo touser=iufo;
4.3 备份过程:
开始?运行?CMD
在命令行模式下键入备份命令:
Exp iufo/iufo@orcl file=d:\\IUFO052001.dmp owner=iufo log= d:\\NC50w.log
说明:(1) exp是ORACLE数据库管理中的导出命令,是一个基于操作系统的命,在操作系统正常的情况下,直接执行即可。
(2)nc50/ password @网络服务名:前面的nc50是用户名,后面的password是用户nc50的口令,网络服务名是管理员所在客户端上的与ORACLE数据库连接的网络服务名。这个网络服务名是管理员在安装了ORACLE管理员客户端后,通过“Net Configuration Assistant”进行配置的本地Net服务名配置”连接
(3)file=后面是指备份文件的绝对目录及文件名称,扩展名一般为dmp。
(4)owner=表示把这个用户下的对象导出来。
(5)log=表示把导出过程中显示到屏幕上的内容写到这个文档中 说明:可通过exp help=y来查看exp的用法。 4.4 数据库的恢复过程
(1).保证中间件关闭,所有的NC用户没有连接数据库。 (2).打开ORACLE 企业管理器,网络?数据库?NC数据库服务器?安全性?用户,找到nc50用户,点右键,选择移去,弹出对话窗口,提示:用户NC50仍拥有对象,是否确实要将用户NC50与对象一同移去(使用“级联”选项)?,这时要选择“是”,然后刷新,稍等一会,系统会把NC50用户及下面的对象全部删除。
在ORACLE 企业管理器中打开SQL*Plus Worksheet,见图三,连接
数据库,见图四,执行脚本:
CREATE USER NC50 IDENTIFIED BY NC50 DEFAULT TABLESPACE NNC_DATA01 TEMPORARY TABLESPACE temp GRANT connect,dba to NC50;
(4).直接导入数据:找到备份数据文件ufXXXX.dmp,执行命令:
Imp iufo/iufo@orcl file=d:\\061702.dmp fromuser=iufo touser=iufo
Imp nc52/nc52@orcl file=d:\\123.dmp fromuser=nc52 touser=nc52 log=d:\\1.log [\\ nc.log
CMD执行后。
常用的几个参数介绍如下:
USERID 必须要指定。如:exp scott/tiger@testdb file=out.dmp log=out.log full=y
Filesize 参数指定每个导出文件的大小,防止单个文件导出过大,或者超出系统限制。一般配合file参数一起使用。
File参数指定输出的文件或者文件列表。当设定了filesize参数后,可以指定多个file列表。如: exp hr/hrlgtu@testdb file=out1.dmp,out2.dmp,out3.dmp filesize=100k log=out.log owner=hr
log参数指定输出的日志文件。
compress参数将在导出的同时合并碎块,尽量把数据压缩到initial的extent里,默认是n。
direct参数将告诉exp直接读取数据,而不像传统的exp那样,使用select来读取表中的数据到buffer cache,再写文件,而是直接写文件,这样就减少了sql语句处理过程。不过有些情况下direct参数是无法使用的,如含有大对象或对象字段的行,将只能应用常规模式(conventional)。
Full导出整个数据库,默认为N,需要有exp_full_database权限;
QUERY参数后面跟的是where条件,值得注意的是,整个where子句需要使用\括起来,where子句的写法和SELECT中相同,如果是UNIX平台所有\和'都需要使用”\\”屏蔽它们的特殊含义,例如: