《doc命令创建用户名和输出和输入数据》由会员分享,可在线阅读,更多相关《doc命令创建用户名和输出和输入数据(7页珍藏版)》请在金锄头文库上搜索。
1、 Oracle 创建删除用户、角色、表空间、导入导出数据库命令行方式总结分类: ORACLE2009-10-29 09:56 598 人阅读 评论(0) 收藏 举报数据库 oracleconstraintssystemfiledatabase说明: 在创建数据库时输入的密码,是修改系统默认的密码,以 system 和 sysman等系统默认身份登录时要输入的密码就是修改后的密码(创建数据库时输入的密码)如果要创建新的用户就必须以 system 或者 sysman(这二者的权限最大)的身份登录后才可创建创建用户格式:create user 用户名 identified by 密码(例如:crea
2、te user cht identified by cht;)创建完成后,必须分配权限,否则连不上数据库和 sqlplus。因此要做:grant connect,resource,dba to cht;这样数据库就可以通过 cht/cht 连上了。那些 select,update,delete,insert 的权限就不必分配了,因为每个用户默认都有这些基本权限。命令行方式连接数据库的方法:开始=运行=cmd方式一:输入 sqlplus,回车输入用户名: system,回车输入密码: orcl,回车方式二:输入 sqlplus system/orclorcl,回车(system 是用户名,orc
3、l 是密码,后面的 orcl是库的名字)(数据库安装完成后,有两个系统级的用户 :1) system 默认密码为 :manager2) sys 默认密码为 :change_on_install)创建用户前必须要先建好临时表空间和数据表空间两个表空间,否则用系统默认的表空间不好。/创建临时表空间create temporary tablespace zfmi_temp tempfile D:/oracle/oradata/zfmi/zfmi_temp.dbf size 100m autoextend on next 32m maxsize 2048m extent management loca
4、l;说明:1、zfmi_temp 表空间的名字2、D:/oracle/oradata/zfmi/ 存放数据库文件的地方,一般是安装数据库后有控制文件,数据文件和日志文件的文件夹,再加上要创建表空间的名字+dbf(数据文件)3、100M 表空间的初始大小4、32M 表空间自动增长的大小5、2048M 表空间最大的大小/创建数据表空间create tablespace zfmi logging datafile D:/oracle/oradata/zfmi/zfmi.dbf size 100m autoextend on next 32m maxsize 2048m extent manageme
5、nt 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 参数是级联删除该用户所有对象,经常遇到如用户有对象而未加此参数则用户删不了的问题,所以习惯性的加此参数/删除表空间前提:删除表空间之前要确
6、认该表空间没有被其他用户使用之后再做删除drop tablespace zfmi including contents and datafiles cascade onstraints;/including contents 删除表空间中的内容,如果删除表空间之前表空间中有内容,而未加此参数,表空间删不掉,所以习惯性的加此参数/including datafiles 删除表空间中的数据文件/cascade constraints 同时删除 tablespace 中表的外键参照如果删除表空间之前删除了表空间文件,解决办法:如果在清除表空间之前,先删除了表空间对应的数据文件,会造成数据库无法正常启
7、动和关闭。可使用如下方法恢复(此方法已经在 oracle9i 中验证通过):下面的过程中,filename 是已经被删除的数据文件,如果有多个,则需要多次执行;tablespace_name 是相应的表空间的名称。$ sqlplus /nologSQL conn / as sysdba;如果数据库已经启动,则需要先执行下面这行:SQL shutdown abortSQL startup mountSQL alter database datafile filename offline drop;SQL alter database open;SQL drop tablespace tables
8、pace_name including contents;导入导出命令:Oracle 数据导入导出 imp/exp 就相当于 oracle 数据还原与备份。exp 命令可以把数据从远程数据库服务器导出到本地的 dmp 文件, imp 命令可以把 dmp 文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。下面介绍的是导入导出的实例。(注意:不用连接到 SQL/plus,直接在 DOS 下就可以导出。)数据导出:1 将数据库 TEST 完全导出,用户名 system 密码 manager 导出到 D:daochu.dmp 中exp sys
9、tem/managerTEST file=d:daochu.dmp full=y2 将数据库中 system 用户与 sys 用户的表导出exp system/managerTEST file=d:daochu.dmp owner=(system,sys)3 将数据库中的表 inner_notify、notify_staff_relat 导出exp aichannel/aichannelTESTDB2 file= d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)4 将数据库中的表 table1 中的字段 filed1 以“0
10、0“打头的数据导出exp system/managerTEST file=d:daochu.dmp tables=(table1) query=“ where filed1 like 00%“上面是常用的导出,对于压缩,既用 winzip 把 dmp 文件可以很好的压缩。也可以在上面命令后面 加上 compress=y 来实现。数据的导入1 将 D:daochu.dmp 中的数据导入 TEST 数据库中。imp system/managerTEST file=d:daochu.dmpimp aichannel/aichannelHUST full=y file=d:datanewsmgnt.d
11、mp ignore=y上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。在后面加上 ignore=y 就可以了。2 将 d:daochu.dmp 中的表 table1 导入imp system/managerTEST file=d:daochu.dmp tables=(table1)基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。注意:操作者要有足够的权限,权限不够它会提示。数据库时可以连上的。可以用 tnsping TEST 来获得数据库 TEST 能否连上。附录一:给用户增加导入数据权限的操作第一,启动 sql*puls第二,以 system/man
12、ager 登陆第三,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=sys
13、tem/manager full=y file=filename.dmp执行示例:F:WorkOracle_Databackupimp 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 - Produ
14、ctionWith the Partitioning optionJServer 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=YINDEXES=YGRANTS=YCONSTRAINTS=YBUFFER=409600file=/backup/ctgpc_20030623.dmplog=/backup/import_20030623.log