Windows 10 | MAP SMS/MMS Other devices

Hi guys
To be very frank, though I started using Windows 10 from the Technical Preview days & was an insider for a long time. After each build, one of the best things I loved about Windows 10 was it’s ability to identify and install the best drivers (Occasionally requiring manufacturer drivers for additional enhancements (Sound, VGA, Wifi)) even for pretty old hardware components.

With the Creators update, started reading many frustrated users complaining about missing drivers which were not so loud till build 1603. Out of curiosity, I found that almost four devices were not recognized for my almost 5 years old work laptop, a Dell Latitude E6420.

Throughout my Windows 10 experiences, I hardly bothered to find Windows 10 specific drivers from DELL support because my product is not supported for Windows 10 & the latest available are for Windows 8. Well, almost all the executables by DELL are packed in a different way that Intel drivers & extracting the packages using 7-zip didn’t always let me point the device manager to extracted files locations and pick correct drivers. Hence, I just run the executable & take a chance with almost all missing drivers.
This time after patching the way mentioned above (Which can break your system, be warned & trust me, I know what I am doing, so just lost a whole partition 2 days back) I found one item under “Other devices” & it read “MAP SMS/MMS”. I tried to locate the hardware details, which has only a long string that read something more than mere google searches could help, until I came across this post today.
2nd page of the article, user vkgupta suggests to remove connected Bluetooth devices to see whether this “Other device” disappears after the unpair process.
I unpaired my LG G3 & the “Other device” disappeared. Paired it again, letting the Other device to reappear with a ? mark once again. So, if you are another someone who is trying to “find” a proper driver for your SMS/MMS other device, give this trick a try.

Hope this helps few out there!

rajesh

Migrate from Microsoft SQL Server to Oracle 11g

Hi guys

This time I am going to share my experience with migrating a small MS SQL database to Oracle database using Oracle’s SQL Developer

Scenario

Microsoft SQL Server 2008 or later

Oracle database 11g (or later, 12c not tested)

Requirement

Business requires a 3rd party software that depends upon MS SQL Server to be migrated to Oracle platform

Pre-requisites

Oracle database 11g installed and instance is up and online

Oracle SQL Developer 4.2 (Used for this demonstration). Cannot confirm whether 4.1 uses the same approaches. Try it and let me also know

JDBC driver for MS SQL connectivity. For SQL Developer 4.x you need to download the driver from following link

http://sourceforge.net/projects/jtds/files/

Please follow https://kentgraziano.com/2013/01/14/tech-tip-connect-to-sql-server-using-oracle-sql-developer/ to learn how to install and configure the driver in order to establish a connection from SQL developer to MS SQL server.

Scope

I am going to migrate a database called “OPMS” from SQL Server 2008 R2 express edition to Oracle database 11g R2 64Bit

image

Please note, the JDBC driver fails to connect to the SQL Server using Windows Authentication, hence you must define a login with for your database, change the instance authentication methods to mixed in order to establish a successful connection.

image

As you could see with the above image, I don’t have any connections to Oracle database defined.

For the database migration, We must define two connection. One connection using SYSTEM user & the 2nd connection using MWREP user that we will create in like following

[code language=”sql” gutter=”false”]
DROP USER MWREP CASCADE
/
CREATE USER MWREP IDENTIFIED BY mwrep
DEFAULT TABLESPACE BAYAN
TEMPORARY TABLESPACE TEMP1
QUOTA UNLIMITED ON BAYAN
/
GRANT DBA,CONNECT,RESOURCE TO MWREP
[/code]

Once the migration is over, you may drop this repository safely. Hence don’t worry about the grants given to the new user. I failed to successfully get the things done properly without DBA role assigned to this migration schema

I’ve struggled hours to understand why the “tables” were not created as a part of the migration process which said “Successfully completed” after the execution and my probing through the log files pointed towards a schema OPMS not existing in indirect wordings.

(I’m pretty sure that I missed something & the intended schema was NOT created during the migration process run. Regardless, creating the Schema manually gives many tuning choices like tablespace selection, quota setting etc)

So, to get the migration work successfully, you need to create a schema with the the same name of your SQL Database. In my example the SQL database name is “OPMS”, the same I pre-defined with the Oracle database, although the script generated by the migration has DDL for creating the user against default tablespace “USERS”. Well, I didn’t want my OPMS schema using “USERS” tablespace…

I created the OPMS user as below

[code language=”sql” gutter=”false”]
DROP USER OPMS CASCADE
/
CREATE USER OPMS IDENTIFIED BY opms
DEFAULT TABLESPACE BAYAN
TEMPORARY TABLESPACE TEMP1
QUOTA UNLIMITED ON BAYAN
/
GRANT DBA,CONNECT,RESOURCE TO OPMS
[/code]

I am all set to start the migration now, so should be you!

Created a new connection for user “System”

image

Created another connection for “MWREP” user, which will hold the migration repository

image

Now we have to create the migration repository. Right click on the MWREP connection and expand Migration Repository, then Associate Migration repository

image

Progress

image

Finished

image

If the repository association fails for any reasons, you have restart by dropping the migration schema that you have created and go through the steps once again.

As I have completed creating the migration repository, next step is to connect the SQL developer to MS SQL Server (in my case SQL Server 2008 R2 Express edition)

image

So you have all the 3 connections required for the migration now.

image

As soon as you connect the MWREP, you will notice that Migration Windows showing an entry like seen with the below image

image

Now we will start the migration.

image

The welcome screen provides you an overview of the activities those will be completed for the SQL database migration. Move ahead

image

By default your migration repository will be selected, however cross check it and click “Next”

image

Provide a meaningful name for your Project and Select output directory

image

Make sure you have selected the correct Source database

image

The default database for the currently connected SQL database user will be selected by default for capturing. Confirm and click next

image

Under the convert step (6), make necessary changes. Refer the image for more details

image

A number of objects will be selected, unless you are pretty confident about objects you don’t want to migrate, leave the default selection intact.

image

Select the “System” connection for Target Database

image

Make sure you select SQL connection for source and MWREP connection as target in the move data step (9)

image

Click finish & the migration immediately starts. Depending upon the size of your source database it may take while for the process to create and move data between the technologies.

image

 

Progress

image

 

image

 

image

Create a connection to Oracle database for the newly created (We created the OPMS schema prior the migration) schema & verify whether the objects were created by the migration process.

image

That’s all folks!

rajesh

Recover your corrupt VirtualBox .vdi (Virtual Disk Image)

 

Hi guys

I have 3 Windows 10 Professional licenses (Yes, paid licenses). 2 of the licenses are used in two hardware devices & the 3rd one I am using with a VirtualBox VM machine.

My semi server class desktop computer at home has approximately 4.5T storage, consolidated from different disks. My Windows10 VM is frequently factory reset to try out different software (Mostly Oracle software at uncertified environments) & the particular partition on which I had the VM was running out of space & I planned to move the VM & the disks to a different partition with bigger free space.

Scenario: Move “Windows 10” VM from L: drive to M: drive

My nightmare started when the copy process stopped abruptly with Windows popping an error window stating there were read errors while copying disk1.vdi & I attempted again to realize that the disk1.vdi is has bad sectors or clusters.

I hurried to confirm that the VM is still accessible by restarting the VM couple of times & to my greatest pleasure the VM did start, did shutdown properly and I was able to access the Oracle database installation.

Fix:

A quick googling suggested that an attempt to repair the hard disks using “CHKDSK”, the old utility could fix the .vdi corruptions & without wasting more time I jumped in

At an elevated command prompt issued the command

> chkdsk L: /F

My partition is of 1TB & after 15-16 minutes the chkdsk completed with few messages like fixing some cluster information.

I tried to copy the disk1.vdi once again to M: drive, and this time the copy process managed almost 19GB out of 29.1GB and again presented me the read error.

Now, I was left with just one more option in front of me & it was to attempt recover the bad sectors, and there were chances that my virtual disk may get corrupt if the damages are more in numbers. knowing my VM is already Activated by Microsoft, I could try to reinstall Windows in a new virtual disk and retain the license as long as I am still using the other VM files as the id of the machine registered with Microsoft.

Please be informed, if you copy ONLY the vdi file, the activation will be nullified and you will be prompted to activate the copy of the Windows as soon as you start the new VM built using the copied VDI file!

So I proceeded to

>chkdsk L: /F /R

Windows suggested that it may take around 6 hrs for the repair process & I woke up next day morning to read multiple status messages about moving the corrupt sectors to new positions & some errors those could not be repaired.

I hurried to copy the disk once again & even though it seemed like forever, finally I was able to copy the disk1.vdi to M: drive!

 

So if you ever come across such a situation, give the above a try. If you are not cursed, most probably you will able to recover the virtual disk.

regards,

rajesh

RMAN vs Dump Export

Hi guys

Recently I spent pretty good amount of time trying out RMAN & was able to apply what I learned at multiple production environments those were purely depending upon export dumps over a decade. Once after committing many hours for recovery using RMAN to a standby instance, I started wondering whether such efforts are really worth for a database that was hardly couple of GBs after 10+ years of data collection. I read many articles from reputed Oracle related sites, including this one.

A majority of the small scale industries don’t invest on DBAs because, FOR them DBAs are found doing “nothing” at all throughout the salary periods & most of them have unmatched ego that don’t allow them to learn anything other than what they are “certified to”. I have some pretty bad experiences with bunch of DBAs who didn’t even have a clue about SGA, PGA setups for a 10g database because they were “Certified” for 11g

Throughout the years, we have many hardware crashes and always restored the database(s) from export dumps (.dmp). A clearly documented schema/tablespace details were all we needed as the data that was expected to be restored were always sized in few GBs.

An Oracle developer with moderate database skills could, within an hour time can go online with the database restored using the simple import, which may not be the case with RMAN. RMAN strongly depends upon many factors for backup, restore & and from my limited DBA skills, should be adapted to bigger database environments.

So, you have a very small database and want to restore it from a dump file after a hardware crash or while switching to better hardware, you are very happy to know that importing from a dump export is much easier than RMAN (as you don’t have a clue what it is). Is it a fail proof method? Well, depends. If you are dealing with a hardly documented environment, you can land in hot soup with import screaming about non-existing objects referred by the currently imported schema. An interesting discussion you may find here that is closed as answered once after I confirmed it.

Obviously, I started the topic explaining how easy it looks to use pure dump files for restoration purposes, however ending the topic by saying that if you have a supported database, please implement RMAN immediately, which is a beautiful piece of technology helping you to recover the entire database with moderate level of DBA skills.

regards,

rajesh

Windows 10 | CreatorsUpdate| Taskbar Volume Control

Hi guys

Microsoft started pushing Windows 10 Creators Update & one of the major bugs prevents taskbar volume control responding to mouse clicks. Ie, the user cannot control the volume using the taskbar icon.

After many attempts to re-install the drivers using Windows device manager, I had to download the Windows 8.x drivers from Dell support & the manual installation helped.

So if you are too eager to checkout the Creators Update, please be sure that many of the broken drivers could not be updated using the device manager, however using manufacturer provided driver packages. You can download the drivers for Windows 8.x & unzip the packages using 7-Zip and point to the extracted location incase if the package says it cannot install by normal terms.

Hope this helps few out there!

regards,

rajesh

Batch file for FTP

Hi guys

We’ve a legacy application for our Bahrain operations and after a disastrous hardware failure we wanted to find a cost effective method to bring the database dumps to Kuwait for regular health checks.

Options in front of us were pretty limited. The business in Bahrain only had a basic internet connection(dial-up DSL) without static IP address, hence we were forced to workout something that is dependable. Finally we decided to FTP the dump file in compressed form after the dump export every Friday once after realizing that the total size of the compressed dump file was less than 100MB in size!

Here is the script file We’ve compiled after referring a number of blogs/tech forum visits. Please note, the methods we implement here uses passwords seen in clear text. Hence make sure that you take maximum attention while implementing our solution in your environments.

[code language=”text” gutter=”false”]
::http://blogs.msdn.com/b/oldnewthing/archive/2012/08/01/10334557.aspx
@echo off
SETLOCAL
::Get the latest dump file name, generated using exp command
for /f "tokens=*" %%a in (‘dir *.dmp /o:-d /b’) do set NEWEST=%%a&& goto :next

:next
REM echo The most recently created file is %NEWEST%
::http://stackoverflow.com/questions/15567809/batch-extract-path-and-filename-from-a-variable
FOR %%i IN ("%NEWEST%") DO (
REM ECHO filedrive=%%~di
REM ECHO filepath=%%~pi
SET ZIPNAME=%%~ni
REM ECHO fileextension=%%~xi
)

SET ZIPNAME=%ZIPNAME%.zip
::Creating ZIP file using Java Runtime
::Dump files could be huge and take hours to transfer in full size. So we will use Java RunTime Executable to create a zip file which
::Will be smaller in size
::Make sure you have JRE installed, and the installation path is set in the environment variables, if not call JRE using the full path
::eg: C:\java\jre
echo Creating Zip file for transfer, filename ""%ZIPNAME%""
::We will create the zip file without meta-info, hence the M switch is used
::jar -cfM %ZIPNAME% %NEWEST%
::Another option is to go with 7Zip, 3rd party utility that could create zip/7z files
::7z a %ZIPNAME% %NEWEST%
::Or using Windows built-in Zip utility
zip %ZIPNAME% %NEWEST%
::You can use IP address or fully qualified domain names for the FTP server
::If the FQDN is not registered, you can add an entry with your hosts file
::FTP accepts parameter files, ftp -s:parameter file, so we will create the parameter during the initial running
::Please note, the parameter file created is permanent & clear text format, hence make sure that adequate security measures are practiced
::to avoid getting sensitive details exposed.
echo open ftpservername(FQDN/IP)>ftp.txt
echo username>>ftp.txt
echo password>>ftp.txt
echo binary>>ftp.txt
echo put %ZIPNAME%>>ftp.txt
echo disconnect>>ftp.txt
echo quit>>ftp.txt

REM echo put filename2.dat >>ftp.txt
REM echo put filename3.dat >>ftp.txt
REM echo put filename4.dat >>ftp.txt
::We referred the following thread for making the batch file
::Google search keywords: pass parameter to ftp script
::http://stackoverflow.com/questions/5170627/is-it-possible-to-pass-a-variable-into-a-windows-ftp-script-file

ftp -s:ftp.txt
::Delete the zip file after transfer comples
del %ZIPNAME%

::Optionally you can use "exit" the command windows-ftp-script-file
::Exit
[/code]

and usually the ftp.txt should look like below

[code language=”text” gutter=”false”]
open ftp.myserver.com
username
password
binary
put exp_10032017.zip
disconnect
quit
[/code]

regards,

rajesh