سلام.
امروز به دلیلی احتیاج داشتم که دیسک گروه data رو بر روی سرور دیگری با همان اطلاعاتی که روش داشتم برگردونم.
می دونیم که تا header دیسک ها رو پاک نکنیم، به همان اسم شناخته خواهند شد. از همین مطلب استفاده کردم برای انجام این کار. ابتدا بر روی سرور جدید نرم افزار grid infrastructure رو بصورت software only نصب کردم. با زدن oraclasm listdisk و oracleasm acandisks پس از اینکه همکار storage کار دیسک ها رو به سرور جدید شناسوند، باید دیسک ها رو ببینیم.
مرحله بعدی زدن دستور زیر برای بالا آوردن resource هاست:
crsctl start resource ora.cssd
بعد از بالا اومدن باید listener رو هم بالا بیاریم ولی قبلش به srvctl اضافه می کنیمش:
srvctl add listener
srvctl start listener
حالا یک pfile ساده که شامل پارمترهای زیر هست رو می سازیم و تحت عنوان init+ASM.ora در مسیر ORALCE_HOME/dbs در تحت کاربر grid (یا اگر تک کاربره هستید، oracle ) ذخیره می کنیم:
*.asm_power_limit=1
*.diagnostic_dest='/u01/app/grid'
*.instance_type='asm'
*.large_pool_size=12M
*.remote_login_passwordfile='EXCLUSIVE'
و حالا asm را با استفاده از pfile بصورت زیر بالا می آریم.
sqlplus / as sysasm
startup pfile='/u01/app/11.2.0/grid/dbs/init+ASM.ora'
بعد از اینکه بالا بیاد ، بهتون می گه من هیچ دیسک گروهی ندیدم، که با زدن دستور زیر ، به راحتی mount میشه. نکته ای که داره، باید اسم دیسک گروهتون رو بدونید.
alter diskgroup data mount;
اما کار تموم نشده، باید کانفیگهایی برای اضافه کردن به srvctl و همچنین ساخت spfile بدید و همچنین پسورد فایل مربوط به اون رو بسازید. اگر بخواهید همین الان دستور create spfile from pfile رو بزنید، با خطای زیر مواجه می شید:
ora-29786: SIHA attribute ...
دستورات زیر را می زینم:
srvctl add asm
srvctl config asm
حالا پسورد فایل را در پوشه dbs می سازیم:
orapwd file=orapw+ASM password=oracle
برای اینکار، سایتهای زیر رو خوندم:
https://eleoracle.wordpress.com/2015/01/23/move-asm-diskgroups-between-server/
https://flashdba.com/install-cookbooks/ol5u7-11-2-0-3-single-instance-using-4k-asm/
امیدوارم چیزی رو جا نگذاشته باشم. اگر نکته ای به ذهنتون رسید که می تونم اضافه کنم، لطفاً بگید.
خواهش: در هنگام رانندگی به احترام عابرین پیاده بایستیم.
- ۹۶/۰۷/۲۳