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 database rename 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/orapworcl password=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:在对数据增删改的操作时,索引也要重新排序
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 database rename 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/orapworcl password=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:在对数据增删改的操作时,索引也要重新排序