Oracle数据库的一些常用操作经验总结

发表于:2008-2-22 12:25

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:网络转载

一:数据库启动的步骤:
  ORACLE数据库分为数据库实例和数据库文件两部分,实例是一块内存区域,加些后台进程,内存区域就是平时说的数据缓存,共享池等,后台进程就是如checkpoint,log writer,dbwriter等,数据文件和SQL SERVER的在概念上没啥两样,这样数据文件,内存,进程就构成了一个数据库.
  1:首先检测参数文件init(sid).ora,就是初始化参数文件,从参数文件获取内存配置参数,数据库名称等信息,进行实例启动,这样内存就开辟了,进程也自己启动了,这个状态是nomount.其中Oracle数据库在启动时,首先查找的是orapw<sid>的口令文件,如果该文件不存在,则开始查找,orapw的口令文件。
  2:根据上步的参数文件信息,从参数文件获取控制文件的地址,加载他,获取数据库的物理文件的信息,但不会检查数据文件是否存在,这个称为mount,
  3:读取数据文件,打开数据库,执行些恢复检查点.这个状态就是open.

二:更改实例名步骤:
  1:更改原来实例参数文件init(sid).ora,更改参数配置中实例名为新的实例名
*.instance_name='gaogao1'
  2:更改原来参数文件为新的含有新的实例名的参数文件:
如mv initgaogao.ora initgaogao1.ora
  3:建立新的关于新的实例的密码文件:
orapwd file=orapw(sid) password=密码 entries=5

三:关于数据库启动中参数文件的问题.
  1:一般数据库在打开实例的时候,oracle读取参数文件的过程是:数据库首先会找SPFILE(sid).ora,如果找不到,才去找INIT(sid).ora,在上面都找不到才会去找init.ora.
  2:一般在在创建数据库完成以后系统会生成spfile(sid).ora这个文件。如果你想改变SGA的大小。那就要手动建立PFILE才可以对SGA调整。因为spfile(sid).ora是二进值文件。无法用文本编辑器。
  3:CREATE PFILE FROM SPFILE; 这样就可以在dbs目录下自动创建一个init(sid).ora文件.
  4:如果你想用PFILE文件启动,你可以在启动时指定文件的路径,或把spfile(sid).ora改名字,就可以了.

四:把用户对象从一个表空间gaojf导入到另外一个表空间gaojf1步骤:

  1:REVOKE UNLIMITED TABLESPACE FROM "GAOJF1";#在gaojf1的系统权限中取消掉 unlimited tablespace

  2:ALTER USER "GAOJF1"  QUOTA 20 M ON CICRO1; 给用户gaojf1资源限额20m
或者是
 ALTER USER "GAOJF1"  QUOTA UNLIMITED ON CICRO1;给用户gaojf1资源限额为无限制使用.(非无)

  3:然后用导出语句:
imp gaojf1/gaojf1 file=cicrotablestest.dmp fromuser=gaojf touser=gaojf1 ignore=y tablespaces=cicro1;
或者
imp gaojf1/gaojf1 file=cicrotablestest.dmp full=y,ignore=y;
ok了,看看吧!
五:关于表空间的使用
alter user hr quota 200m on test1;  指定hr用户在表空间test1的使用限额时200兆.
alter user hr quota 0 on example;指定hr在表空间example的使用限额为0,即没有指定限额(无).
alter user hr quota unlimited on test1; 指定hr在表空间test1的使用限额为无限制(非无,是无限制使用).
Only one mode (TABLES, FROMUSER, or FULL) can be specified #即为在导入的时候,只能从tables,fromuser,full中指定一种模式.

impsales/sales@test1fromuser=zjj touser=sales rows=n ignore=n commit=y TABLESPACES=test file=D:\exp\zjj.dmp log=d:\exp\zjjimp01.log   #倒入数据的格式
imp hr/hr file=e:\hr.dmp log=e:\hrimp.log fromuser=hr touser=test1
alter table (tablename) move tablespace 表空间名   #把某个表移动到另外一个表空间.


查看导入后表的表空间
select * from  user_all_tables where table_name='表名'
查看表空间的使用情况
select sum(bytes)/(1024*1024) as free_space,tablespace_name from dba_free_space group by tablespace_name;
六:更改sys和sysem的密码
 Alter  user  sys  identified  by 新的密码
 Alter  user  system  identified  by  新的密码

IXDBA.NET技术社区

七:更改数据库为归档模式:
通过v$database,查看数据库是否在Archive模式下:       
SQL> select log_mode from v$database;
或者通过
SQL> archive log list;
如果不是Archive模式,则设定数据库运行于归档模式下:
一:数据库用pfile文件时的修改方法。     
(1):SQL>shutdown immediate
               SQL>startup mount
               SQL> alter database archivelog;
               SQL> alter database open;
  如果Automaticarchival显示为“Enabled”,则数据库归档方式为自动归档。否则需要手工归档,或者将归档方式修改为自动归档,如: 正常shutdown数据库,在参数文件中init(sid).ora中加入如下参数
               SQL>shutdown immediate
             修改init(sid).ora:
               LOG_ARCHIVE_START=TRUE      
 log_archive_dest = /opt/oracle/product/9.2.0/dbs/archgaogao                              (归档日值存放位置可以自己定义)
log_archive_format = "T%TS%S.ARC"  (存档日志文件的文件名格式)        

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号