注明:
在
缔造数据库时输入的密码,是
批改系统默许的密码,以system和sysman等系统默许身份登录时要输入的密码便是
批改后的密码(
缔造数据库时输入的密码)
假如要
缔造新的消费者就必须以system或者sysman(这二者的权限最大)的身份登录后才可
缔造
缔造消费者
格局:create user 消费者名 identified by 密码(例如:create user cht identified by cht;)
缔造
实现后,必须
调配权限,不然连不上数据库和sqlplus 。
因此要做:grant connect,resource,dba to cht;这样数据库就
可以通过cht/cht连上了 。那些select,update,delete,insert的权限就
毋庸
调配了,由于每个消费者默许都有这些
根本权限 。
命令行
模式衔接数据库的
步骤:
开始==》运行==》cmd
模式一:
输入sqlplus,回车
输入消费者名: system,回车
输入密码: orcl,回车
模式二:
输入sqlplus system/orcl@orcl,回车(system是消费者名,orcl是密码,@后面的orcl是库的名字)
(数据库安装
实现后,有两个系统级的消费者 :
1) system 默许密码为 :manager
2) sys 默许密码为 :change_on_install)
缔造消费者前必须要先建好暂时表空间和数据表空间两个表空间,不然用系统默许的表空间不好 。
//
缔造暂时表空间
create temporary tablespace zfmi_temp tempfile 'D:oracleoradatazfmizfmi_temp.dbf' size 100m autoextend on next 32m maxsize 2048m extent management local;
注明:
1、zfmi_temp 表空间的名字
2、D:oracleoradatazfmi
存放数据库文件的地方,普通是安装数据库后有操纵文件,数据文件和日志文件的文件夹,再外加要
缔造表空间的名字+dbf(数据文件)
3、100M 表空间的初始大小
4、32M 表空间自动增进的大小
5、2048M 表空间最大的大小
//
缔造数据表空间
create tablespace zfmi logging datafile 'D:oracleoradatazfmizfmi.dbf' size 100m autoextend on next 32m maxsize 2048m extent management local;
//
缔造消费者并指定表空间
create user zfmi identified by zfmi default tablespace zfmi temporary tablespace zfmi_temp;
//给消费者授予权限
grant connect,resource dba to zfmi; (dba:指定全部权限)
到这一步新建一个消费者的工作就
实现了 。
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//删除消费者以及消费者全部的对象
drop user zfmi cascade;
//cascade参数是级联删除该消费者全部对象,
时常遇到如消费者有对象而未加此参数则消费者删不了的问题,所以习惯性的加此参数
//删除表空间
前提:删除表空间之前要确认该表空间没有被
其余消费者
使用之后再做删除
drop tablespace zfmi including contents and datafiles cascade onstraints;
//including contents 删除表空间中的内容,假如删除表空间之前表空间中有内容,而未加此参数,表空间删不掉,所以习惯性的加此参数
//including datafiles 删除表空间中的数据文件
//cascade constraints 同时删除tablespace中表的外键参照
假如删除表空间之前删除了表空间文件,解决
步骤:
假如在
革除表空间之前,先删除了表空间对应的数据文件,会造成数据库
无奈
畸形启动和关闭 。
可
使用如下
步骤
复原(此
步骤已经在oracle9i中验证通过):
下面的过程中,filename是已经被删除的数据文件,假如有多个,则需求
频繁执行;tablespace_name是相应的表空间的名称 。
$ sqlplus /nolog
SQL> conn / as sysdba;
假如数据库已经启动,则需求先执行下面这行:
SQL> shutdown abort
SQL> startup mount
SQL> alter database datafile 'filename' offline drop;
SQL> alter database open;
SQL> drop tablespace tablespace_name including contents;
导入导出命令:
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份 。exp命令
可以把数据从远程数据库服务器导出到当地的dmp文件, imp命令
可以把dmp文件从当地导入到远处的数据库服务器中 。 利用这个
性能
可以构建两个
雷同的数据库,一个用来测试,一个用来正式
使用 。
下面介绍的是导入导出的实例 。(
留神:不用衔接到SQL/plus,直接在DOS下就
可以导出 。)
数据导出:
1 将数据库TEST
彻底导出,消费者名system 密码manager 导出到D:daochu.dmp中
exp system/manager@TEST file=d:daochu.dmp full=y
2 将数据库中system消费者与sys消费者的表导出
exp system/manager@TEST file=d:daochu.dmp owner=(system,sys)
3 将数据库中的表inner_notify、notify_staff_relat导出
exp aichannel/aichannel@TESTDB2 file= d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@TEST file=d:daochu.dmp tables=(table1) query=" where filed1 like '00%'"
上面是常用的导出,关于压缩,既用winzip把dmp文件
可以很好的压缩 。
也
可以在上面命令后面 外加 compress=y 来实现 。
数据的导入
1 将D:daochu.dmp 中的数据导入 TEST数据库中 。
imp system/manager@TEST file=d:daochu.dmp
imp aichannel/aichannel@HUST full=y file=d:datanewsmgnt.dmp ignore=y
上面可能有点问题,由于有的表已经存在,
而后它就报错,对该表就不进行导入 。
在后面外加 ignore=y 就
可以了 。
2 将d:daochu.dmp中的表table1 导入
imp system/manager@TEST file=d:daochu.dmp tables=(table1)
根本上上面的导入导出够用了 。不少状况要先是将表彻底删除,
而后导入 。
留神:
操作者要有足够的权限,权限不够它会
揭示 。
数据库时
可以连上的 。
可以用tnsping TEST 来
获得数据库TEST
是不是连上 。
附录一:
给消费者添加导入数据权限的操作
第一,启动sql*puls
第二,以system/manager登陆
第三,create user 消费者名 IDENTIFIED BY 密码 (假如已经
缔造过消费者,这步
可以省略)
第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,
DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
DBA,CONNECT,RESOURCE,CREATE SESSION TO 消费者名字
第五, 运行-cmd-进入dmp文件所在的目录,
imp userid=system/manager full=y file=*.dmp
或者 imp userid=system/manager full=y file=filename.dmp
执行示例:
F:WorkOracle_Databackup>imp userid=test/test full=y file=inner_notify.dmp
屏幕显示
Import: Release 8.1.7.0.0 - Production on 礼拜四 2月 16 16:50:05 2006
(c) Copyright 2000 Oracle Corporation. All rights reserved.
衔接到: Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
With the Partitioning option
JServer Release 8.1.7.0.0 - Production
经由
通例路径导出由EXPORT:V08.01.07
缔造的文件
已经
实现ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入
导出服务器
使用UTF8 NCHAR 字符集 (可能的ncharset转换)
. 正在将AICHANNEL的对象导入到 AICHANNEL
. . 正在导入表 "INNER_NOTIFY" 4行被导入
预备启用
束缚条件…
顺利终止导入,但浮现
忠告 。
附录二:
Oracle 不同意直接转变表的
占有者, 利用Export/Import
可以达到这一
目标 。
先
构建import9.par,
而后,
使用时命令如下:imp parfile=/filepath/import9.par
例 import9.par 内容如下:
FROMUSER=TGPMS
TOUSER=TGPMS2 (注:把表的
占有者由FROMUSER改为TOUSER,FROMUSER和TOUSER的消费者
可以不同)
ROWS=Y
INDEXES=Y
GRANTS=Y
CONSTRAINTS=Y
BUFFER=409600
file==/backup/ctgpc_20030623.dmp
log==/backup/import_20030623.log