oracle数据库基本操作

## oracle数据库基本操作:

**创建工作空间:**
CREATE SMALLFILE TABLESPACE 工作空间名称 LOGGING DATAFILE 'D:\app\Administrator\oradata\orcl\工作空间名称.dbf' SIZE 200M AUTOEXTEND
ON NEXT 30M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
**创建用户并授权**
create user 用户名 identified by 密码 default tablespace 默认表空间;
grant connect,dba to 用户名;
**删除用户**
drop user user_name cascade;
alter table 表名 drop column 字段名;
alter table test rename column aa to bb; 
**查询数据库连接密码期限**
SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
**更改期限为永久**
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
**导出某库**
expdp userid='用户名/密码@IP地址+端口/orcl' schemas=用户名directory=DATA_PUMP_DIR dumpfile=导出的文件名.dmp logfile=导出的日志名.log
**导入某库**
impdp REMAP_SCHEMA=某库导出的用户名:导入到某库的用户名 userid='用户名/密码@IP地址:端口/orcl'  directory=DATA_PUMP_DIR dumpfile=导入的库文件.dmp
**清空某表**
truncate table;
**扩展表空间内存**
ALTER TABLESPACE EYGLE ADD DATAFILE '...路径\oradata\sztyora\文件名.DBF'  SIZE 2048M;
**有关字段替换**
select replace(字段,'需要替换的字符','替换后的字符') from 表名
**查询重复(根据某个字段查询重复)**
select 字段a from group by 字段a having count(*) > 1
**导出不包含某表的库**
expdp userid='yn_jdzfgl/chouzhuhfits@localhost/orcl' schemas=yn_jdzfgl directory=DATA_PUMP_DIR dumpfile=yn_jdzfgl0304.dmp logfile=yn_jdzfgl0304.log exclude=table:\"IN\(\'表\'\)\"
**导出某些表**
expdp TEST/TEST@orcl schemas=TEST dumpfile=TEST.dmp DIRECTORY=db_bak EXCLUDE=TABLE:\"NOT IN\(\'A\')\"
not in去除not反之导出不包括某些表
**导入某些表**
impdp test/test@orcl DIRECTORY=db_bak DUMPFILE=test.DMP remap_schema=test:test EXCLUDE=TABLE:\"NOT IN\(\'A\')\"
not in去除not反之导入不包括某些表
**扩展,导入表名为EMP*的表**
impdp test/test@orcl DIRECTORY=db_bak DUMPFILE=test.DMP 
**导入库**
imp 用户名/密码@orcl ignore=y full=y file=D:\app\Administrator\admin\orcl\dpdump\要导入的库.dmp
**导出库**
exp 用户名/密码@ip:端口/orcl  file=路径/zdxmgl_ahs.dmp
remap_schema=test:test EXCLUDE=TABLE:\"NOT LIKE 'EMP%'\" 使用not like排除表名
**查询某表占用空间**
select sum(bytes)/(1024*1024) table_space from user_segments where segment_name=upper('表名');
**创建检查日期格式是否正确的函数**
create or replace function fun_date_YorN(i_dt varchar2) return number is
  v_dt date;
begin
  v_dt := to_date(i_dt, 'yyyy-mm-dd');
  return 1;
exception
  when others then
    return 0;
end fun_date_YorN;
**空值替换**
nvl(字段,替换后的值);

case 
	when 条件  
	thenelsewhen 条件
	thenend

取某查询sql结果是两条数据中的一条
select max(字段)keep ( dense_rank first order by 字段 desc) from 表名



TNS 连接关闭  
1.配置文件重新配置,可采用Oracle自带的,更改配置文件,
2.监听日志记录超4G,导致监听配置无法启动。删除或者将现有的监听日志重命令。
3.断电后,数据异常,需要使用数据恢复。

存储过程循环更新数据
begin
    for cr in (
        查询的结果单字段多值
        )
    loop 赋值
        where t.id = cr.id;
        end loop;
end;

多选框转成中文:
(SELECT wm_concat(f_vc_daimmc) FROM t_daimjb a 
WHERE ssfl='00210169' AND f_vc_daimz1 in (SELECT   REGEXP_SUBSTR(ytbrgx, '[^,]+', 1, LEVEL, 'i') FROM DUAL 
CONNECT BY LEVEL <= LENGTH(ytbrgx) - LENGTH(REGEXP_REPLACE(ytbrgx, ',', '')) + 1)
)
ALTER LOGIN [sa] WITH PASSWORD = 'XXXXXX' UNLOCK;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值