oracle 常用命令汇总
登入oracle
sqlplus / as sysdba
SQL> startup ---启动oracle 数据库
SQL> shutdown immediate --停止数据库
conn smsdb/password --连接到smsdb用户
回到终端机模式,输入:
$ lsnrctl status
检查看看监听器是否有启动
如果没有启动,可以输入:
$ lsnrctl start
emctl
另外也可以发现http://localhost.localdomain:1158/em 目前是没有反应的,这边要另外启动,启动的指令如下:
$ emctl start dbconsole
2,关闭数据库
除了 shutdown immediate 还可以用 shutdown abort --一般针对数据库错误时使用
3,启动数据库
startup mount
alter database open
删除oracle数据库用户
drop user smsdb cascade;
Sql>create or replace directory P_DIR as '/home/oracle';
--检查创建的路径
Sql> select DIRECTORY_NAME,DIRECTORY_PATH from dba_directories where DIRECTORY_NAME='P_DIR';
--分配该目录的读写权限给用户smsdb
Sql> Grant read,write on directory P_DIR to smsdb;
数据库导出
expdp user/passwd directory=P_DIR dumpfile=20160801_%U.dmp filesize=61440M parallel=5 reuse_dumpfiles=y
部分导出
expdp user/passwd exclude=table:\"IN\(\'T_SMSGATEWAY_MO\','\'T_SMSGATEWAY_REPORT_HIS\'\)\"directory=P_DIR dumpfile=smsdbputian.dmp
数据库导入
impdp user/passwd directory=P_DIR dumpfile=smsdbputian.dmp LOGFILE=exp_tab.log
4,oracle 双实例启动方式
首先你需要知道实例名 假设我的两个实例分别是 oracle10 和oracle11那么启动双实例的方式如下:
su - oracle
export ORACLE_SID=oracle10
sqlplus / as sysdba
startup ;-----启动oracle10实例
export ORACLE_SID=oracle11
步骤如上!
5,设置单表不生成归档日志
alter table
6,增加表分区
ALTER TABLE 《XXX》
ADD PARTITION P_20170401_23_MP3 values less than(to_date( '2017-04-01 00:00:00','YYYY-MM-DD hh34:mi:ss'), 4)
TABLESPACE SMSDBMT_DATA UPDATE INDEXES;
7,上传本地数据--sqlldr
sqlldr userid=username/paswd control=/home/oracle/data/load.ctl
load.ctl 文件配置
load data
infile '/home/oracle/data/test.txt'
APPEND into table T_TB_4
fields terminated by ","
trailing
(MOBILE)
8,上传的中文内容出现乱码:
一、
查看服务器端编码
select userenv('language') from dual;
我实际查到的结果为:AMERICAN_AMERICA.AL32UTF8
二、
执行语句 select * from V$NLS_PARAMETERS ---登陆要导入数据的用户下
查看第一行中PARAMETER项中为NLS_LANGUAGE 对应的VALUE项中是否和第一步得到的值一样。
如果不是,需要设置环境变量.
SIMPLIFIED CHINESE 二者不一致执行
export NLS_LANG="SIMPLIFIED CHINESE"