sp2-0734:未知的命令开头'imp 忽略了剩余行默认分类
应该是在cmd的dos命令提示符下执行,而不是在sqlplus里面。。。。。。但是格式一定要类似于:
imp PERSONNEL_MANAGE/MWQ@DBSQL full=y file=C:\personnel_manage.dmpignore=y
谨以此纪念我的粗心。。。。。我错了。
imp 命令是在dos提示符下执行的。
直接cmd后执行而不是在sql下执行的
数据导出:
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能否连上。
当然,上面的方法在导出数据时可能会导出很大的包,那是因为你的用户可能在授权的时候授予了DBA的权限,所以可以采用下面方法来进行数据库备份:
数据库备份
建议系统过渡后,每周进行一次备份。或者在数据表发生重大改变前,对要改变的数据表进行备份。
执行以下步骤,进行备份。
在命令行里,敲入“cmd”,回车,进入命令行窗口。
在窗口中,输入:
exp mas/123456@mas
系统提示:输入数组提取缓冲区大小: 4096 >
可以直接回车;
系统提示:导出文件: EXPDAT.DMP>
此处输入导出文件的位置,其路径必须存在,Oracle在这里不会自动建立路径,但可以建立文件名。备份文件以dmp作为后缀。
输入内容如:e:\work\mas_db_090925v1.dmp 回车
系统提示: (1)E(完整的数据库),(2)U(用户) 或 (3)T(表): (2)U > u
此处可以输入u,也可以直接回车,因为系统此时默认的是U
系统提示:导出权限(yes/no):yes>回车
系统提示:导出表数据(yes/no):yes>回车
系统提示:压缩区(yes/no):yes>回车
系统提示:要导出的用户: (RETURN 以退出) > mas
系统提示:要导出的用户: (RETURN 以退出) > 回车
此时系统会自动进行备份
本文链接
oracle11.2.0.3 64bit client
检查软件环境
[root@MLCDBSERVER2@/]>pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibC SUNWlibms SUNWsprot \
SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt
[root@MLCDBSERVER2@/]>pkgadd -d . SUNWi1cs SUNWi15cs
[root@MLCDBSERVER2@/tmp]>pkgadd -d ActivePerl-5.8.8.819-x86-solaris-2.10-cc-267479.pkg
[root@MLCDBSERVER2@/]>mkdir -p /var/opt/oracle
[root@MLCDBSERVER2@/]>vi /var/opt/oracle/oraInst.loc
inventory_loc=/u01/app/oraInventory
inst_group=oinstall
配置系统登录显示变量
[root@MLCDBSERVER2@/]>vi /etc/profile
#add
PS1='[$LOGNAME@`hostname`@$PWD]>';export PS1
[root@MLCDBSERVER2@/]>/usr/sbin/usermod -s /usr/bin/bash root
创建oracle用户和组
[root@MLCDBSERVER2@/]>mkdir -p /home/oracle
[root@MLCDBSERVER2@/]>/usr/sbin/groupadd oinstall
[root@MLCDBSERVER2@/]>/usr/sbin/groupadd -g 502 dba
[root@MLCDBSERVER2@/]>/usr/sbin/groupadd -g 503 oper
[root@MLCDBSERVER2@/]>/usr/sbin/useradd -u 502 -g oinstall -G dba -d /home/oracle -s /usr/bin/bash oracle
[root@MLCDBSERVER2@/]>passwd oracle
biierg_oracle
[root@MLCDBSERVER2@/]>chown oracle:oinstall /home/oracle
[root@MLCDBSERVER2@/]>mkdir /app/oracle
[root@MLCDBSERVER2@/]>chown oracle:oinstall /app/oracle
[root@MLCDBSERVER2@/]>chmod -R 775 /app/oracle
[root@MLCDBSERVER2@/]>chown oracle:oinstall /var/opt/oracle
配置oracle环境变量
[root@MLCDBSERVER2@/]>su - oracle
[oracle@MLCDBSERVER2@/home/oracle]>vi .bash_profile
PERL_HOME=/opt/ActivePerl-5.8;export PERL_HOME
ORACLE_BASE=/app/oracle;export ORACLE_BASE
ORACLE_HOME=${ORACLE_BASE}/product/client/11.2.0.3;export ORACLE_HOME
ORACLE_ADMIN=${ORACLE_BASE}/admin;export ORACLE_ADMIN
TNS_ADMIN=/var/opt/oracle;export TNS_ADMIN
ORACLE_HOSTNAME=MLCDBCLIENT.biierg-inner.com;export ORACLE_HOSTNAME
PATH=${PERL_HOME}/bin
PATH=${PATH}:${OFSDB_HOME}/bin
PATH=$PATH:${ORACLE_HOME}/lib:${ORACLE_HOME}/bin:${ORACLE_BASE}/admin/bin
PATH=$PATH:/usr/sbin:/usr/bin:/usr/local/bin:/usr/openwin/bin
PATH=$PATH:/opt/SUNWcluster/bin:/usr/X/bin:/usr/ccs/bin:/usr/ccs/lib
PATH=$PATH:/usr/bin/nsr:/usr/sbin/nsr
PATH=$PATH:/opt/csw/bin
export PATH
LD_LIBRARY_PATH=${ORACLE_HOME}/lib:/usr/ccs/lib:/usr/lib ; export LD_LIBRARY_PATH
MANPATH=/opt/SUNWcluster/man:/usr/share/man:${PERL_HOME}/man;export MANPATH
PS1='[$LOGNAME@`hostname`@$PWD]>';export PS1
[oracle@MLCDBSERVER2@/home/oracle]>. .bash_profile
[oracle@MLCDBSERVER2@/home/oracle]>
配置responseFile
开始安装oracle软件
[oracle@MLCDBSERVER2@/tmp/client]>./runInstaller -silent -responseFile /tmp/client_install.rsp
配置netca
[oracle@MLCDBSERVER2@/tmp/client]>netca /silent /responsefile /tmp/netca.rsp
修改tnsnames.ora
[oracle@MLCDBSERVER2@/var/opt/oracle]>vi tnsnames.ora
MLC010C1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.247.53.19)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = MLC010C1)
)
)
[root@MLCDBSERVER2@~]>cp /home/oracle/.bash_profile .
[root@MLCDBSERVER2@~]>. .bash_profile
本文链接
一般只是作为客户端访问Oracle,并不需要安装庞大的Oracle。有时候经常忘记怎么配置精简版Oracle,这篇文章做个记录备份。
可以从http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 下载适合自己系统的客户端,一般几十M,下载Basic版本。下载后解压到一个目录后,它可以作为Oracle客户端了,但是需要做一定配置,比如我放到D:\Oracle目录,设置环境变量配置如下:
- ORACLE_HOME指向D:\Oracle
- TNS_ADMIN指向D:\Oracle
- NLS_LANG设置值为SIMPLIFIED CHINESE_CHINA.ZHS16GBK
- Path环境变量的最前面添加D:\Oracle;
我本地D:\Oracle的文件如下:
其中cfg后缀文件和Sample没有用,listerner.ora是Oracle服务端的监听文件这里也没用,sqlnet.ora文件也没有用。
现在我下载的win64最新版本的文件目录如下:
把支持JDK1.2,1.3的JDBC库从classes12.jar和支持JDK1.4以及以上的ojdbc14.jar包换做了支持更高版本的ojdbc5.jar和ojdbc6.jar了。
客户端连接文件tnsnames.ora的配置如下:
cqyxtx =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.23.1.253)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = yxtx)
)
)
表示连接IP为172.23.1.253端口为默认1521的yxtx数据库实例,数据库连接别称是cqyxtx。
打开PL/SQL,选择工具->首选项,配置如下:
这样PL/SQL就可以作为oracle的客户端了。
本文链接