本人是数据库菜鸟,下面是在刚刚接触asm管理数据写下的文章,如果有什么不对或者遗漏的地方请网友们指出,本人不胜感激。
asm创建
1)删除asm:
1,停止所有的服务
2,Localconfig ldel(删除css服务)
3,运行Universal Insatall 卸载 Oralce 10g
4,cmd 下输入 oracle -delete - asmsid +asm
5,删除注册表中相应的信息
2)创建asm磁盘
3)创建css服务(用来连接asm和数据库进行通信的)
Crsctl check cssd命令检查是否创建的css正常启动。
4)用dbca创建asm选择的时候选择
5)修改相应的参数
注意:在修改隐含参数时:要注意加上双引号才能进行修改
6)添加数据磁盘到数据库中
7)创建数据库
8)通过第三方软件连接+asm实例
配置listnerora和tnsnameora通过sqlplus连接asm实例
注意以上的service_name的值不能是+asm,而是asm
9)通过asmcmd来查看数据库中的内容
1)set oracle_sid=+asm
2)set ORACLE_HOME=F:\oracle\product\1020\db_1 ---数据库的主目录,注意没有引号
3)主要的命令有
4)asm将所有的文件除了pwdsid这个文件没有放在asm中,其他的都放在里面
Du 命令查看数据库磁盘的使用情况。+表示根目录
Lsct 命令表示磁盘组供哪些数据库使用
Lsdg 命令表示磁盘组的内容
AU 表示allocate unit分配单元(1M)
10)在asm下创建表空间和数据文件,并创建别名
V$ASM_ALIAS,V$ASM_CLIENT,V$ASM_DISK,V$ASM_DISKGROUP,V$ASM_DISKGROUP_STAT,V$ASM_DISK_STAT
V$ASM_FILE,V$ASM_OPERATION,V$ASM_TEMPLATE
真正的数据文件在 datafile中创建的是别名而已
给system数据文件取别名
将真正的数据文件修改为别名文件(别名文件必须存在)
11)Asm新增加磁盘和磁盘组
1,先查看磁盘是否被识别,如果没有识别,则可以通过更改参数asm_diskstring来识别
2,当识别后通过下面语句进行新增磁盘组的 *** 作
external, normal和high redunancy (normal至少两块磁盘,high至少三块磁盘)
3,查询磁盘组的数量
ALTER DISKGROUP dg1 ADD DISK '/dev/raw/raw5';磁盘组新增磁盘
alter diskgroup dg1 drop disk DATA_0001
文章知识点与官方知识档案匹配
原因一:新建的数据库,没有将初始数据导入到新库里。
解决方法:
请登录到我司数据库控制面板->备份还原系统,然后使用数据库还原的功能,在那里直接将您的数据库备份上传还原,如果 *** 作过程没有出现错误,一般您的数据库就已经还原了,此方法适合还原一些初始数据不是很大的数据库(30M以内),如果您的数据库初始数据很大,在线上传还原的成功率比较低,这时请使用数据库导入导出的方法进行还原,详细的导入导出方法请查看我司的另一篇帮助文档 数据库导入导出方法详解
原因二:数据库做过迁移,新数据库的对象所有者名称不同造成
数据库做了迁移后,一般会进行导入/还原数据的过程,在这个过程中,要注意新数据库的完整对象名与原来是一致的。
比如,您的旧数据库名叫 db1 , 旧数据库用户是 dbuser1, 现在要迁移到新的数据库上,新数据库名是 db2, 新数据库用户是 dbuser2。
sqlserver对象的完整对象名是 数据库名用户名表名 这样的,假设你的旧数据库上有个表名叫 table1,那它的完整对象名就是 db1dbuser1table1,
当你用新的数据库名登录导入旧数据时,新的表名可能变成了 db2dbuser2table1,这样的话,您的程序查询数据时可能会出现对象名无效的错误。
解决方法:要解决这个问题,一般需要做两步 *** 作:
1 请分别使用 sp_changeobjectowner '这里改为数据库完整对象名','dbo' 这个命令将所有的用户表,用户视图,用户存储过程等的所有者全部改为系统内建的特殊用户dbo
以下是一个可以简化执行上面 *** 作的存储过程,以下存储过程运行后可能还会有部分的对象改不到所有者,这时请手动执行上面的命令将未能改所有者的对象重新尝试一下。
declare @CrsrVar cursor
declare @pname varchar(40) --对象名
declare @oldowner varchar(40) --原对象所有者
declare @objfullname varchar(80) --原对象全名
set @oldowner = '这里改为数据表/视图/存储过程等的旧所有者名称'
set @CrsrVar = Cursor For select name from sysobjects where xtype='U' --xtype=U 表示用户表
open @CrsrVar
fetch next from @CrsrVar into @pname
while(@@fetch_status=0)
begin
set @objfullname = @oldowner + '' + @pname
exec sp_changeobjectowner @objname=@objfullname,@newowner='dbo' --dbo为所有者名
fetch next from @CrsrVar into @pname
end
close @CrsrVar
deallocate @CrsrVar
2 可能您的编写网站程序的时候没有注意通用性,在查询数据时采用了类似 select from dbuser1table1 这样的SQL语句,一般来说,这不是一个好的习惯,在这种情况下,如果数据库迁移过的话,经常会导致对象名无效的错误,为了避免这种不必要的问题,建议您在程序中查询数据时,直接用 select from table1 这样的方式,就是在程序中不在用对象的完整名称,而是单使用表名或视图名,这样就可以避免不必要的“对象名无效”的问题。
使用sqlplus登录到sysdba,可以用数据字典查询数据库状态。正常开启的话状态应该是 OPEN select status from v$instance; 如果是RAC集群,可以使用CRS命令查看整个集群的实例运行状态: su -oracle crs_stat -t
一、准备安装
基本都是按部就班。
使用的OS版本:OEL4 [oracle@ractestorcl]$cat/etc/redhat-releaseEnterpriseLinuxEnterpriseLinuxASrelease4(OctoberUpdate5)[oracle@ractestorcl]$cat/etc/enterprise-releaseEnterpriseLinuxEnterpriseLinuxASrelease4(OctoberUpdate5)安装程序路径:
/mnt/Oracle11g_linux_x86_64/database
创建用户 groupadd-g1001dbagroupadd-g1002oinstalluseradd-u10000-gdba-Goinstall,dba-d/home/oracle-s/bin/bashoraclechownRoracle:dba/home/oracleusermod-gdba-Goinstall,dbaoracle使用的bash_profile exportORACLE_BASE=/home/oracleexportORACLE_HOME=$ORACLE_BASE/11gexportORA_CRS_HOME=$ORACLE_BASE/crsexportORACLE_PATH=$ORACLE_BASE/common/oracle/sql::$ORACLE_HOME/rdbms/adminexportORACLE_SID=orcl1exportPATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:${PATH}:$HOME/binexportPATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/binexportPATH=${PATH}:$ORACLE_BASE/common/oracle/binexportORACLE_TERM=xtermexportTNS_ADMIN=$ORACLE_HOME/network/adminexportORA_NLS10=$ORACLE_HOME/nls/dataexportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib:$ORACLE_HOME/oracm/lib:$ORACLE_HOME/libexportLIBPATH=$LIBPATH:$ORA_CRS_HOME/lib:$ORACLE_HOME/libexportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/jlib:$ORACLE_HOME/network/jlib:$ORACLE_HOME/JREexportTHREADS_FLAG=nativeexportTEMP=/tmpexportTMPDIR=/tmpexportNLS_LANG=american_americaWE8ISO8859P1exportDISPLAY=101989055:2aliassysdba="sqlplus'/assysdba'"exportEDITOR=vi修改的核心参数:
kernelshmall = 2097152
kernelshmmax = 2 147483648
kernelshmmni = 4096
fsfile-max = 65536
netipv4ip_local_port_range = 1024 65000
netcorermem_default=262144
netcorewmem_default=262144
netcorermem_max=262144
netcorewmem_max=262144
使用xclock检查display正确:
代码: [oracle@ractest~]$xclock[oracle@ractest~]$/mnt/Oracle11g_linux_x86_64/database[oracle@ractest~]$cd/mnt/Oracle11g_linux_x86_64/database[oracle@ractestdatabase]$ls-ltotal 10
drwxr-xr-x 4 1003 oinstall 96 Mar 23 18:45 doc
drwxr-xr-x 5 1003 oinstall 1024 Mar 23 18:45 install
drwxr-xr-x 2 1003 oinstall 1024 Mar 23 18:45 response
-rwxr-xr-x 1 1003 oinstall 1251 Mar 23 18:45 runInstaller
drwxr-xr-x 12 1003 oinstall 1024 Mar 23 18:45 stage
-rw-r--r-- 1 1003 oinstall 4638 Mar 23 18:45 welcomehtml [oracle@ractestdatabase]$/runInstallerStarting Oracle Universal Installer
Checking installer requirements
Checking operating system version: must be redhat-3, SuSE-9,
redhat-4, UnitedLinux-10, asianux-1 or asianux-2
Passed
All installer requirements met
Preparing to launch Oracle Universal Installer from
/tmp/OraInstall2007-06-28_02-26-12AM Please wait
[oracle@ractest database]$ Oracle Universal Installer, Version 111020 Production
Copyright (C) 1999, 2007, Oracle All rights reserved
Oracle Universal Installer, Version 111020 Production
Copyright (C) 1999, 2007, Oracle All rights reserved
启动图形以后选择basic&n
选择oracle base的时候,oracle不推荐使用user home作为oracle base,这里我选yes忽略
进行prerequirements检查的时候,安装程序认为swap不足,我选择YES忽略
执行提示脚本,安装完毕
代码: [oracle@ractestdatabase]$[oracle@ractestdatabase]$su-rootPassword:[root@ractest~]#/home/oracle/oraInventory/orainstRootshChanging permissions of /home/oracle/oraInventory to 770
Changing groupname of /home/oracle/oraInventory to dba
The execution of the script is complete [root@ractest~]#/home/oracle/11g/rootshRunning Oracle 11g root sh script
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /home/oracle/11g
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin
Copying oraenv to /usr/local/bin
Copying coraenv to /usr/local/bin
Creating /etc/oratab file
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root sh script
Now product-specific root actions will be performed
Finished product-specific root actions
安装完毕。
crs的log体系结构是:$CRS_HOME/log/[node],其中node是节点的名字,他们下面的主要目录和文件有:
alertlog:类似于数据库的alert日志,用作检查的起点
crsd、cssd、evmd:是3个子目录,分别对应crs三个同名的进程日志,日志的名字和进程名字一致,分别叫做crsdlog,ocssdlog,evmdlog
racg:这个目录放所有的nodeapp日志,包括ons和vip
client:这个目录放所有的工具执行日志,比如ocrcheck,ocrconfig,crsctl等工具产生的日志放在这里。
ResultSet rs = stmtexecuteQuery("SELECT FROM EMPLOYEES"); CachedRowSet crs = new CachedRowSetImpl(); //也可以是WebRowSetImpl,FilteredRowSetImpl,JoinRowSetImpl,因为他们均继承自CachedRowSetImpl crspopulate(rs); 运行populate()方法后,ResultSet对象rs中的数据就被填充到crs对象中了。 (3)用XML填充 如果您打算将XML作为数据交换格式在客户端和你的服务器之间传输数据并且向实现数据离线编辑、或者向使用XML格式的数据的话,可以使用WebRowSet接口来用XML填充数据。 WebRowSet wrs = new WebRowSetImpl(); wrsreadXml(new FileReader(new File("D:\\employeesxml"))); 运行readXml()方法后,employeesxml文件的数据就被填充到wrs对象中了。employeesxml 文件的格式参见附录。 (4)用其他方法填充 如果形用其他方式填充,比如csv、excel、text、>
以上就是关于windowsasm文件如何包含windows结构体全部的内容,包括:windowsasm文件如何包含windows结构体、SQL数据库时提示对象名'XXX' 无效、oracle crs进程怎么看等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)