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'; 
|