collinsxu 发表于 2013-1-15 02:04:32

oracle 学习笔记2

1:删除 表空间下的某个数据文件:
alter   database   datafile   '...../*.dbf '   offline   drop;


2:重命名数据文件(当数据文件移动到别的地方时也可以用此方法)
   1:把数据文件所在的表空间offline
   2:在操作系统下更改数据文件的名称(或移动数据文件到另外一个地方)
   3:在oracle的sqlplus 里更改文件名称
   >alter tablespace collins offline;
   chang the datafile name or position in os system.
   >alter databaserename file '/u01/app/oracle/oradata/orcl/collins_1.dbf' to '/u02/app/collins2.dbf'
   

3:
问题产生:执行 alter database datafile '   /collins.dbf' offline drop;
然后想重新联机启用collins.dbf 时报错
ora-01113: file --- needs media recovery
解决办法:
1:shutdown immediate
2:startup mount
3:recover datafile '-------/collins.dbf'
4:alter database open;

4:问题:在用sys用户登录时,密码是正确的但出现ORA-01031错误,insurficent privileges;
原因:$ORACLE_HOME/dbs 目录下 orapw<SID>密码文件出现错误,需要重建密码文件
解决:orapwd file=$ORACLE_HOME/dbs/orapworclpassword=123


4:删除表空间
drop tablespace tablespace_name including contents and datafiles;
   建立用户表空间:
   create tablespace collins
   logging
   datafile '/u01/app/oracle/oradata/orcl/collins_1.dbf'
   size 100m
   autoextend on
   next 32m maxsize 2048m
   extent management local;
   建立临时表空间:
   CREATE TEMPORARY TABLESPACE temp
   TEMPFILE '/u01/oradata/temp01.dbf' SIZE 500M
   EXTENT MANAGEMENT LOCAL UNIFORM SIZE 4M;

   
   
   创建数据库的语句:
   create database rain
   maxinstances 1 maxloghistory 1 maxlogfiles 5 maxlogmembers 3 maxdatafiles 100
   datafile '$ORACLE_BASE/oradata/rain/system.dbf' size 500m reuse autoextend on next 10m maxsize unlimited
   extent management local
   default temporary tablespace TEMP tempfile '$ORACLE_BASE/oradata/rain/temp.dbf' size 1000m reuse autoextend on
   next 250m maxsize unlimited
   undo tablespace "undotbs" datafile '$ORALCE_BASE/oradata/rain/undotbs.dbf' size 1000m reuse autoextend on next
   100m maxsize unlimited
   character set WE8ISO8859P1
   national character set AL16UTF16
   logfile Group 1('$ORACLEBASE/oradata/rain/redo01.log') size 256m,
   Group 2('$ORACLEBASE/oradata/rain/redo02.log') size 256m,
   Group 3('$ORACLEBASE/oradata/rain/redo03.log') size 256m
   
增加数据文件
alter tablespace collins add datafile '/u01/app/oracle/oradata/orcl/collins_3.dbf'
size 100m autoextend on next 32m maxsize 2G;

更改数据文件大小
alter database datafile '/u01/app/oracle/oradata/orcl/collins_2.dbf' resize 300m;

5:
删除表空间之前删除了表空间文件,会造成数据库无法正常启动和关闭。
$ sqlplus /nolog
SQL> conn / as sysdba;
如果数据库已经启动,则需要先执行下面这行:
SQL> shutdown abort
SQL> startup mount
SQL> alter database datafile 'filename' offline drop;
SQL> alter database open;
SQL> drop tablespace tablespace_name including contents;


6:删除了表空间,但没删文件,如何将文件重新添加到另外一个表空间中。(非常好:)
alter tablespace collins add datafile '/u01/app/oracle/oradata/orcl/collins_2.dbf' size 100m reuse;


7:更改表名称
rename collins to coll;
更改表中某一列名称

查看SID:   select instance_name from v$instance;

增加列:
alter table collins add cname varchar2(20);

--行锁 在新打开的对话中不能对此行进行操作
select * from stu_account t where t.count_id=2 for update; --行锁

8:建立索引:1:在经常需要查询的表上建索引
2:在对数据增删改的操作时,索引也要重新排序
页: [1]
查看完整版本: oracle 学习笔记2