Preheat the oven to 350 degrees.
Add butter and olive oil to a large, oven-proof pot with a lid, such as a Dutch oven, over medium-high heat until melted.
Add onions, celery, and carrots, season lightly with salt, and cook, stirring occasionally, until the vegetables are lightly browned.
Add garlic and cook, stirring often, for an additional 2 minutes.
Add the ham shank to the pot and pour in chicken stock, season with black pepper and a pinch of salt.
Bring to a low boil, cover, and place in the oven. Bake at 350 degrees for 2-1/2 hours or until the meat is fork-tender and falls off the bone.
Remove the pork from the pan and let it cool for a few minutes.
Meanwhile, strain the vegetables from the stock and return the stock to the pot.
Add the beans and rice and bring to a simmer.
Taste for seasoning and adjust with salt and pepper as needed, keeping in mind that the ham is quite salty.
Remove the ham from the bones and chop or shred it with two forks.
Place the rice on four plates and top each serving with an equal amount of chopped ham.
Serve immediately.