Oracle使用笔记

Linux系统下启动Oracle数据库步骤

第一步:打开Oracle监听

1
[root@sunys ~]# lsnrctl start

第二步:进入sqlplus

1
[root@sunys ~]# sqlplus /nolog

第三步:使用sysdab角色登录sqlplus

1
SQL> conn /as sysdba

第四步:启动数据库

1
SQL> startup

经过上面的四个步骤,oracle数据库就可以启动了;关闭数据库用 shutdown 是要等待事物结束才关闭,强制关闭用 shutdown abort。

修改Oracle数据库表空间自增长

1
2
3
4
select * from dba_data_files; --查询表空间地址
ALTER DATABASE DATAFILE '/oradata/twcwfntts.dbf' AUTOEXTEND ON; --打开自动增长
ALTER DATABASE DATAFILE '/oradata/twcwfntts.dbf' AUTOEXTEND ON NEXT 200M ; --每次自动增长200m
ALTER DATABASE DATAFILE '/oradata/twcwfntts.dbf' AUTOEXTEND ON NEXT 200M MAXSIZE 2024M; --每次自动增长200m,数据表最大不超过1G

使用listagg()和WITHIN GROUP ()将多行合并成一行

原始数据

1
2
3
4
5
6
7
select a.id, a.name,
(select listagg(b.name, ',') within group(order by b.id)
from t_sm_line b
where a.exc_line like b.id||',%' or a.exc_line like '%,'||b.id||',%'
or a.exc_line like '%,'||b.id or a.exc_line = cast(a.id as varchar(10))
or instr(b.id,a.exc_line) >0) exc_line
from t_sm_line a where a.exc_line is not null

查询后