D Creating an Appliance Using JSON File

Understand the process to create an appliance using the command odacli create-appliance and view an example JSON file.

Loading and Saving Appliance Configurations

You can load a saved JSON file and use it to configure your appliance, and save an existing configuration as a JSON file from the Web Console.

Using a Saved Configuration to Create a New Appliance in the Web Console

You can load a saved configuration from your client machine, and create a new appliance.

  1. Log into the Web Console.

  2. In the Create Appliance page, click Browse next to Load Configuration.

  3. Select the JSON file from the local machine, being used to access the Web Console.

  4. The appliance configuration values from the JSON file are populated in the fields on the Create Appliance page.

  5. Make any changes required, and submit the request to create the appliance

    Note that for security requirements, you must enter passwords manually.

Saving an Appliance Configuration from the Web Console

You can save an appliance configuration and use it to create another appliance.

  1. Log into the Web Console.

  2. If you have already configured your appliance, then in the Create Appliance page, click Save Configuration.

  3. The configuration is saved as a JSON file on the local machine, being used to access the Web Console.

Readme for the Command odacli create-appliance

If you want to create the appliance outside of the Web Console, then review the readme file for details on how to create a JSON file to use with the command-line interface.

You can use the command odacli create-appliance and a JSON file that includes your appliance configuration settings to deploy the appliance instead of using the Web Console.

Note:

It is important to review the readme and the examples carefully before creating your JSON file. If you do not enter your network and Oracle ILOM information correctly based on your setup, you will lose network access to both the host and Oracle ILOM.

Readme

The readme is located in the /opt/oracle/dcs/sample directory. Review the readme carefully along with the provided JSON example files. Create a JSON file with the necessary changes based on your environment and requirements.

Example JSON Files to Create a Single Node Appliance with the CLI

Follow these JSON file examples to create a JSON file to deploy a single node appliance with the command odacli create-appliance.

Use the example JSON files and the information located in the readme as a template to create a file for your environment. Examples and the readme are located in the /opt/oracle/dcs/sample directory.

Note:

If you do not enter your network and Oracle ILOM information correctly based on your setup, then network access is lost to both the host and Oracle ILOM.

When using the example to create your JSON file, change the definitions to match your environment. The password must meet password requirements.

Example D-1 JSON File to Create a Single Node Oracle Database Appliance with Role Separation

The following is an example of a JSON file that creates a single node appliance on Oracle Database Appliance. The example uses role separation.

    {
  "instance" : {
    "name" : "odambox",
    "instanceBaseName" : "odambox-c",
    "dbEdition" : "EE",
    "timeZone" : "UTC",
    "ntpServers" : ["10.0.3.14"],
    "dnsServers" : ["10.0.4.10","10.0.4.11","10.0.4.12"],
    "domainName" : "example.com",
    "isRoleSeparated" : true,
    "osUserGroup" : {
      "groups" : [ {
        "groupId" : 1001,
        "groupName" : "oinstall",
        "groupRole" : "oinstall"
      }, {
        "groupId" : 1002,
        "groupName" : "dbaoper",
        "groupRole" : "dbaoper"
      }, {
        "groupId" : 1003,
        "groupName" : "dba",
        "groupRole" : "dba"
      }, {
        "groupId" : 1004,
        "groupName" : "asmadmin",
        "groupRole" : "asmadmin"
      }, {
        "groupId" : 1005,
        "groupName" : "asmoper",
        "groupRole" : "asmoper"
      }, {
        "groupId" : 1006,
        "groupName" : "asmdba",
        "groupRole" : "asmdba"
      } ],
      "users" : [ {
        "userId" : 1000,
        "userName" : "oracle",
        "userRole" : "oracleUser"
      }, {
        "userId" : 1001,
        "userName" : "grid",
        "userRole" : "gridUser"
      } ]
    }
  },
  "nodes" : [ {
    "nodeNumber" : "0",
    "nodeName" : "odambox",
    "network" : [ {
       "nicName" : "btbond1",
       "ipAddress" : "10.0.1.11",
       "subNetMask" : "255.255.240.0",
       "gateway" : "10.0.0.1",
       "networkType" : [ "Public" ],
       "isDefaultNetwork" : true
      },
    ],
    "ilom" : {
      "ilomName":"odambox-c",
      "ipAddress":"10.0.2.10",
      "subNetMask":"255.255.240.0",
      "gateway":"10.0.0.1"
     }
  } ],
  "grid" : {
    "diskGroup" : [ {
      "diskGroupName" : "DATA",
      "redundancy" : "NORMAL",
      "diskPercentage" :80
    }, {
      "diskGroupName" : "RECO",
      "redundancy" : "NORMAL",
      "diskPercentage" :20
    } ],
  "scan" : {
     "scanName":"odambox-scan",
     "ipAddresses":[ 
	"10.0.1.11"
     ]
    },
  "vip":[ 
     { 
	"nodeNumber":"0",
	"vipName":"odambox-vip",
	"ipAddress":"10.0.1.11"
     }
    ],
    "language" : "en",
    "enableAFD":"TRUE"
  },
  "database" : {
    "dbName" : "myTestDb",
    "databaseUniqueName":"myTestDb_sea1kj",
    "dbEdition" : "EE",
    "dbVersion" : "12.2.0.1",
    "dbHomeId":null,
    "instanceOnly" : false,
    "isCdb" : true,
    "pdBName" : "pdb1",
    "pdbAdminuserName" : "pdbuser",
    "enableTDE":true,
    "adminPassword" : "password",
    "dbType" : "SI",
    "dbTargetNodeNumber" : null,
    "dbClass" : "OLTP",
    "dbShape" : "odb1",
    "dbStorage" : "ACFS",
    "dbCharacterSet" : {
      "characterSet" : "AL32UTF8",
      "nlsCharacterset" : "AL16UTF16",
      "dbTerritory" : "AMERICA",
      "dbLanguage" : "AMERICAN"
    },
    "dbConsoleEnable" : false,
    "backupConfigId":null,
    "rmanBkupPassword": null
  },
  "asr" :{
    "asrType": "INTERNAL",
    "userName":"john.smith@example.com",
    "password":"password",
    "proxyServerName":"www-proxy.example.com",
    "proxyPort":"80",
    "proxyUserName":"proxy-user",
    "proxyPassword":"proxy-password",
    "snmpVersion":"v2"
  }
}

Example D-2 JSON File to Create a Single Node Oracle Database Appliance without Role Separation

The following is an example of a JSON file that creates an Oracle Database Appliance without using role separation. This example creates two groups (oinstall and dba) and one user ("oracle").

{
  "instance" : {
    "name" : "odambox",
    "instanceBaseName" : "odambox-c",
    "dbEdition" : "EE",
    "timeZone" : "UTC",
    "ntpServers" : ["10.0.3.14"],
    "dnsServers" : ["10.0.4.10","10.0.4.11","10.0.4.12"],
    "domainName" : "example.com",
    "isRoleSeparated" : false,
    "osUserGroup" : {
      "groups" : [ {
        "groupId" : 1001,
        "groupName" : "oinstall",
        "groupRole" : "oinstall"
      }, {
        "groupId" : 1002,
        "groupName" : "dba",
        "groupRole" : "dba"
      } ],
     "users" : [ {
        "userId" : 1000,
        "userName" : "oracle",
        "userRole" : "oracleUser"
      } ]
    }
  },
  "nodes" : [ {
    "nodeNumber" : "0",
    "nodeName" : "odambox",
    "network" : [ {
       "nicName" : "btbond1",
       "ipAddress" : "10.0.1.11",
       "subNetMask" : "255.255.240.0",
       "gateway" : "10.0.0.1",
       "networkType" : [ "Public" ],
       "isDefaultNetwork" : true
      },
    ],
    "ilom" : {
      "ilomName":"odambox-c",
      "ipAddress":"10.0.2.10",
      "subNetMask":"255.255.240.0",
      "gateway":"10.0.0.1"
     }
  } ],
  "grid" : {
    "diskGroup" : [ {
      "diskGroupName" : "DATA",
      "redundancy" : "NORMAL",
      "diskPercentage" :80
    }, {
      "diskGroupName" : "RECO",
      "redundancy" : "NORMAL",
      "diskPercentage" :20
    } ],
  "scan" : {
     "scanName":"odambox-scan",
     "ipAddresses":[ 
	"10.0.1.11"
     ]
    },
  "vip":[ 
     { 
	"nodeNumber":"0",
	"vipName":"odambox-vip",
	"ipAddress":"10.0.1.11"
     }
    ],
    "language" : "en",
    "enableAFD":"TRUE"
  },
  "database" : {
    "dbName" : "myTestDb",
    "databaseUniqueName":"myTestDb_sea1kj",
    "dbEdition" : "EE",
    "dbVersion" : "12.2.0.1",
    "dbHomeId":null,
    "instanceOnly" : false,
    "isCdb" : true,
    "pdBName" : "pdb1",
    "pdbAdminuserName" : "pdbuser",
    "enableTDE":true,
    "adminPassword" : "password",
    "dbType" : "SI",
    "dbTargetNodeNumber" : null,
    "dbClass" : "OLTP",
    "dbShape" : "odb1",
    "dbStorage" : "ACFS",
    "dbCharacterSet" : {
      "characterSet" : "AL32UTF8",
      "nlsCharacterset" : "AL16UTF16",
      "dbTerritory" : "AMERICA",
      "dbLanguage" : "AMERICAN"
    },
    "dbConsoleEnable" : false,
    "backupConfigId":null,
    "rmanBkupPassword": null
  },
  "asr" :{
    "asrType": "INTERNAL",
    "userName":"john.smith@example.com",
    "password":"password",
    "proxyServerName":"www-proxy.example.com",
    "proxyPort":"80",
    "proxyUserName":"proxy-user",
    "proxyPassword":"proxy-password",
    "snmpVersion":"v2"
  }
}

Example JSON File to Create a Multi-Node Appliance with the CLI

Follow the JSON file example to create a JSON file to deploy a multi-node appliance with the command odacli create-appliance.

Use the example JSON files and the information located in the readme as a template to create a file for your environment. Examples and the readme are located in the /opt/oracle/dcs/sample directory.

Note:

It is important to review the readme and the examples carefully before creating your JSON file. If you do not enter your network and Oracle ILOM information correctly based on your setup, then network access is lost to both the host and Oracle ILOM.

Example D-3 JSON File to Create a Multi-Node Oracle Database Appliance with Role Separation

The following is an example of a JSON file that creates a multi-node appliance on Oracle Database Appliance bare metal platform. The example uses role separation. When using the example to create your JSON file, change the definitions to match your environment. The password must meet password requirements.

{ 
   "instance":{ 
      "name":"odahabox",
      "instanceBaseName":"odahabox",
      "dbEdition":"EE",
      "timeZone":"UTC",
      "ntpServers" : ["10.0.3.14"],
      "dnsServers" : ["10.0.4.10","10.0.4.11","10.0.4.12"],
      "domainName":"example.com",
      "isRoleSeparated":true,
      "osUserGroup":{ 
         "groups":[ 
            { 
               "groupId":1001,
               "groupName":"oinstall",
               "groupRole":"oinstall"
            },
            { 
               "groupId":1002,
               "groupName":"dbaoper",
               "groupRole":"dbaoper"
            },
            { 
               "groupId":1003,
               "groupName":"dba",
               "groupRole":"dba"
            },
            { 
               "groupId":1004,
               "groupName":"asmadmin",
               "groupRole":"asmadmin"
            },
            { 
               "groupId":1005,
               "groupName":"asmoper",
               "groupRole":"asmoper"
            },
            { 
               "groupId":1006,
               "groupName":"asmdba",
               "groupRole":"asmdba"
            }
         ],
         "users":[ 
            { 
               "userId":101,
               "userName":"grid",
               "userRole":"gridUser"
            },
            { 
               "userId":102,
               "userName":"oracle",
               "userRole":"oracleUser"
            }
         ]
      },
      "objectStoreCredentials":null
   },
   "nodes":[ 
      { 
         "nodeNumber":"0",
         "nodeName":"odahaboxc1n2",
         "network":[ 
            { 
               "nicName":"btbond1",
               "ipAddress":"10.31.98.133",
               "subNetMask":"255.255.240.0",
               "gateway":"10.31.96.1",
               "networkType":[ 
                  "Public"
               ],
               "isDefaultNetwork":true
            }
         ],
         "ilom":{ 
            "ilomName":"odahabox2-c",
            "ipAddress":"10.31.16.140",
            "subNetMask":"255.255.240.0",
            "gateway":"10.31.16.1"
         }
      },
      { 
         "nodeNumber":"1",
         "nodeName":"odahaboxc1n1",
         "network":[ 
            { 
               "nicName":"btbond1",
               "ipAddress":"10.31.98.132",
               "subNetMask":"255.255.240.0",
               "gateway":"10.31.96.1",
               "networkType":[ 
                  "Public"
               ],
               "isDefaultNetwork":true
            }
         ],
         "ilom":{ 
            "ilomName":"odahabox1-c",
            "ipAddress":"10.31.16.139",
            "subNetMask":"255.255.240.0",
            "gateway":"10.31.16.1"
         }
      }
   ],
   "grid":{ 
      "diskGroup":[ 
         { 
            "diskGroupName":"DATA",
            "redundancy":"HIGH",
            "diskPercentage":80
         },
         { 
            "diskGroupName":"RECO",
            "redundancy":"HIGH",
            "diskPercentage":20
         },
         { 
            "diskGroupName":"REDO",
            "redundancy":"HIGH",
            "diskPercentage":null
         }
      ],
      "scan":{ 
         "scanName":"odahaboxc1-scan",
         "ipAddresses":[ 
            "10.31.98.182",
            "10.31.98.183"
         ]
      },
      "vip":[ 
         { 
            "nodeNumber":"0",
            "vipName":"odahaboxc1n2-vip",
            "ipAddress":"10.31.98.159"
         },
         { 
            "nodeNumber":"1",
            "vipName":"odahaboxc1n1-vip",
            "ipAddress":"10.31.98.158"
         }
      ],
      "language":"en",
      "enableAFD":"TRUE"
   },
   "database":{ 
      "dbName":"myTestDb",
      "databaseUniqueName":"myTestDb_sea1kj",
      "dbVersion":"12.2.0.1",
      "dbHomeId":null,
      "instanceOnly":false,
      "isCdb":true,
      "pdBName":"pdb1",
      "pdbAdminuserName":"pdbuser",
      "enableTDE":true,
      "adminPassword":"password",
      "dbType":"RAC",
      "dbTargetNodeNumber":null,
      "dbClass":"OLTP",
      "dbShape":"odb1",
      "dbStorage":"ACFS",
      "dbCharacterSet":{ 
         "characterSet":"AL32UTF8",
         "nlsCharacterset":"AL16UTF16",
         "dbTerritory":"AMERICA",
         "dbLanguage":"AMERICAN"
      },
      "dbConsoleEnable":false,
      "backupConfigId":null
   },
   "asr":null
}