oracle数据库开发经验,oracle数据库开发的一些经验积累

1、分析表

analyze table mzbs.db_code ESTIMATE STATISTICS SAMPLE 20 PERCENT;

2、表空间管理和用户管理

--查看表空间和数据文件

select file_name,tablespace_name,autoextensible from dba_data_files;

--数据表空间

CREATE TABLESPACE USER_DATA

LOGGING

DATAFILE 'D:\ORACLE\ORADATA\ORCL\test.DBF' SIZE 50m REUSE ,

'c:\USERS01112.DBF' SIZE 50m REUSE

AUTOEXTEND

ON NEXT  1280K MAXSIZE  16383M EXTENT MANAGEMENT LOCAL

--修改表空间数据文件的路径

ALTER TABLESPACE app_data

RENAME

DATAFILE '/DISK4/app_data_01.dbf'

TO   '/DISK5/app_data_01.dbf';

ALTER DATABASE

RENAME FILE '/DISK1/system_01.dbf'

TO '/DISK2/system_01.dbf';

--临时表空间

CREATE TEMPORARY

TABLESPACE  USER_DATA_TEMP TEMPFILE 'D:\TEMP0111.DBF'

SIZE 50M REUSE AUTOEXTEND

ON NEXT  1024K MAXSIZE  16383M EXTENT MANAGEMENT LOCAL UNIFORM

SIZE 1024K

--增加数据文件

ALTER TABLESPACE  USER_DATA

ADD DATAFILE 'c:\USERS01113.DBF' SIZE 50M;

ALTER TABLESPACE USER_DATA

ADD DATAFILE 'c:\USERS01114.DBF'  SIZE 50M

AUTOEXTEND ON

;

--删除表空间

DROP TABLESPACE USER_DATA INCLUDING CONTENTS;

--修改表空间的存储参数

ALTER TABLESPACE tablespacename

MINIMUM EXTENT 2M;

ALTER TABLESPACE tablespacename

DEFAULT STORAGE (

INITIAL 2M

NEXT 2M

MAXEXTENTS 999 );

--表空间联机/脱机/只读

ALTER TABLESPACE tablespacename OFFLINE/ONLINE/READ ONLY;

--修改数据文件大小

ALTER DATABASE

DATAFILE 'c:\USERS01113.DBF' RESIZE 40M;

--创建用户、赋予权限

CREATE USER USER_DATA PROFILE DEFAULT IDENTIFIED BY  USER_DATA

DEFAULT

TABLESPACE USER_DATA  TEMPORARY

TABLESPACE USER_DATA  ACCOUNT UNLOCK;

GRANT CONNECT TO USER_DATA;

GRANT RESOURCE TO USER_DATA;

3、表的管理

--创建表

CREAE TABLE TABLENAME

(COLUMN1 COLUTYPE DEFAULT(VALUE) NOT NULL)

(COLUMN2 COLUTYPE DEFAULT(VALUE) NOT NULL);

--建表的索引存储分配

CREATE TABLE summit.employee(id NUMBER(7) CONSTRAINT employee_id_pk PRIMARY KEY DEFERRABLE USING INDEX  STORAGE(INITIAL 100K NEXT 100K)

TABLESPACE indx,

last_name VARCHAR2(25) CONSTRAINT employee_last_name_nn NOT NULL,

dept_id NUMBER(7))

TABLESPACE data;

--修改表的存储分配

ALTER TABLE tablename

PCTFREE 30

PCTUSED 50

STORAGE(NEXT 500K

MINEXTENTS 2

MAXEXTENTS 100);

ALTER TABLE tablename

ALLOCATE EXTENT(SIZE 500K

DATAFILE '/DISK3/DATA01.DBF');

--把表移到另一个表空间

ALTER TABLE TABLENAME MOVE TABLESPACE TABLESPACENAME;

--回收空闲的空间(回收到High-water mark)

全部回收需要TRUNCATE TABLE tablename

ALTER TABLE tablename

DEALLOCATE UNUSED;

--删除表(连同所用constraint)

DROP TABLE tablename

CASCADE CONSTRAINTS;

--给表增加列

ALTER TABLE TABLENAME

ADD COLUMN COLUTYPE DEFAULT(VALUE) NOT NULL;

--删除表中的列

ALTER TABLE tablename

DROP COLUMN columnname;

ALTER TABLE tablename

DROP COLUMN columnname

CASCADE CONSTRAINTS CHECKPOINT 1000;

--标记列不可用

ALTER TABLE tablename

SET UNUSED COLUMN columnname

CASCADE CONSTRAINTS;

--删除标记为不可用的列

ALTER TABLE tablename

DROP UNUSED COLUMNS CHECKPOINT 1000;

--继续删除列选项

ALTER TABLE tablename

DROP COLUMNS CONTINUE CHECKPOINT 1000;

--把表放到BUFFER_POOL中去

ALTER TABLE tablename

STORAGE (BUFFER_POOL RECYCLE);

--避免动态分配EXTENT

ALTER TABLE tablename ALLOCATE EXTENT;

--把表放到CACHE中去

ALTER TABLE tablename ALLOCATE CACHE/NOCACHE;

4、索引管理

--创建索引

CREATE INDEX indexname ON TABLENAME(COLUMNNAME);

CREATE INDEX indexname ON TABLENAME(COLUMNNAME) TABLESPACE TABLESPACENAME;

--重新建立索引

ALTER INDEX indexname REBUILD TABLESPACE  TABLESPACE;

--索引分配参数

ALTER INDEX indexname

STORAGE(NEXT 400K

MAXEXTENTS 100);

--释放索引空间

ALTER INDEX indexname

ALLOCATE EXTENT (SIZE 200K

DATAFILE '/DISK6/indx01.dbf');

ALTER INDEX indexname

DEALLOCATE UNUSED;

--重新整理索引表空间碎片

ALTER INDEX indexname COALESCE;

--删除索引

DROP INDEX indexname

--把索引放到BUFFER_POOL中

ALTER INDEX cust_name_idx

REBUILD

STORAGE (BUFFER_POOL KEEP);

5、约束管理

--建立主键

ALTER TABLE TABLENAME

ADD CONSTRAINT CONSTRAINTNAME PRIMARY KEY(COLUMN1,COLUMN2)

--使约束无效

ALTER TABLE TABLENAME ENABLE NOVALIDATE CONSTRAINT constraintname;

ALTER TABLE TABLENAME ENABLE VALIDATE CONSTRAINT constraintname;

--删除约束

ALTER TABLE tablename  DROP CONSTRAINT constraintname;

DROP TABLE tablename CASCADE CONSTRAINTS;(删除表后将所用的外键删除)

--给列增加缺省值

ALTER TABLE TABLENAME

MODIFY columnname  DEFAULT(value) NOT NULL;

--给表增加外键

ALTER TABLE  tablename

ADD CONSTRAINT  constraintname

FOREIGN KEY(column) REFERENCES table1name(column1);

6、安全策略

--加密传输

把客户端环境变量ora_encrypt_login设为true

把服务器端参数dblink_encypt_login设为true

--数据库管理员安全策略

a、建库后立即修改SYS/SYSTEM的口令(9.2后必须修改其口令)

b、只有数据库管理员才能以SYSDBA登录系统

c、建立不同角色的管理员,分配不同的权限

比如:对象创建于维护

数据库的调整与维护

创建用户分配角色

启动关闭

恢复备份

--应用开发者的安全策略

a、开发者的特权只能在测试开发的数据库中赋予权限

b、自由开发者、受控开发者

自由开发者:create table\index\procedure\package

受控开发者:没有以上权限

7、日志文件管理

--切换日志文件

ALTER SYSTEM SWITCH LOGFILE;

--增加日志文件

ALTER DATABASE ADD LOGFILE

('/DISK3/log3a.rdo',

'/DISK4/log3b.rdo') size 1M;

--增加日志成员

ALTER DATABASE ADD LOGFILE MEMBER

'/DISK4/log1b.rdo' TO GROUP 1

'/DISK4/log2b.rdo' TO GROUP 2;

--删除日志文件

ALTER DATABASE DROP LOGFILE GROUP 3;

--删除日志成员

ALTER DATABASE DROP LOGFILE MEMBER '/DISK4/log2b.dbf';

--清除日志文件内容

ALTER DATABASE CLEAR LOGFILE '/DISK3/log2a.rdo';

作者Blog:http://blog.csdn.net/great_domino/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值