数据库操作常用备忘-Oracle

2020-4-17

数据库中的所有数据库链接

select * from dba_db_links;

 修改表字段长度

表中已存有数据:
ALTER table tableName MODIFY (字段名 字段类型(长度));
eg: alter table dpsm_dm_drugslog modify(person VARCHAR2(30));
表中未存有数据:
ALTER TABLE TABLENAME MODIFY ID CHAR(
16
eg: alter table dpsm_dm_drugslog modify person VARCHAR2(30);

 2020-5-12

错误现象

  今天发布脚本时,一个表插入数据时报如下错误

  ORA-01502: index ‘index_name' or partition of such index is in unusable state
  ORA-06512: at line 168

错误原因:

  这个错误一般是因为索引状态为UNUSABLE引起的。你可以通过下面SQL,查看索引的状态

SELECT OWNER, INDEX_NAME,STATUS  FROM DBA_INDEXES WHERE INDEX_NAME='INDEX_NAME' 
SELECT OWNER, INDEX_NAME,STATUS  FROM ALL_INDEXES WHERE INDEX_NAME='INDEX_NAME' 

SELECT  INDEX_NAME,STATUS  FROM USER_INDEXES WHERE INDEX_NAME='INDEX_NAME' 

此时需要重建索引即可 

ALTER INDEX INDEX_NAME REBUILD

  

修改表字段长度

alter table 表名 modify 列名 数据类型;

alter table bl_yhsz modify  zcmc varchar2(120);

Oracle 误删除数据后恢复数据 (救命操作)

如果表结构没有发生改变,还可以直接使用闪回整个表的方式来恢复数据。

具体步骤为:

表闪回要求用户必须要有flash any table权限

 --开启行移动功能 

 ·alter table 表名 enable row movement

 --恢复表数据
 ·flashback table 表名 to timestamp to_timestamp(删除时间点','yyyy-mm-dd hh24:mi:ss')

 --关闭行移动功能 ( 千万别忘记 )

 ·alter table 表名 disable row movement

sqlplus登录Oracle数据库

1.本地登录 sqlplus / as sysdba

2.账号密码登录 sqlplus user/passwd

3.选择实例登录 sqlplus user/passwd@实例名   例如 sqlplus user/passwd@orcl

4.连接远程数据库实例 sqlplus user/passwd@IP:端口/实例名 例如:sqlplus user/passwd@192.168.1.2:1521/orcl 

5.远程登录dba实例 sqlplus user/passwd@IP:端口/实例名 as sysdba  例如:sqlplus user/passwd@192.168.1.2:1521/orcl as sysdba

原文地址:https://www.cnblogs.com/lixiaoxu/p/12717625.html