ORCLE替换内容中的回车、换行、制表符(tab)

替换空格

UPDATE table t SET t.name=replace(t.name,’ ‘,”) ;

chr(13)表示回车(注意是chr,不是char)

UPDATE table t SET t.name=replace(t.name,chr(13),”) ;

chr(10)表示换行

UPDATE table t SET t.name=replace(t.name,chr(10),”) ;

chr(9)表示tab空格

UPDATE table t SET t.name=replace(t.name,chr(9),”) ;

ORACLE的replace函数会把字段中的所有字符替换掉,相当月reaplacAll

如果字段为大字段类型,需要先调用to_char函数进行处理

select replace(to_char(clob),chr(10),”) from table;

查询 long字段 clob

— 示例表

CREATE TABLE test(col1 long);

— 重建一个备份表,把其中的long字段改为clob

Create TABLE testBak (col1 clob);

插入数据

INSERT INTO testBak SELECT to_lob(col1) FROM test;

COMMIT;

查询

SELECT * FROM testBak WHERE col like ‘%download%’;

oracle查看表空间使用情况

SELECT a.tablespace_name 表空间名,

       total 表空间大小,

       free 表空间剩余大小,

       (total – free) 表空间使用大小,

       ROUND((total – free) / total, 4) * 100 使用率

  FROM (SELECT tablespace_name, ROUND(SUM(bytes) / (1024 * 1024), 4) free

          FROM DBA_FREE_SPACE

         GROUP BY tablespace_name) a,

       (SELECT tablespace_name, ROUND(SUM(bytes) / (1024 * 1024), 4) total

          FROM DBA_DATA_FILES

         GROUP BY tablespace_name) b

 WHERE a.tablespace_name = b.tablespace_name

oracle表解锁

SELECT /*+ rule */ s.username,

 decode(l.type,’TM’,’TABLE LOCK’,

 ‘TX’,’ROW LOCK’,

 NULL) LOCK_LEVEL,

 o.owner,o.object_name,o.object_type,

 s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser

 FROM v$session s,v$lock l,dba_objects o

 WHERE l.sid = s.sid

 AND l.id1 = o.object_id(+)

 AND s.username is NOT Null;

— alter system kill session’389,3523′;

python3连接oracle数据库

声明:pythoncx_Oracleinstantclient的版本应一致

我这里使用的版本是python3.6 64 ,cx_Oracle-5.3-11g.win-amd64-py3.6-2instantclient-basic-windows.x64-18.5.0.0.0dbru

1. 首先安装cx_Oracle

尽量不要直接使用pip install cx_Oracle,这样默认安装的是最新版本的cx_Oracle,可能会出现以下错误

1.1 cx_Oracle 报错:cx_Oracle.DatabaseError: DPI-1050: Oracle Client library must be at version 11.2

解决方法:从 https://pypi.python.org/pypi/cx_Oracle/5.3 下载低版本cx_Oracle版本 可以下载cx_Oracle-5.3-11g.win-amd64-py3.6-2.exe ,然后直接安装

1.2 如果在安装cx_Oracle-5.3-11g.win-amd64-py3.6-2.exe 时提示Python version 3.6 required, which was not found in the registry

可以通过执行这个文件来解决

register.py   链接: https://pan.baidu.com/s/1GcPK_I7ddSLZkM2sv7AHtA    提取码: qrwm 

2. 下载instantclient-basic-windows.x64-11.2.0.4.0.zip,解压并配置环境变量(放到path中)

下载地址:https://www.oracle.com/technetwork/cn/topics/winx64soft-101515-zhs.html

下载好后解压,并配置环境变量

3. instantclient下所有.dll文件到python\Lib\site-packages\下(我这里的路径为C:\Develop\Anaconda3\Lib\site-packages

4. 测试代码如下

import cx_Oracle conn=cx_Oracle.connect('username','password','172.16.5.29:1521/ORCL') cursor=conn.cursor()   print("连接成功!")   cursor.close() conn.commit() conn.close()

当你看到“连接成功”的提示语句时,那么就恭喜你成功了用python连上了oracle数据库

CentOS 7 启动Oracle

1. 切换用户 

    su – oracle        — 使用户环境变量生效

2. 检查监听

    lsnrctl  status    — 查看状态

    lsnrctl  start      — 启动监听

3. 登录SqlPlus

    sqlplus /nolog

4. 登录数据库

    sqlplus   / as sysdba

5. 启动数据库

    startup 

6.关闭数据库

    shutdown

腾讯云图