oracle常用知识
数据备份命令
exp mll/mll full=y rows=y statistics=none file=070306.dmp
vi .bash_profile
# .bash_profile
Oracle中的字符编码一定要设成和系统一样的才行,否则后果很严重
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/10.2.0/db_1
export ORACLE_SID=mailaili
export PATH=$PATH:$ORACLE_HOME/bin
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
export NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"
export nls_language='SIMPLIFIED CHINESE'
建数据库的时侯也得选择CHINESE_CHINA.ZHS16GBK的字符集,这样在开发的过程当中才不会出错。
设置linux中的语言环境,在/etc/profile中加入export LC_ALL=zh_CN.GBK
如果在设置归档日志中出错,执行这条语句
SQL>ALTER SYSTEM RESET log_archive_start SCOPE=SPFILE SID='*';
如果在exp中出现
對一個DBA或需使用exp,imp的普通用戶來說,在我們做exp的過程中可能經常會遇到EXP-00091 Exporting questionable statistics.這樣的EXP信息,其實它就是exp的error message,它產生的原因是因為我們exp工具所在的環境變量中的NLS_LANG與DB中的NLS_CHARACTERSET不一致。但需說明的是,exp-91這個error message對所生成的dump檔沒有影響,生成的dump檔還可以正常的imp(個人體會,不知道有沒有錯),雖然它對我們的dump檔沒有影響,我個人還是不想它出現,大家也有同感吧, 。。下面我們就讓它消失吧。。我們一起來
step 01 查看DB中的NLS_CHARACTERSET的值(提供兩種方法):
select * from nls_database_parameters t where t.parameter='NLS_CHARACTERSET'
or
select * from v$nls_parameters where parameter='NLS_CHARACTERSET';
SQL> select * from v$nls_parameters where parameter='NLS_CHARACTERSET';
PARAMETER VALUE
----------------------- ----------------------------------------------
NLS_CHARACTERSET ZHT16BIG5
step 02 根據step 01查出的NLS_CHARACTERSET(ZHT16BIG5)來設定exp的環境變量:
WINNT> set NLS_LANG=AMERICAN_AMERICA.ZHT16BIG5
LINUX> export NLS_LANG=AMERICAN_AMERICA.ZHT16BIG5
附上exp-91的oracle error message 解決方案說明:
oerr exp 91
00091, 00000, "Exporting questionable statistics."
// *Cause: Export was able export statistics, but the statistics may not be
// usuable. The statistics are questionable because one or more of
// the following happened during export: a row error occurred, client
// character set or NCHARSET does not match with the server, a query
// clause was specified on export, only certain partitions or
// subpartitions were exported, or a fatal error occurred while
// processing a table.
// *Action: To export non-questionable statistics, change the client character
// set or NCHARSET to match the server, export with no query clause,
// export complete tables. If desired, import parameters can be
// supplied so that only non-questionable statistics will be imported,
// and all questionable statistics will be recalculated.
使用如下语句删除一个表中的记录
delete from test where field1='200409'
test表中有几千万条记录,上面的语句要删除的记录数也有几百万条,这样等待的时间非常漫长,请问如何能加快删除速度?上面的语句如何改才能实现快速删除记录?