日期转秒 ```sql – sysdate 是要转的时间 select (sysdate - to_date(‘19700101080000’, ‘yyyymmddhh24miss’)) * 86400 from dual;
sqlplus中启动实例 startup [nomount/mount/open] nomount :仅打开实例 mount:读取控制文件,但不读取数据文件 open:读取数据文件,打开数据库 一般备份的是用mount shutdown normal:不允许新的连接,等待旧的连接断掉
语法 select t.rn,t.* from (select rownum as rn ,c.* from 表 c) t where rn between 开始位置 and 结束位置;
oracle数据库字符集修改 字符集的修改过程 注意:使用sys用户操作 1.关闭数据库 shutdown immediate 2.加载数据库并保持数据库的关闭状态 startup mount 3.限制用户登录 alter system enable restricted session; 4.打开数据库 alter database open; select name from v$database; --确认数据库 5.修改字符集 alter database character set internal_use zhs16gbk; --将 单个中文 改为2个字节大小 --alter database character set internal_use AL32UTF8; --将 单个中文 改为3个字节大小 --alter database character set internal_use UTF8; --alter database character set internal_use US7ASCII; 6.查询是否修改成功 select * from v$nls_parameters t where t.PARAMETER in ('NLS_CHARACTERSET'); select userenv('language') from dual;
描述 union的作用是将多个结果合并在一起显示出来
描述 pivot就是行转换,unpivot就是列转换
exp/imp工具 执行环境:sqlplus exp导出命令 exp 用户名/密码@库名 full=y file=d:/xxx.dmp log=xxx.log; 其中full=y 表示全库导出,缺省情况下只会将该用户下的对象导出 exp 用户名/密码@库名 file=d:/xxx.dmp owner=xx,yy log=xxx.log; 其中ower=xx只能备份指定用户的对象 exp 用户名/密码@库名 tables=emp,empppp file=d:/xxx.dmp log=xxx.log; 其中tables=emp表示备份相关表 exp 用户名/密码@库名 tables=(emp) file=d:/xxx.dmp log=xxx.log; query=\"where oper_id like '00%'\" 这是将表emp中的字段oper_id以"00"打头的数据导出 imp导入命令 将用户名相同的库中的数据导入指定的服务器相同的用户下 imp 用户名/密码@库名 full=y file=d:/xxx.dmp log=xxx.log; 将原用户kf touser的数据导入到用户kf_new下 imp kf_new/zx@zxcc_new file=d:\zxcc.dmp fromuser=kf touser=kf_new; 其中fromuser=kf为.dmp文件里的对象的原先的ower, 而touser=kf_new为作为导入的对象的新的ower imp kf_new/zx@zxcc_new file=d:\zxcc.dmp fromuser=kf touser=kf_new ignore=y; 其中ignore=y忽略错误
create or replace procedure proc_del_samehead_table(tab_head varchar2) is cursor c_tab is select t.TABLE_NAME from user_tables t where lower(t.TABLE_NAME) like trim(tab_head)||'%' and length(t.TABLE_NAME) > length(trim(tab_head)); begin for v_tmp in c_tab loop dbms_output.put_line('clear '||v_tmp.table_name); end loop; end;
控制文件的编写 LOAD DATA INFILE 带路径的bcp文件 append into INTO TABLE 表名 FIELDS TERMINATED BY “\t” TRAILING NULLCOLS (字段1,…,字段n) 例子 load data infile './2.csv' append into table TBL_TEST fields terminated by '\t' TRAILING NULLCOLS (ID,NAME,AGE) SQL文件编写 在里面写上sql语句,导出的数据会根据这个sql语句来导出 sqlldr入库 sqlldr 用户名/密码@IP:PORT/SID control=控制文件 bad=失败文件记录文件.csv
JOB参数说明 ``` dbms_scheduler ==»create_job ==»drop_job